summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
Diffstat (limited to 'data')
-rw-r--r--data/battle_ai_scripts.s4916
-rw-r--r--data/event_scripts.s92
-rw-r--r--data/maps/CeladonCity_Condominiums_RoofRoom/scripts.inc12
-rw-r--r--data/maps/CeladonCity_GameCorner_PrizeRoom/scripts.inc14
-rw-r--r--data/maps/CinnabarIsland/map.json14
-rw-r--r--data/maps/CinnabarIsland/scripts.inc233
-rw-r--r--data/maps/CinnabarIsland/text.inc24
-rw-r--r--data/maps/CinnabarIsland_Gym/map.json48
-rw-r--r--data/maps/CinnabarIsland_Gym/scripts.inc684
-rw-r--r--data/maps/CinnabarIsland_Gym/text.inc88
-rw-r--r--data/maps/CinnabarIsland_Mart/map.json6
-rw-r--r--data/maps/CinnabarIsland_Mart/scripts.inc14
-rw-r--r--data/maps/CinnabarIsland_Mart/text.inc4
-rw-r--r--data/maps/CinnabarIsland_PokemonCenter_1F/map.json14
-rw-r--r--data/maps/CinnabarIsland_PokemonCenter_1F/scripts.inc60
-rw-r--r--data/maps/CinnabarIsland_PokemonCenter_1F/text.inc12
-rw-r--r--data/maps/CinnabarIsland_PokemonLab_Entrance/map.json10
-rw-r--r--data/maps/CinnabarIsland_PokemonLab_Entrance/scripts.inc24
-rw-r--r--data/maps/CinnabarIsland_PokemonLab_Entrance/text.inc12
-rw-r--r--data/maps/CinnabarIsland_PokemonLab_ExperimentRoom/map.json4
-rw-r--r--data/maps/CinnabarIsland_PokemonLab_ExperimentRoom/scripts.inc310
-rw-r--r--data/maps/CinnabarIsland_PokemonLab_ExperimentRoom/text.inc24
-rw-r--r--data/maps/CinnabarIsland_PokemonLab_Lounge/map.json6
-rw-r--r--data/maps/CinnabarIsland_PokemonLab_Lounge/scripts.inc46
-rw-r--r--data/maps/CinnabarIsland_PokemonLab_Lounge/text.inc2
-rw-r--r--data/maps/CinnabarIsland_PokemonLab_ResearchRoom/map.json6
-rw-r--r--data/maps/CinnabarIsland_PokemonLab_ResearchRoom/scripts.inc12
-rw-r--r--data/maps/CinnabarIsland_PokemonLab_ResearchRoom/text.inc6
-rw-r--r--data/maps/PalletTown_ProfessorOaksLab/scripts.inc2
-rw-r--r--data/maps/Route11_EastEntrance_2F/scripts.inc10
-rw-r--r--data/maps/Route18_EastEntrance_2F/scripts.inc10
-rw-r--r--data/maps/Route2_House/scripts.inc10
-rw-r--r--data/maps/Route4_PokemonCenter_1F/scripts.inc10
-rw-r--r--data/maps/SaffronCity_Dojo/scripts.inc12
-rw-r--r--data/maps/SilphCo_7F/scripts.inc12
-rw-r--r--data/maps/UndergroundPath_NorthEntrance/scripts.inc10
-rw-r--r--data/naming_screen.s8
-rw-r--r--data/scripts/fame_checker.inc8
-rw-r--r--data/scripts/pc_transfer.inc46
-rw-r--r--data/strings.s6
-rw-r--r--data/text/fame_checker.inc2
-rw-r--r--data/text/ingame_trade.inc20
-rw-r--r--data/text/pc_transfer.inc39
-rw-r--r--data/union_room.s1571
44 files changed, 3521 insertions, 4952 deletions
diff --git a/data/battle_ai_scripts.s b/data/battle_ai_scripts.s
index 09cc3cfb2..cfbef4ec2 100644
--- a/data/battle_ai_scripts.s
+++ b/data/battle_ai_scripts.s
@@ -1,13 +1,23 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
+#include "constants/battle.h"
+#include "constants/battle_ai.h"
+#include "constants/abilities.h"
+#include "constants/items.h"
+#include "constants/moves.h"
+#include "constants/battle_move_effects.h"
+#include "constants/hold_effects.h"
+#include "constants/pokemon.h"
.include "asm/macros/battle_ai_script.inc"
.section script_data, "aw", %progbits
+@ The FRLG scripts are improved subtly by Emerald in a few places
+@ To make adding these improvements easier they are commented and tagged with "Improvement in Emerald"
+@ Emerald also adds a few entirely new AI commands (mostly to expand Double Battle AI), which are not included
+
gBattleAI_ScriptsTable:: @ 81D9BF4
.4byte AI_CheckBadMove
- .4byte AI_TryToFaint
.4byte AI_CheckViability
+ .4byte AI_TryToFaint
.4byte AI_SetupFirstTurn
.4byte AI_Risky
.4byte AI_PreferStrongestMove
@@ -39,3087 +49,3209 @@ gBattleAI_ScriptsTable:: @ 81D9BF4
.4byte AI_FirstBattle
AI_CheckBadMove:: @ 81D9C74
- is_most_powerful_move
- if_equal 0, AI_sub_81D9CE0
- if_damage_bonus 0, AI_sub_81DA433
- get_ability 0
- if_equal 10, AI_sub_81D9CA6
- if_equal 11, AI_sub_81D9CB3
- if_equal 18, AI_sub_81D9CC0
- if_equal 25, AI_sub_81D9CCD
- if_equal 26, AI_sub_81D9CD8
- jump AI_sub_81D9CE0
-
-AI_sub_81D9CA6:: @ 81D9CA6
- get_type 4
- if_arg_equal 13, AI_sub_81DA436
- jump AI_sub_81D9CE0
-
-AI_sub_81D9CB3:: @ 81D9CB3
- get_type 4
- if_arg_equal 11, AI_sub_81DA436
- jump AI_sub_81D9CE0
-
-AI_sub_81D9CC0:: @ 81D9CC0
- get_type 4
- if_arg_equal 10, AI_sub_81DA436
- jump AI_sub_81D9CE0
-
-AI_sub_81D9CCD:: @ 81D9CCD
- if_damage_bonus 80, AI_sub_81D9CE0
- jump AI_sub_81DA433
-
-AI_sub_81D9CD8:: @ 81D9CD8
- get_type 4
- if_arg_equal 4, AI_sub_81DA433
-
-AI_sub_81D9CE0:: @ 81D9CE0
- get_ability 0
- if_not_equal 43, AI_sub_81D9D27
- if_move 45, AI_sub_81DA433
- if_move 46, AI_sub_81DA433
- if_move 47, AI_sub_81DA433
- if_move 48, AI_sub_81DA433
- if_move 103, AI_sub_81DA433
- if_move 173, AI_sub_81DA433
- if_move 253, AI_sub_81DA433
- if_move 319, AI_sub_81DA433
- if_move 320, AI_sub_81DA433
-
-AI_sub_81D9D27:: @ 81D9D27
- if_effect 1, AI_sub_81D9FB6
- if_effect 7, AI_sub_81D9FCF
- if_effect 8, AI_sub_81DA008
- if_effect 10, AI_sub_81DA020
- if_effect 11, AI_sub_81DA029
- if_effect 12, AI_sub_81DA032
- if_effect 13, AI_sub_81DA03B
- if_effect 14, AI_sub_81DA044
- if_effect 15, AI_sub_81DA04D
- if_effect 16, AI_sub_81DA056
- if_effect 18, AI_sub_81DA05F
- if_effect 19, AI_sub_81DA074
- if_effect 20, AI_sub_81DA081
- if_effect 21, AI_sub_81DA08E
- if_effect 22, AI_sub_81DA09B
- if_effect 23, AI_sub_81DA0A8
- if_effect 24, AI_sub_81DA0BD
- if_effect 25, AI_sub_81DA0D4
- if_effect 26, AI_sub_81DA1B2
- if_effect 28, AI_sub_81DA14A
- if_effect 33, AI_sub_81DA15B
- if_effect 35, AI_sub_81DA18A
- if_effect 38, AI_sub_81DA195
- if_effect 39, AI_sub_81DA1B2
- if_effect 40, AI_sub_81DA1B2
- if_effect 46, AI_sub_81DA1CC
- if_effect 47, AI_sub_81DA1D7
- if_effect 49, AI_sub_81DA1E2
- if_effect 50, AI_sub_81DA020
- if_effect 51, AI_sub_81DA029
- if_effect 52, AI_sub_81DA032
- if_effect 53, AI_sub_81DA03B
- if_effect 54, AI_sub_81DA044
- if_effect 55, AI_sub_81DA04D
- if_effect 56, AI_sub_81DA056
- if_effect 58, AI_sub_81DA05F
- if_effect 59, AI_sub_81DA074
- if_effect 60, AI_sub_81DA081
- if_effect 61, AI_sub_81DA08E
- if_effect 62, AI_sub_81DA09B
- if_effect 63, AI_sub_81DA0A8
- if_effect 64, AI_sub_81DA0BD
- if_effect 65, AI_sub_81DA1F5
- if_effect 66, AI_sub_81DA15B
- if_effect 67, AI_sub_81DA200
- if_effect 79, AI_sub_81DA219
- if_effect 80, AI_sub_81DA1B2
- if_effect 84, AI_sub_81DA22B
- if_effect 86, AI_sub_81DA246
- if_effect 87, AI_sub_81DA1B2
- if_effect 88, AI_sub_81DA1B2
- if_effect 89, AI_sub_81DA1B2
- if_effect 90, AI_sub_81DA24E
- if_effect 92, AI_sub_81DA256
- if_effect 97, AI_sub_81DA256
- if_effect 99, AI_sub_81DA1B2
- if_effect 106, AI_sub_81DA261
- if_effect 107, AI_sub_81D9FF3
- if_effect 108, AI_sub_81DA056
- if_effect 109, AI_sub_81DA26C
- if_effect 112, AI_sub_81DA27D
- if_effect 113, AI_sub_81DA288
- if_effect 114, AI_sub_81DA293
- if_effect 115, AI_sub_81DA29E
- if_effect 118, AI_sub_81DA1E2
- if_effect 120, AI_sub_81DA2A6
- if_effect 121, AI_sub_81DA1B2
- if_effect 122, AI_sub_81DA1B2
- if_effect 123, AI_sub_81DA1B2
- if_effect 124, AI_sub_81DA2E6
- if_effect 126, AI_sub_81DA1AA
- if_effect 127, AI_sub_81DA301
- if_effect -126, AI_sub_81DA1B2
- if_effect -120, AI_sub_81DA30A
- if_effect -119, AI_sub_81DA312
- if_effect -114, AI_sub_81DA019
- if_effect -113, AI_sub_81DA0D4
- if_effect -112, AI_sub_81DA1B2
- if_effect -111, AI_sub_81DA1B2
- if_effect -108, AI_sub_81DA31A
- if_effect -103, AI_sub_81DA433
- if_effect -100, AI_sub_81DA029
- if_effect -98, AI_sub_81DA325
- if_effect -96, AI_sub_81DA32E
- if_effect -95, AI_sub_81DA337
- if_effect -94, AI_sub_81DA337
- if_effect -92, AI_sub_81DA346
- if_effect -91, AI_sub_81DA34E
- if_effect -90, AI_sub_81DA1E2
- if_effect -89, AI_sub_81DA359
- if_effect -88, AI_sub_81DA2F1
- if_effect -86, AI_sub_81DA1B2
- if_effect -80, AI_sub_81DA37E
- if_effect -79, AI_sub_81DA386
- if_effect -75, AI_sub_81DA38F
- if_effect -74, AI_sub_81DA1B2
- if_effect -72, AI_sub_81DA39A
- if_effect -68, AI_sub_81DA386
- if_effect -67, AI_sub_81DA1B2
- if_effect -64, AI_sub_81DA3A3
- if_effect -63, AI_sub_81DA3AE
- if_effect -60, AI_sub_81DA1B2
- if_effect -55, AI_sub_81DA3B9
- if_effect -51, AI_sub_81DA3C4
- if_effect -50, AI_sub_81DA3D5
- if_effect -48, AI_sub_81DA3E6
- if_effect -46, AI_sub_81DA3F7
- if_effect -45, AI_sub_81DA402
- if_effect -44, AI_sub_81DA413
- end
-
-AI_sub_81D9FB6:: @ 81D9FB6
- get_ability 0
- if_equal 15, AI_sub_81DA433
- if_equal 72, AI_sub_81DA433
- if_status 0, 255, AI_sub_81DA433
- end
-
-AI_sub_81D9FCF:: @ 81D9FCF
- if_damage_bonus 0, AI_sub_81DA433
- get_ability 0
- if_equal 6, AI_sub_81DA433
- count_alive_pokemon 1
- if_not_equal 0, AI_sub_81D9FF2
- count_alive_pokemon 0
- if_not_equal 0, AI_sub_81DA433
- jump AI_sub_81DA424
-
-AI_sub_81D9FF2:: @ 81D9FF2
- end
-
-AI_sub_81D9FF3:: @ 81D9FF3
- if_status2 0, 0x8000000, AI_sub_81DA433
- if_not_status 0, 7, AI_sub_81DA430
- end
-
-AI_sub_81DA008:: @ 81DA008
- if_not_status 0, 7, AI_sub_81DA430
- if_damage_bonus 0, AI_sub_81DA433
- end
-
-AI_sub_81DA019:: @ 81DA019
- if_hp_less_than 1, 51, AI_sub_81DA433
-
-AI_sub_81DA020:: @ 81DA020
- if_stat_level_equal 1, 1, 12, AI_sub_81DA433
- end
-
-AI_sub_81DA029:: @ 81DA029
- if_stat_level_equal 1, 2, 12, AI_sub_81DA433
- end
-
-AI_sub_81DA032:: @ 81DA032
- if_stat_level_equal 1, 3, 12, AI_sub_81DA433
- end
-
-AI_sub_81DA03B:: @ 81DA03B
- if_stat_level_equal 1, 4, 12, AI_sub_81DA433
- end
-
-AI_sub_81DA044:: @ 81DA044
- if_stat_level_equal 1, 5, 12, AI_sub_81DA433
- end
-
-AI_sub_81DA04D:: @ 81DA04D
- if_stat_level_equal 1, 6, 12, AI_sub_81DA433
- end
-
-AI_sub_81DA056:: @ 81DA056
- if_stat_level_equal 1, 7, 12, AI_sub_81DA433
- end
-
-AI_sub_81DA05F:: @ 81DA05F
- if_stat_level_equal 0, 1, 0, AI_sub_81DA433
- get_ability 0
- if_equal 52, AI_sub_81DA433
- jump AI_sub_81DA0C5
+@ if_move MOVE_FISSURE, AI_CBM_CheckIfNegatesType @ Improvement in Emerald
+@ if_move MOVE_HORN_DRILL, AI_CBM_CheckIfNegatesType
+ get_how_powerful_move_is
+ if_equal MOVE_POWER_DISCOURAGED, AI_CheckBadMove_CheckSoundproof
+
+AI_CBM_CheckIfNegatesType::
+ if_type_effectiveness AI_EFFECTIVENESS_x0, Score_Minus10
+ get_ability AI_TARGET
+ if_equal ABILITY_VOLT_ABSORB, CheckIfVoltAbsorbCancelsElectric
+ if_equal ABILITY_WATER_ABSORB, CheckIfWaterAbsorbCancelsWater
+ if_equal ABILITY_FLASH_FIRE, CheckIfFlashFireCancelsFire
+ if_equal ABILITY_WONDER_GUARD, CheckIfWonderGuardCancelsMove
+ if_equal ABILITY_LEVITATE, CheckIfLevitateCancelsGroundMove
+ goto AI_CheckBadMove_CheckSoundproof
+
+CheckIfVoltAbsorbCancelsElectric:: @ 81D9CA6
+ get_curr_move_type
+ if_equal_ TYPE_ELECTRIC, Score_Minus12
+ goto AI_CheckBadMove_CheckSoundproof
+
+CheckIfWaterAbsorbCancelsWater:: @ 81D9CB3
+ get_curr_move_type
+ if_equal_ TYPE_WATER, Score_Minus12
+ goto AI_CheckBadMove_CheckSoundproof
+
+CheckIfFlashFireCancelsFire:: @ 81D9CC0
+ get_curr_move_type
+ if_equal_ TYPE_FIRE, Score_Minus12
+ goto AI_CheckBadMove_CheckSoundproof
+
+CheckIfWonderGuardCancelsMove:: @ 81D9CCD
+ if_type_effectiveness AI_EFFECTIVENESS_x2, AI_CheckBadMove_CheckSoundproof
+ goto Score_Minus10
+
+CheckIfLevitateCancelsGroundMove:: @ 81D9CD8
+ get_curr_move_type
+ if_equal_ TYPE_GROUND, Score_Minus10
+
+AI_CheckBadMove_CheckSoundproof:: @ 81D9CE0
+ get_ability AI_TARGET
+ if_not_equal ABILITY_SOUNDPROOF, AI_CheckBadMove_CheckEffect
+ if_move MOVE_GROWL, Score_Minus10
+ if_move MOVE_ROAR, Score_Minus10
+ if_move MOVE_SING, Score_Minus10
+ if_move MOVE_SUPERSONIC, Score_Minus10
+ if_move MOVE_SCREECH, Score_Minus10
+ if_move MOVE_SNORE, Score_Minus10
+ if_move MOVE_UPROAR, Score_Minus10
+ if_move MOVE_METAL_SOUND, Score_Minus10
+ if_move MOVE_GRASS_WHISTLE, Score_Minus10
+
+AI_CheckBadMove_CheckEffect:: @ 81D9D27
+ if_effect EFFECT_SLEEP, AI_CBM_Sleep
+ if_effect EFFECT_EXPLOSION, AI_CBM_Explosion
+ if_effect EFFECT_DREAM_EATER, AI_CBM_DreamEater
+ if_effect EFFECT_ATTACK_UP, AI_CBM_AttackUp
+ if_effect EFFECT_DEFENSE_UP, AI_CBM_DefenseUp
+ if_effect EFFECT_SPEED_UP, AI_CBM_SpeedUp
+ if_effect EFFECT_SPECIAL_ATTACK_UP, AI_CBM_SpAtkUp
+ if_effect EFFECT_SPECIAL_DEFENSE_UP, AI_CBM_SpDefUp
+ if_effect EFFECT_ACCURACY_UP, AI_CBM_AccUp
+ if_effect EFFECT_EVASION_UP, AI_CBM_EvasionUp
+ if_effect EFFECT_ATTACK_DOWN, AI_CBM_AttackDown
+ if_effect EFFECT_DEFENSE_DOWN, AI_CBM_DefenseDown
+ if_effect EFFECT_SPEED_DOWN, AI_CBM_SpeedDown
+ if_effect EFFECT_SPECIAL_ATTACK_DOWN, AI_CBM_SpAtkDown
+ if_effect EFFECT_SPECIAL_DEFENSE_DOWN, AI_CBM_SpDefDown
+ if_effect EFFECT_ACCURACY_DOWN, AI_CBM_AccDown
+ if_effect EFFECT_EVASION_DOWN, AI_CBM_EvasionDown
+ if_effect EFFECT_HAZE, AI_CBM_Haze
+ if_effect EFFECT_BIDE, AI_CBM_HighRiskForDamage
+ if_effect EFFECT_ROAR, AI_CBM_Roar
+ if_effect EFFECT_TOXIC, AI_CBM_Poison
+ if_effect EFFECT_LIGHT_SCREEN, AI_CBM_LightScreen
+ if_effect EFFECT_OHKO, AI_CBM_OneHitKO
+ if_effect EFFECT_RAZOR_WIND, AI_CBM_HighRiskForDamage
+ if_effect EFFECT_SUPER_FANG, AI_CBM_HighRiskForDamage
+ if_effect EFFECT_MIST, AI_CBM_Mist
+ if_effect EFFECT_FOCUS_ENERGY, AI_CBM_FocusEnergy
+ if_effect EFFECT_CONFUSE, AI_CBM_Confuse
+ if_effect EFFECT_ATTACK_UP_2, AI_CBM_AttackUp
+ if_effect EFFECT_DEFENSE_UP_2, AI_CBM_DefenseUp
+ if_effect EFFECT_SPEED_UP_2, AI_CBM_SpeedUp
+ if_effect EFFECT_SPECIAL_ATTACK_UP_2, AI_CBM_SpAtkUp
+ if_effect EFFECT_SPECIAL_DEFENSE_UP_2, AI_CBM_SpDefUp
+ if_effect EFFECT_ACCURACY_UP_2, AI_CBM_AccUp
+ if_effect EFFECT_EVASION_UP_2, AI_CBM_EvasionUp
+ if_effect EFFECT_ATTACK_DOWN_2, AI_CBM_AttackDown
+ if_effect EFFECT_DEFENSE_DOWN_2, AI_CBM_DefenseDown
+ if_effect EFFECT_SPEED_DOWN_2, AI_CBM_SpeedDown
+ if_effect EFFECT_SPECIAL_ATTACK_DOWN_2, AI_CBM_SpAtkDown
+ if_effect EFFECT_SPECIAL_DEFENSE_DOWN_2, AI_CBM_SpDefDown
+ if_effect EFFECT_ACCURACY_DOWN_2, AI_CBM_AccDown
+ if_effect EFFECT_EVASION_DOWN_2, AI_CBM_EvasionDown
+ if_effect EFFECT_REFLECT, AI_CBM_Reflect
+ if_effect EFFECT_POISON, AI_CBM_Poison
+ if_effect EFFECT_PARALYZE, AI_CBM_Paralyze
+ if_effect EFFECT_SUBSTITUTE, AI_CBM_Substitute
+ if_effect EFFECT_RECHARGE, AI_CBM_HighRiskForDamage
+ if_effect EFFECT_LEECH_SEED, AI_CBM_LeechSeed
+ if_effect EFFECT_DISABLE, AI_CBM_Disable
+ if_effect EFFECT_LEVEL_DAMAGE, AI_CBM_HighRiskForDamage
+ if_effect EFFECT_PSYWAVE, AI_CBM_HighRiskForDamage
+ if_effect EFFECT_COUNTER, AI_CBM_HighRiskForDamage
+ if_effect EFFECT_ENCORE, AI_CBM_Encore
+ if_effect EFFECT_SNORE, AI_CBM_DamageDuringSleep
+ if_effect EFFECT_SLEEP_TALK, AI_CBM_DamageDuringSleep
+ if_effect EFFECT_FLAIL, AI_CBM_HighRiskForDamage
+ if_effect EFFECT_MEAN_LOOK, AI_CBM_CantEscape
+ if_effect EFFECT_NIGHTMARE, AI_CBM_Nightmare
+ if_effect EFFECT_MINIMIZE, AI_CBM_EvasionUp
+ if_effect EFFECT_CURSE, AI_CBM_Curse
+ if_effect EFFECT_SPIKES, AI_CBM_Spikes
+ if_effect EFFECT_FORESIGHT, AI_CBM_Foresight
+ if_effect EFFECT_PERISH_SONG, AI_CBM_PerishSong
+ if_effect EFFECT_SANDSTORM, AI_CBM_Sandstorm
+ if_effect EFFECT_SWAGGER, AI_CBM_Confuse
+ if_effect EFFECT_ATTRACT, AI_CBM_Attract
+ if_effect EFFECT_RETURN, AI_CBM_HighRiskForDamage
+ if_effect EFFECT_PRESENT, AI_CBM_HighRiskForDamage
+ if_effect EFFECT_FRUSTRATION, AI_CBM_HighRiskForDamage
+ if_effect EFFECT_SAFEGUARD, AI_CBM_Safeguard
+ if_effect EFFECT_MAGNITUDE, AI_CBM_Magnitude
+ if_effect EFFECT_BATON_PASS, AI_CBM_BatonPass
+ if_effect EFFECT_SONICBOOM, AI_CBM_HighRiskForDamage
+ if_effect EFFECT_RAIN_DANCE, AI_CBM_RainDance
+ if_effect EFFECT_SUNNY_DAY, AI_CBM_SunnyDay
+ if_effect EFFECT_BELLY_DRUM, AI_CBM_BellyDrum
+ if_effect EFFECT_PSYCH_UP, AI_CBM_Haze
+ if_effect EFFECT_MIRROR_COAT, AI_CBM_HighRiskForDamage
+ if_effect EFFECT_SKULL_BASH, AI_CBM_HighRiskForDamage
+ if_effect EFFECT_FUTURE_SIGHT, AI_CBM_FutureSight
+ if_effect EFFECT_TELEPORT, Score_Minus10
+ if_effect EFFECT_DEFENSE_CURL, AI_CBM_DefenseUp
+ if_effect EFFECT_FAKE_OUT, AI_CBM_FakeOut
+ if_effect EFFECT_STOCKPILE, AI_CBM_Stockpile
+ if_effect EFFECT_SPIT_UP, AI_CBM_SpitUpAndSwallow
+ if_effect EFFECT_SWALLOW, AI_CBM_SpitUpAndSwallow
+ if_effect EFFECT_HAIL, AI_CBM_Hail
+ if_effect EFFECT_TORMENT, AI_CBM_Torment
+ if_effect EFFECT_FLATTER, AI_CBM_Confuse
+ if_effect EFFECT_WILL_O_WISP, AI_CBM_WillOWisp
+ if_effect EFFECT_MEMENTO, AI_CBM_Memento
+ if_effect EFFECT_FOCUS_PUNCH, AI_CBM_HighRiskForDamage
+ if_effect EFFECT_HELPING_HAND, AI_CBM_HelpingHand
+ if_effect EFFECT_TRICK, AI_CBM_TrickAndKnockOff
+ if_effect EFFECT_INGRAIN, AI_CBM_Ingrain
+ if_effect EFFECT_SUPERPOWER, AI_CBM_HighRiskForDamage
+ if_effect EFFECT_RECYCLE, AI_CBM_Recycle
+ if_effect EFFECT_KNOCK_OFF, AI_CBM_TrickAndKnockOff
+ if_effect EFFECT_ENDEAVOR, AI_CBM_HighRiskForDamage
+ if_effect EFFECT_IMPRISON, AI_CBM_Imprison
+ if_effect EFFECT_REFRESH, AI_CBM_Refresh
+ if_effect EFFECT_LOW_KICK, AI_CBM_HighRiskForDamage
+ if_effect EFFECT_MUD_SPORT, AI_CBM_MudSport
+ if_effect EFFECT_TICKLE, AI_CBM_Tickle
+ if_effect EFFECT_COSMIC_POWER, AI_CBM_CosmicPower
+ if_effect EFFECT_BULK_UP, AI_CBM_BulkUp
+ if_effect EFFECT_WATER_SPORT, AI_CBM_WaterSport
+ if_effect EFFECT_CALM_MIND, AI_CBM_CalmMind
+ if_effect EFFECT_DRAGON_DANCE, AI_CBM_DragonDance
+ end
+
+AI_CBM_Sleep:: @ 81D9FB6
+ get_ability AI_TARGET
+ if_equal ABILITY_INSOMNIA, Score_Minus10
+ if_equal ABILITY_VITAL_SPIRIT, Score_Minus10
+ if_status AI_TARGET, STATUS1_ANY, Score_Minus10
+@ if_side_affecting AI_TARGET, SIDE_STATUS_SAFEGUARD, Score_Minus10 @ Improvement in Emerald
+ end
+
+AI_CBM_Explosion:: @ 81D9FCF
+ if_type_effectiveness AI_EFFECTIVENESS_x0, Score_Minus10
+ get_ability AI_TARGET
+ if_equal ABILITY_DAMP, Score_Minus10
+ count_alive_pokemon AI_USER
+ if_not_equal 0, AI_CBM_Explosion_End
+ count_alive_pokemon AI_TARGET
+ if_not_equal 0, Score_Minus10
+ goto Score_Minus1
+
+AI_CBM_Explosion_End:: @ 81D9FF2
+ end
+
+AI_CBM_Nightmare:: @ 81D9FF3
+ if_status2 AI_TARGET, STATUS2_NIGHTMARE, Score_Minus10
+ if_not_status AI_TARGET, STATUS1_SLEEP, Score_Minus8
+ end
+
+AI_CBM_DreamEater:: @ 81DA008
+ if_not_status AI_TARGET, STATUS1_SLEEP, Score_Minus8
+ if_type_effectiveness AI_EFFECTIVENESS_x0, Score_Minus10
+ end
+
+AI_CBM_BellyDrum:: @ 81DA019
+ if_hp_less_than AI_USER, 51, Score_Minus10
+
+AI_CBM_AttackUp:: @ 81DA020
+ if_stat_level_equal AI_USER, STAT_ATK, 12, Score_Minus10
+ end
+
+AI_CBM_DefenseUp:: @ 81DA029
+ if_stat_level_equal AI_USER, STAT_DEF, 12, Score_Minus10
+ end
+
+AI_CBM_SpeedUp:: @ 81DA032
+ if_stat_level_equal AI_USER, STAT_SPEED, 12, Score_Minus10
+ end
+
+AI_CBM_SpAtkUp:: @ 81DA03B
+ if_stat_level_equal AI_USER, STAT_SPATK, 12, Score_Minus10
+ end
+
+AI_CBM_SpDefUp:: @ 81DA044
+ if_stat_level_equal AI_USER, STAT_SPDEF, 12, Score_Minus10
+ end
+
+AI_CBM_AccUp:: @ 81DA04D
+ if_stat_level_equal AI_USER, STAT_ACC, 12, Score_Minus10
+ end
+
+AI_CBM_EvasionUp:: @ 81DA056
+ if_stat_level_equal AI_USER, STAT_EVASION, 12, Score_Minus10
+ end
+
+AI_CBM_AttackDown:: @ 81DA05F
+ if_stat_level_equal AI_TARGET, STAT_ATK, 0, Score_Minus10
+ get_ability AI_TARGET
+ if_equal ABILITY_HYPER_CUTTER, Score_Minus10
+ goto CheckIfAbilityBlocksStatChange
-AI_sub_81DA074:: @ 81DA074
- if_stat_level_equal 0, 2, 0, AI_sub_81DA433
- jump AI_sub_81DA0C5
+AI_CBM_DefenseDown:: @ 81DA074
+ if_stat_level_equal AI_TARGET, STAT_DEF, 0, Score_Minus10
+ goto CheckIfAbilityBlocksStatChange
-AI_sub_81DA081:: @ 81DA081
- if_stat_level_equal 0, 3, 0, AI_sub_81DA433
- jump AI_sub_81DA0C5
+AI_CBM_SpeedDown:: @ 81DA081
+ if_stat_level_equal AI_TARGET, STAT_SPEED, 0, Score_Minus10
+@ get_ability AI_TARGET @ Improvement in Emerald
+@ if_equal ABILITY_SPEED_BOOST, Score_Minus10
+ goto CheckIfAbilityBlocksStatChange
-AI_sub_81DA08E:: @ 81DA08E
- if_stat_level_equal 0, 4, 0, AI_sub_81DA433
- jump AI_sub_81DA0C5
+AI_CBM_SpAtkDown:: @ 81DA08E
+ if_stat_level_equal AI_TARGET, STAT_SPATK, 0, Score_Minus10
+ goto CheckIfAbilityBlocksStatChange
-AI_sub_81DA09B:: @ 81DA09B
- if_stat_level_equal 0, 5, 0, AI_sub_81DA433
- jump AI_sub_81DA0C5
+AI_CBM_SpDefDown:: @ 81DA09B
+ if_stat_level_equal AI_TARGET, STAT_SPDEF, 0, Score_Minus10
+ goto CheckIfAbilityBlocksStatChange
-AI_sub_81DA0A8:: @ 81DA0A8
- if_stat_level_equal 0, 6, 0, AI_sub_81DA433
- get_ability 0
- if_equal 51, AI_sub_81DA433
- jump AI_sub_81DA0C5
+AI_CBM_AccDown:: @ 81DA0A8
+ if_stat_level_equal AI_TARGET, STAT_ACC, 0, Score_Minus10
+ get_ability AI_TARGET
+ if_equal ABILITY_KEEN_EYE, Score_Minus10
+ goto CheckIfAbilityBlocksStatChange
-AI_sub_81DA0BD:: @ 81DA0BD
- if_stat_level_equal 0, 7, 0, AI_sub_81DA433
+AI_CBM_EvasionDown:: @ 81DA0BD
+ if_stat_level_equal AI_TARGET, STAT_EVASION, 0, Score_Minus10
-AI_sub_81DA0C5:: @ 81DA0C5
- get_ability 0
- if_equal 29, AI_sub_81DA433
- if_equal 73, AI_sub_81DA433
+CheckIfAbilityBlocksStatChange:: @ 81DA0C5
+ get_ability AI_TARGET
+ if_equal ABILITY_CLEAR_BODY, Score_Minus10
+ if_equal ABILITY_WHITE_SMOKE, Score_Minus10
end
-AI_sub_81DA0D4:: @ 81DA0D4
- if_stat_level_less_than 1, 1, 6, AI_sub_81DA149
- if_stat_level_less_than 1, 2, 6, AI_sub_81DA149
- if_stat_level_less_than 1, 3, 6, AI_sub_81DA149
- if_stat_level_less_than 1, 4, 6, AI_sub_81DA149
- if_stat_level_less_than 1, 5, 6, AI_sub_81DA149
- if_stat_level_less_than 1, 6, 6, AI_sub_81DA149
- if_stat_level_less_than 1, 7, 6, AI_sub_81DA149
- if_stat_level_more_than 0, 1, 6, AI_sub_81DA149
- if_stat_level_more_than 0, 2, 6, AI_sub_81DA149
- if_stat_level_more_than 0, 3, 6, AI_sub_81DA149
- if_stat_level_more_than 0, 4, 6, AI_sub_81DA149
- if_stat_level_more_than 0, 5, 6, AI_sub_81DA149
- if_stat_level_more_than 0, 6, 6, AI_sub_81DA149
- if_stat_level_more_than 0, 7, 6, AI_sub_81DA149
- jump AI_sub_81DA433
+AI_CBM_Haze:: @ 81DA0D4
+ if_stat_level_less_than AI_USER, STAT_ATK, 6, AI_CBM_Haze_End
+ if_stat_level_less_than AI_USER, STAT_DEF, 6, AI_CBM_Haze_End
+ if_stat_level_less_than AI_USER, STAT_SPEED, 6, AI_CBM_Haze_End
+ if_stat_level_less_than AI_USER, STAT_SPATK, 6, AI_CBM_Haze_End
+ if_stat_level_less_than AI_USER, STAT_SPDEF, 6, AI_CBM_Haze_End
+ if_stat_level_less_than AI_USER, STAT_ACC, 6, AI_CBM_Haze_End
+ if_stat_level_less_than AI_USER, STAT_EVASION, 6, AI_CBM_Haze_End
+ if_stat_level_more_than AI_TARGET, STAT_ATK, 6, AI_CBM_Haze_End
+ if_stat_level_more_than AI_TARGET, STAT_DEF, 6, AI_CBM_Haze_End
+ if_stat_level_more_than AI_TARGET, STAT_SPEED, 6, AI_CBM_Haze_End
+ if_stat_level_more_than AI_TARGET, STAT_SPATK, 6, AI_CBM_Haze_End
+ if_stat_level_more_than AI_TARGET, STAT_SPDEF, 6, AI_CBM_Haze_End
+ if_stat_level_more_than AI_TARGET, STAT_ACC, 6, AI_CBM_Haze_End
+ if_stat_level_more_than AI_TARGET, STAT_EVASION, 6, AI_CBM_Haze_End
+ goto Score_Minus10
-AI_sub_81DA149:: @ 81DA149
+AI_CBM_Haze_End:: @ 81DA149
end
-AI_sub_81DA14A:: @ 81DA14A
- count_alive_pokemon 0
- if_equal 0, AI_sub_81DA433
- get_ability 0
- if_equal 21, AI_sub_81DA433
+AI_CBM_Roar:: @ 81DA14A
+ count_alive_pokemon AI_TARGET
+ if_equal 0, Score_Minus10
+ get_ability AI_TARGET
+ if_equal ABILITY_SUCTION_CUPS, Score_Minus10
end
-AI_sub_81DA15B:: @ 81DA15B
- get_type 0
- if_equal 8, AI_sub_81DA433
- if_equal 3, AI_sub_81DA433
- get_type 2
- if_equal 8, AI_sub_81DA433
- if_equal 3, AI_sub_81DA433
- get_ability 0
- if_equal 17, AI_sub_81DA433
- if_status 0, 255, AI_sub_81DA433
+AI_CBM_Poison:: @ 81DA15B
+ get_target_type1
+ if_equal TYPE_STEEL, Score_Minus10
+ if_equal TYPE_POISON, Score_Minus10
+ get_target_type2
+ if_equal TYPE_STEEL, Score_Minus10
+ if_equal TYPE_POISON, Score_Minus10
+ get_ability AI_TARGET
+ if_equal ABILITY_IMMUNITY, Score_Minus10
+ if_status AI_TARGET, STATUS1_ANY, Score_Minus10
+@ if_side_affecting AI_TARGET, SIDE_STATUS_SAFEGUARD, Score_Minus10 @ Improvement in Emerald
end
-AI_sub_81DA18A:: @ 81DA18A
- if_status4 1, 2, AI_sub_81DA430
+AI_CBM_LightScreen:: @ 81DA18A
+ if_side_affecting AI_USER, SIDE_STATUS_LIGHTSCREEN, Score_Minus8
end
-AI_sub_81DA195:: @ 81DA195
- if_damage_bonus 0, AI_sub_81DA433
- get_ability 0
- if_equal 5, AI_sub_81DA433
- if_level_cond 1, AI_sub_81DA433
+AI_CBM_OneHitKO:: @ 81DA195
+ if_type_effectiveness AI_EFFECTIVENESS_x0, Score_Minus10
+ get_ability AI_TARGET
+ if_equal ABILITY_STURDY, Score_Minus10
+ if_level_cond 1, Score_Minus10
end
-AI_sub_81DA1AA:: @ 81DA1AA
- get_ability 0
- if_equal 26, AI_sub_81DA433
+AI_CBM_Magnitude:: @ 81DA1AA
+ get_ability AI_TARGET
+ if_equal ABILITY_LEVITATE, Score_Minus10
-AI_sub_81DA1B2:: @ 81DA1B2
- if_damage_bonus 0, AI_sub_81DA433
- get_ability 0
- if_not_equal 25, AI_sub_81DA1CB
- if_damage_bonus 80, AI_sub_81DA1CB
- jump AI_sub_81DA433
+AI_CBM_HighRiskForDamage:: @ 81DA1B2
+ if_type_effectiveness AI_EFFECTIVENESS_x0, Score_Minus10
+ get_ability AI_TARGET
+ if_not_equal ABILITY_WONDER_GUARD, AI_CBM_HighRiskForDamage_End
+ if_type_effectiveness AI_EFFECTIVENESS_x2, AI_CBM_HighRiskForDamage_End
+ goto Score_Minus10
-AI_sub_81DA1CB:: @ 81DA1CB
+AI_CBM_HighRiskForDamage_End:: @ 81DA1CB
end
-AI_sub_81DA1CC:: @ 81DA1CC
- if_status4 1, 256, AI_sub_81DA430
+AI_CBM_Mist:: @ 81DA1CC
+ if_side_affecting AI_USER, SIDE_STATUS_MIST, Score_Minus8
end
-AI_sub_81DA1D7:: @ 81DA1D7
- if_status2 1, 1048576, AI_sub_81DA433
+AI_CBM_FocusEnergy:: @ 81DA1D7
+ if_status2 AI_USER, STATUS2_FOCUS_ENERGY, Score_Minus10
end
-AI_sub_81DA1E2:: @ 81DA1E2
- if_status2 0, 7, AI_sub_81DA42D
- get_ability 0
- if_equal 20, AI_sub_81DA433
+AI_CBM_Confuse:: @ 81DA1E2
+ if_status2 AI_TARGET, STATUS2_CONFUSION, Score_Minus5
+ get_ability AI_TARGET
+ if_equal ABILITY_OWN_TEMPO, Score_Minus10
+@ if_side_affecting AI_TARGET, SIDE_STATUS_SAFEGUARD, Score_Minus10 @ Improvement in Emerald
end
-AI_sub_81DA1F5:: @ 81DA1F5
- if_status4 1, 1, AI_sub_81DA430
+AI_CBM_Reflect:: @ 81DA1F5
+ if_side_affecting AI_USER, SIDE_STATUS_REFLECT, Score_Minus8
end
-AI_sub_81DA200:: @ 81DA200
- if_damage_bonus 0, AI_sub_81DA433
- get_ability 0
- if_equal 7, AI_sub_81DA433
- if_status 0, 255, AI_sub_81DA433
+AI_CBM_Paralyze:: @ 81DA200
+ if_type_effectiveness AI_EFFECTIVENESS_x0, Score_Minus10
+ get_ability AI_TARGET
+ if_equal ABILITY_LIMBER, Score_Minus10
+ if_status AI_TARGET, STATUS1_ANY, Score_Minus10
+@ if_side_affecting AI_TARGET, SIDE_STATUS_SAFEGUARD, Score_Minus10 @ Improvement in Emerald
end
-AI_sub_81DA219:: @ 81DA219
- if_status2 1, 16777216, AI_sub_81DA430
- if_hp_less_than 1, 26, AI_sub_81DA433
+AI_CBM_Substitute:: @ 81DA219
+ if_status2 AI_USER, STATUS2_SUBSTITUTE, Score_Minus8
+ if_hp_less_than AI_USER, 26, Score_Minus10
end
-AI_sub_81DA22B:: @ 81DA22B
- if_status3 0, 4, AI_sub_81DA433
- get_type 0
- if_equal 12, AI_sub_81DA433
- get_type 2
- if_equal 12, AI_sub_81DA433
+AI_CBM_LeechSeed:: @ 81DA22B
+ if_status3 AI_TARGET, STATUS3_LEECHSEED, Score_Minus10
+ get_target_type1
+ if_equal TYPE_GRASS, Score_Minus10
+ get_target_type2
+ if_equal TYPE_GRASS, Score_Minus10
end
-AI_sub_81DA246:: @ 81DA246
- if_last_move_did_damage 0, 0, AI_sub_81DA430
+AI_CBM_Disable:: @ 81DA246
+ if_any_move_disabled AI_TARGET, Score_Minus8
end
-AI_sub_81DA24E:: @ 81DA24E
- if_last_move_did_damage 0, 1, AI_sub_81DA430
+AI_CBM_Encore:: @ 81DA24E
+ if_any_move_encored AI_TARGET, Score_Minus8
end
-AI_sub_81DA256:: @ 81DA256
- if_not_status 1, 7, AI_sub_81DA430
+AI_CBM_DamageDuringSleep:: @ 81DA256
+ if_not_status AI_USER, STATUS1_SLEEP, Score_Minus8
end
-AI_sub_81DA261:: @ 81DA261
- if_status2 0, 67108864, AI_sub_81DA433
+AI_CBM_CantEscape:: @ 81DA261
+ if_status2 AI_TARGET, STATUS2_ESCAPE_PREVENTION, Score_Minus10
end
-AI_sub_81DA26C:: @ 81DA26C
- if_stat_level_equal 1, 1, 12, AI_sub_81DA433
- if_stat_level_equal 1, 2, 12, AI_sub_81DA430
+AI_CBM_Curse:: @ 81DA26C
+ if_stat_level_equal AI_USER, STAT_ATK, 12, Score_Minus10
+ if_stat_level_equal AI_USER, STAT_DEF, 12, Score_Minus8
end
-AI_sub_81DA27D:: @ 81DA27D
- if_status4 0, 16, AI_sub_81DA433
+AI_CBM_Spikes:: @ 81DA27D
+ if_side_affecting AI_TARGET, SIDE_STATUS_SPIKES, Score_Minus10
end
-AI_sub_81DA288:: @ 81DA288
- if_status2 0, 536870912, AI_sub_81DA433
+AI_CBM_Foresight:: @ 81DA288
+ if_status2 AI_TARGET, STATUS2_FORESIGHT, Score_Minus10
end
-AI_sub_81DA293:: @ 81DA293
- if_status3 0, 32, AI_sub_81DA433
+AI_CBM_PerishSong:: @ 81DA293
+ if_status3 AI_TARGET, STATUS3_PERISH_SONG, Score_Minus10
end
-AI_sub_81DA29E:: @ 81DA29E
+AI_CBM_Sandstorm:: @ 81DA29E
get_weather
- if_equal 2, AI_sub_81DA430
+ if_equal AI_WEATHER_SANDSTORM, Score_Minus8
end
-AI_sub_81DA2A6:: @ 81DA2A6
- if_status2 0, 983040, AI_sub_81DA433
- get_ability 0
- if_equal 12, AI_sub_81DA433
- get_gender 1
- if_equal 0, AI_sub_81DA2CB
- if_equal -2, AI_sub_81DA2D8
- jump AI_sub_81DA433
+AI_CBM_Attract:: @ 81DA2A6
+ if_status2 AI_TARGET, STATUS2_INFATUATION, Score_Minus10
+ get_ability AI_TARGET
+ if_equal ABILITY_OBLIVIOUS, Score_Minus10
+ get_gender AI_USER
+ if_equal MON_MALE, AI_CBM_Attract_CheckIfTargetIsFemale
+ if_equal MON_FEMALE, AI_CBM_Attract_CheckIfTargetIsMale
+ goto Score_Minus10
-AI_sub_81DA2CB:: @ 81DA2CB
- get_gender 0
- if_equal -2, AI_sub_81DA2E5
- jump AI_sub_81DA433
+AI_CBM_Attract_CheckIfTargetIsFemale:: @ 81DA2CB
+ get_gender AI_TARGET
+ if_equal MON_FEMALE, AI_CBM_Attract_End
+ goto Score_Minus10
-AI_sub_81DA2D8:: @ 81DA2D8
- get_gender 0
- if_equal 0, AI_sub_81DA2E5
- jump AI_sub_81DA433
+AI_CBM_Attract_CheckIfTargetIsMale:: @ 81DA2D8
+ get_gender AI_TARGET
+ if_equal MON_MALE, AI_CBM_Attract_End
+ goto Score_Minus10
-AI_sub_81DA2E5:: @ 81DA2E5
+AI_CBM_Attract_End:: @ 81DA2E5
end
-AI_sub_81DA2E6:: @ 81DA2E6
- if_status4 1, 32, AI_sub_81DA430
+AI_CBM_Safeguard:: @ 81DA2E6
+ if_side_affecting AI_USER, SIDE_STATUS_SAFEGUARD, Score_Minus8
end
-AI_sub_81DA2F1:: @ 81DA2F1
- if_stat_level_equal 0, 1, 0, AI_sub_81DA433
- if_stat_level_equal 0, 4, 0, AI_sub_81DA430
+AI_CBM_Memento:: @ 81DA2F1
+ if_stat_level_equal AI_TARGET, STAT_ATK, 0, Score_Minus10
+ if_stat_level_equal AI_TARGET, STAT_SPATK, 0, Score_Minus8
-AI_sub_81DA301:: @ 81DA301
- count_alive_pokemon 1
- if_equal 0, AI_sub_81DA433
+AI_CBM_BatonPass:: @ 81DA301
+ count_alive_pokemon AI_USER
+ if_equal 0, Score_Minus10
end
-AI_sub_81DA30A:: @ 81DA30A
+AI_CBM_RainDance:: @ 81DA30A
get_weather
- if_equal 1, AI_sub_81DA430
+ if_equal AI_WEATHER_RAIN, Score_Minus8
end
-AI_sub_81DA312:: @ 81DA312
+AI_CBM_SunnyDay:: @ 81DA312
get_weather
- if_equal 0, AI_sub_81DA430
+ if_equal AI_WEATHER_SUN, Score_Minus8
end
-AI_sub_81DA31A:: @ 81DA31A
- if_status4 0, 64, AI_sub_81DA433
+AI_CBM_FutureSight:: @ 81DA31A
+ if_side_affecting AI_TARGET, SIDE_STATUS_FUTUREATTACK, Score_Minus10
+@ if_side_affecting AI_USER, SIDE_STATUS_FUTUREATTACK, Score_Minus12 @ Improvement in Emerald
end
-AI_sub_81DA325:: @ 81DA325
- is_first_turn 1
- if_equal 0, AI_sub_81DA433
+AI_CBM_FakeOut:: @ 81DA325
+ is_first_turn_for AI_USER
+ if_equal 0, Score_Minus10
end
-AI_sub_81DA32E:: @ 81DA32E
- get_stockpile_count 1
- if_equal 3, AI_sub_81DA433
+AI_CBM_Stockpile:: @ 81DA32E
+ get_stockpile_count AI_USER
+ if_equal 3, Score_Minus10
end
-AI_sub_81DA337:: @ 81DA337
- if_damage_bonus 0, AI_sub_81DA433
- get_stockpile_count 1
- if_equal 0, AI_sub_81DA433
+AI_CBM_SpitUpAndSwallow:: @ 81DA337
+ if_type_effectiveness AI_EFFECTIVENESS_x0, Score_Minus10
+ get_stockpile_count AI_USER
+ if_equal 0, Score_Minus10
end
-AI_sub_81DA346:: @ 81DA346
+AI_CBM_Hail:: @ 81DA346
get_weather
- if_equal 3, AI_sub_81DA430
+ if_equal AI_WEATHER_HAIL, Score_Minus8
end
-AI_sub_81DA34E:: @ 81DA34E
- if_status2 0, -2147483648, AI_sub_81DA433
+AI_CBM_Torment:: @ 81DA34E
+ if_status2 AI_TARGET, STATUS2_TORMENT, Score_Minus10
end
-AI_sub_81DA359:: @ 81DA359
- get_ability 0
- if_equal 41, AI_sub_81DA433
- if_status 0, 255, AI_sub_81DA433
- if_damage_bonus 0, AI_sub_81DA433
- if_damage_bonus 20, AI_sub_81DA433
- if_damage_bonus 10, AI_sub_81DA433
+AI_CBM_WillOWisp:: @ 81DA359
+ get_ability AI_TARGET
+ if_equal ABILITY_WATER_VEIL, Score_Minus10
+ if_status AI_TARGET, STATUS1_ANY, Score_Minus10
+ if_type_effectiveness AI_EFFECTIVENESS_x0, Score_Minus10
+ if_type_effectiveness AI_EFFECTIVENESS_x0_5, Score_Minus10
+ if_type_effectiveness AI_EFFECTIVENESS_x0_25, Score_Minus10
+@ if_side_affecting AI_TARGET, SIDE_STATUS_SAFEGUARD, Score_Minus10 @ Improvement in Emerald
end
-AI_sub_81DA37E:: @ 81DA37E
- is_double_battle
- if_equal 0, AI_sub_81DA433
+AI_CBM_HelpingHand:: @ 81DA37E
+ if_not_double_battle Score_Minus10
end
-AI_sub_81DA386:: @ 81DA386
- get_ability 0
- if_equal 60, AI_sub_81DA433
+AI_CBM_TrickAndKnockOff:: @ 81DA386
+ get_ability AI_TARGET
+ if_equal ABILITY_STICKY_HOLD, Score_Minus10
end
-AI_sub_81DA38F:: @ 81DA38F
- if_status3 1, 1024, AI_sub_81DA433
+AI_CBM_Ingrain:: @ 81DA38F
+ if_status3 AI_USER, STATUS3_ROOTED, Score_Minus10
end
-AI_sub_81DA39A:: @ 81DA39A
- get_item 1
- if_equal 0, AI_sub_81DA433
+AI_CBM_Recycle:: @ 81DA39A
+ get_used_held_item AI_USER
+ if_equal ITEM_NONE, Score_Minus10
end
-AI_sub_81DA3A3:: @ 81DA3A3
- if_status3 1, 8192, AI_sub_81DA433
+AI_CBM_Imprison:: @ 81DA3A3
+ if_status3 AI_USER, STATUS3_IMPRISONED_OTHERS, Score_Minus10
end
-AI_sub_81DA3AE:: @ 81DA3AE
- if_not_status 1, 216, AI_sub_81DA433
+AI_CBM_Refresh:: @ 81DA3AE
+ if_not_status AI_USER, STATUS1_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_TOXIC_POISON, Score_Minus10
end
-AI_sub_81DA3B9:: @ 81DA3B9
- if_status3 1, 65536, AI_sub_81DA433
+AI_CBM_MudSport:: @ 81DA3B9
+ if_status3 AI_USER, STATUS3_MUDSPORT, Score_Minus10
end
-AI_sub_81DA3C4:: @ 81DA3C4
- if_stat_level_equal 0, 1, 0, AI_sub_81DA433
- if_stat_level_equal 0, 2, 0, AI_sub_81DA430
+AI_CBM_Tickle:: @ 81DA3C4
+ if_stat_level_equal AI_TARGET, STAT_ATK, 0, Score_Minus10
+ if_stat_level_equal AI_TARGET, STAT_DEF, 0, Score_Minus8
end
-AI_sub_81DA3D5:: @ 81DA3D5
- if_stat_level_equal 1, 2, 12, AI_sub_81DA433
- if_stat_level_equal 1, 5, 12, AI_sub_81DA430
+AI_CBM_CosmicPower:: @ 81DA3D5
+ if_stat_level_equal AI_USER, STAT_DEF, 12, Score_Minus10
+ if_stat_level_equal AI_USER, STAT_SPDEF, 12, Score_Minus8
end
-AI_sub_81DA3E6:: @ 81DA3E6
- if_stat_level_equal 1, 1, 12, AI_sub_81DA433
- if_stat_level_equal 1, 2, 12, AI_sub_81DA430
+AI_CBM_BulkUp:: @ 81DA3E6
+ if_stat_level_equal AI_USER, STAT_ATK, 12, Score_Minus10
+ if_stat_level_equal AI_USER, STAT_DEF, 12, Score_Minus8
end
-AI_sub_81DA3F7:: @ 81DA3F7
- if_status3 1, 131072, AI_sub_81DA433
+AI_CBM_WaterSport:: @ 81DA3F7
+ if_status3 AI_USER, STATUS3_WATERSPORT, Score_Minus10
end
-AI_sub_81DA402:: @ 81DA402
- if_stat_level_equal 1, 4, 12, AI_sub_81DA433
- if_stat_level_equal 1, 5, 12, AI_sub_81DA430
+AI_CBM_CalmMind:: @ 81DA402
+ if_stat_level_equal AI_USER, STAT_SPATK, 12, Score_Minus10
+ if_stat_level_equal AI_USER, STAT_SPDEF, 12, Score_Minus8
end
-AI_sub_81DA413:: @ 81DA413
- if_stat_level_equal 1, 1, 12, AI_sub_81DA433
- if_stat_level_equal 1, 3, 12, AI_sub_81DA430
+AI_CBM_DragonDance:: @ 81DA413
+ if_stat_level_equal AI_USER, STAT_ATK, 12, Score_Minus10
+ if_stat_level_equal AI_USER, STAT_SPEED, 12, Score_Minus8
end
-AI_sub_81DA424:: @ 81DA424
+Score_Minus1:: @ 81DA424
score -1
end
-AI_sub_81DA427:: @ 81DA427
+Score_Minus2:: @ 81DA427
score -2
end
-AI_sub_81DA42A:: @ 81DA42A
+Score_Minus3:: @ 81DA42A
score -3
end
-AI_sub_81DA42D:: @ 81DA42D
+Score_Minus5:: @ 81DA42D
score -5
end
-AI_sub_81DA430:: @ 81DA430
+Score_Minus8:: @ 81DA430
score -8
end
-AI_sub_81DA433:: @ 81DA433
+Score_Minus10:: @ 81DA433
score -10
end
-AI_sub_81DA436:: @ 81DA436
+Score_Minus12:: @ 81DA436
score -12
end
- score 1
- end
- score 2
- end
- score 3
- end
- score 5
- end
-
-AI_TryToFaint:: @ 81DA445
- if_effect 1, AI_sub_81DA71C
- if_effect 3, AI_sub_81DA738
- if_effect 7, AI_sub_81DA752
- if_effect 8, AI_sub_81DA7B0
- if_effect 9, AI_sub_81DA7C4
- if_effect 10, AI_sub_81DA848
- if_effect 11, AI_sub_81DA883
- if_effect 12, AI_sub_81DA8E9
- if_effect 13, AI_sub_81DA8FF
- if_effect 14, AI_sub_81DA93A
- if_effect 15, AI_sub_81DA9A0
- if_effect 16, AI_sub_81DA9BA
- if_effect 17, AI_sub_81DAA54
- if_effect 18, AI_sub_81DAA84
- if_effect 19, AI_sub_81DAAD6
- if_effect 20, AI_sub_81DAB0D
- if_effect 21, AI_sub_81DAB23
- if_effect 22, AI_sub_81DAB77
- if_effect 23, AI_sub_81DAB98
- if_effect 24, AI_sub_81DAC2C
- if_effect 25, AI_sub_81DAC4D
- if_effect 26, AI_sub_81DAD10
- if_effect 28, AI_sub_81DAD1A
- if_effect 30, AI_sub_81DAD52
- if_effect 32, AI_sub_81DAD83
- if_effect 33, AI_sub_81DADDC
- if_effect 35, AI_sub_81DAE1B
- if_effect 37, AI_sub_81DAE4A
- if_effect 38, AI_sub_81DAEAA
- if_effect 39, AI_sub_81DB645
- if_effect 40, AI_sub_81DAEAB
- if_effect 42, AI_sub_81DAEB5
- if_effect 43, AI_sub_81DAEEB
- if_effect 49, AI_sub_81DAF1A
- if_effect 50, AI_sub_81DA848
- if_effect 51, AI_sub_81DA883
- if_effect 52, AI_sub_81DA8E9
- if_effect 53, AI_sub_81DA8FF
- if_effect 54, AI_sub_81DA93A
- if_effect 55, AI_sub_81DA9A0
- if_effect 56, AI_sub_81DA9BA
- if_effect 58, AI_sub_81DAA84
- if_effect 59, AI_sub_81DAAD6
- if_effect 60, AI_sub_81DAB0D
- if_effect 61, AI_sub_81DAB23
- if_effect 62, AI_sub_81DAB77
- if_effect 63, AI_sub_81DAB98
- if_effect 64, AI_sub_81DAC2C
- if_effect 65, AI_sub_81DAF3C
- if_effect 66, AI_sub_81DAF6C
- if_effect 67, AI_sub_81DAF7D
- if_effect 70, AI_sub_81DAAF7
- if_effect 75, AI_sub_81DB645
- if_effect 78, AI_sub_81DAF9A
- if_effect 79, AI_sub_81DAFBD
- if_effect 80, AI_sub_81DB053
- if_effect 84, AI_sub_81DADDC
- if_effect 86, AI_sub_81DB07B
- if_effect 89, AI_sub_81DB09A
- if_effect 90, AI_sub_81DB13B
- if_effect 91, AI_sub_81DB1A3
- if_effect 92, AI_sub_81DB1CF
- if_effect 94, AI_sub_81DB1D2
- if_effect 97, AI_sub_81DB1DB
- if_effect 98, AI_sub_81DB1DE
- if_effect 99, AI_sub_81DB214
- if_effect 102, AI_sub_81DB259
- if_effect 105, AI_sub_81DB270
- if_effect 106, AI_sub_81DAEB5
- if_effect 108, AI_sub_81DA9BA
- if_effect 109, AI_sub_81DB293
- if_effect 111, AI_sub_81DB2E2
- if_effect 113, AI_sub_81DB3A3
- if_effect 116, AI_sub_81DB3D1
- if_effect 127, AI_sub_81DB3EF
- if_effect -128, AI_sub_81DB48B
- if_effect -124, AI_sub_81DAD69
- if_effect -123, AI_sub_81DAD69
- if_effect -122, AI_sub_81DAD69
- if_effect -120, AI_sub_81DB4C1
- if_effect -119, AI_sub_81DB500
- if_effect -114, AI_sub_81DB529
- if_effect -113, AI_sub_81DB538
- if_effect -112, AI_sub_81DB5A5
- if_effect -111, AI_sub_81DB645
- if_effect -105, AI_sub_81DB645
- if_effect -101, AI_sub_81DB669
- if_effect -99, AI_sub_81DAD83
- if_effect -98, AI_sub_81DB6F3
- if_effect -95, AI_sub_81DB6F6
- if_effect -94, AI_sub_81DAD83
- if_effect -92, AI_sub_81DB707
- if_effect -90, AI_sub_81DAF12
- if_effect -88, AI_sub_81DA752
- if_effect -87, AI_sub_81DB730
- if_effect -86, AI_sub_81DB73D
- if_effect -85, AI_sub_81DB78C
- if_effect -79, AI_sub_81DB79E
- if_effect -78, AI_sub_81DB7E9
- if_effect -74, AI_sub_81DB820
- if_effect -73, AI_sub_81DB850
- if_effect -72, AI_sub_81DB883
- if_effect -71, AI_sub_81DB8A2
- if_effect -70, AI_sub_81DB8D0
- if_effect -68, AI_sub_81DB8E2
- if_effect -67, AI_sub_81DB8FA
- if_effect -66, AI_sub_81DB926
- if_effect -65, AI_sub_81DB7E9
- if_effect -64, AI_sub_81DB94E
- if_effect -63, AI_sub_81DB95F
- if_effect -61, AI_sub_81DB96E
- if_effect -56, AI_sub_81DAEEB
- if_effect -55, AI_sub_81DB9D8
- if_effect -52, AI_sub_81DB9FE
- if_effect -51, AI_sub_81DAAD6
- if_effect -50, AI_sub_81DA93A
- if_effect -48, AI_sub_81DA883
- if_effect -47, AI_sub_81DAEEB
- if_effect -46, AI_sub_81DBA26
- if_effect -45, AI_sub_81DA93A
- if_effect -44, AI_sub_81DBA4C
- end
-
-AI_sub_81DA71C:: @ 81DA71C
- if_move_effect 0, 8, AI_sub_81DA72F
- if_move_effect 0, 107, AI_sub_81DA72F
- jump AI_sub_81DA737
-
-AI_sub_81DA72F:: @ 81DA72F
- if_random_less_than -128, AI_sub_81DA737
- score 1
-
-AI_sub_81DA737:: @ 81DA737
- end
-
-AI_sub_81DA738:: @ 81DA738
- if_damage_bonus 20, AI_sub_81DA749
- if_damage_bonus 10, AI_sub_81DA749
- jump AI_sub_81DA751
-
-AI_sub_81DA749:: @ 81DA749
- if_random_less_than 50, AI_sub_81DA751
+
+Score_Plus1::
+ score +1
+ end
+
+Score_Plus2::
+ score +2
+ end
+
+Score_Plus3::
+ score +3
+ end
+
+Score_Plus5::
+ score +5
+ end
+
+@ Improvement in Emerald
+@Score_Plus10::
+@ score +10
+@ end
+
+AI_CheckViability:: @ 81DA445
+ if_effect EFFECT_SLEEP, AI_CV_Sleep
+ if_effect EFFECT_ABSORB, AI_CV_Absorb
+ if_effect EFFECT_EXPLOSION, AI_CV_SelfKO
+ if_effect EFFECT_DREAM_EATER, AI_CV_DreamEater
+ if_effect EFFECT_MIRROR_MOVE, AI_CV_MirrorMove
+ if_effect EFFECT_ATTACK_UP, AI_CV_AttackUp
+ if_effect EFFECT_DEFENSE_UP, AI_CV_DefenseUp
+ if_effect EFFECT_SPEED_UP, AI_CV_SpeedUp
+ if_effect EFFECT_SPECIAL_ATTACK_UP, AI_CV_SpAtkUp
+ if_effect EFFECT_SPECIAL_DEFENSE_UP, AI_CV_SpDefUp
+ if_effect EFFECT_ACCURACY_UP, AI_CV_AccuracyUp
+ if_effect EFFECT_EVASION_UP, AI_CV_EvasionUp
+ if_effect EFFECT_ALWAYS_HIT, AI_CV_AlwaysHit
+ if_effect EFFECT_ATTACK_DOWN, AI_CV_AttackDown
+ if_effect EFFECT_DEFENSE_DOWN, AI_CV_DefenseDown
+ if_effect EFFECT_SPEED_DOWN, AI_CV_SpeedDown
+ if_effect EFFECT_SPECIAL_ATTACK_DOWN, AI_CV_SpAtkDown
+ if_effect EFFECT_SPECIAL_DEFENSE_DOWN, AI_CV_SpDefDown
+ if_effect EFFECT_ACCURACY_DOWN, AI_CV_AccuracyDown
+ if_effect EFFECT_EVASION_DOWN, AI_CV_EvasionDown
+ if_effect EFFECT_HAZE, AI_CV_Haze
+ if_effect EFFECT_BIDE, AI_CV_Bide
+ if_effect EFFECT_ROAR, AI_CV_Roar
+ if_effect EFFECT_CONVERSION, AI_CV_Conversion
+ if_effect EFFECT_RESTORE_HP, AI_CV_Heal
+ if_effect EFFECT_TOXIC, AI_CV_Toxic
+ if_effect EFFECT_LIGHT_SCREEN, AI_CV_LightScreen
+ if_effect EFFECT_REST, AI_CV_Rest
+ if_effect EFFECT_OHKO, AI_CV_OneHitKO
+ if_effect EFFECT_RAZOR_WIND, AI_CV_ChargeUpMove
+ if_effect EFFECT_SUPER_FANG, AI_CV_SuperFang
+ if_effect EFFECT_TRAP, AI_CV_Trap
+ if_effect EFFECT_HIGH_CRITICAL, AI_CV_HighCrit
+ if_effect EFFECT_CONFUSE, AI_CV_Confuse
+ if_effect EFFECT_ATTACK_UP_2, AI_CV_AttackUp
+ if_effect EFFECT_DEFENSE_UP_2, AI_CV_DefenseUp
+ if_effect EFFECT_SPEED_UP_2, AI_CV_SpeedUp
+ if_effect EFFECT_SPECIAL_ATTACK_UP_2, AI_CV_SpAtkUp
+ if_effect EFFECT_SPECIAL_DEFENSE_UP_2, AI_CV_SpDefUp
+ if_effect EFFECT_ACCURACY_UP_2, AI_CV_AccuracyUp
+ if_effect EFFECT_EVASION_UP_2, AI_CV_EvasionUp
+ if_effect EFFECT_ATTACK_DOWN_2, AI_CV_AttackDown
+ if_effect EFFECT_DEFENSE_DOWN_2, AI_CV_DefenseDown
+ if_effect EFFECT_SPEED_DOWN_2, AI_CV_SpeedDown
+ if_effect EFFECT_SPECIAL_ATTACK_DOWN_2, AI_CV_SpAtkDown
+ if_effect EFFECT_SPECIAL_DEFENSE_DOWN_2, AI_CV_SpDefDown
+ if_effect EFFECT_ACCURACY_DOWN_2, AI_CV_AccuracyDown
+ if_effect EFFECT_EVASION_DOWN_2, AI_CV_EvasionDown
+ if_effect EFFECT_REFLECT, AI_CV_Reflect
+ if_effect EFFECT_POISON, AI_CV_Poison
+ if_effect EFFECT_PARALYZE, AI_CV_Paralyze
+ @ if_effect EFFECT_SWAGGER, AI_CV_Swagger @ Improvement in Emerald
+ if_effect EFFECT_SPEED_DOWN_HIT, AI_CV_SpeedDownFromChance
+ if_effect EFFECT_SKY_ATTACK, AI_CV_ChargeUpMove
+ if_effect EFFECT_VITAL_THROW, AI_CV_VitalThrow
+ if_effect EFFECT_SUBSTITUTE, AI_CV_Substitute
+ if_effect EFFECT_RECHARGE, AI_CV_Recharge
+ if_effect EFFECT_LEECH_SEED, AI_CV_Toxic
+ if_effect EFFECT_DISABLE, AI_CV_Disable
+ if_effect EFFECT_COUNTER, AI_CV_Counter
+ if_effect EFFECT_ENCORE, AI_CV_Encore
+ if_effect EFFECT_PAIN_SPLIT, AI_CV_PainSplit
+ if_effect EFFECT_SNORE, AI_CV_Snore
+ if_effect EFFECT_LOCK_ON, AI_CV_LockOn
+ if_effect EFFECT_SLEEP_TALK, AI_CV_SleepTalk
+ if_effect EFFECT_DESTINY_BOND, AI_CV_DestinyBond
+ if_effect EFFECT_FLAIL, AI_CV_Flail
+ if_effect EFFECT_HEAL_BELL, AI_CV_HealBell
+ if_effect EFFECT_THIEF, AI_CV_Thief
+ if_effect EFFECT_MEAN_LOOK, AI_CV_Trap
+ if_effect EFFECT_MINIMIZE, AI_CV_EvasionUp
+ if_effect EFFECT_CURSE, AI_CV_Curse
+ if_effect EFFECT_PROTECT, AI_CV_Protect
+ if_effect EFFECT_FORESIGHT, AI_CV_Foresight
+ if_effect EFFECT_ENDURE, AI_CV_Endure
+ if_effect EFFECT_BATON_PASS, AI_CV_BatonPass
+ if_effect EFFECT_PURSUIT, AI_CV_Pursuit
+ if_effect EFFECT_MORNING_SUN, AI_CV_HealWeather
+ if_effect EFFECT_SYNTHESIS, AI_CV_HealWeather
+ if_effect EFFECT_MOONLIGHT, AI_CV_HealWeather
+ if_effect EFFECT_RAIN_DANCE, AI_CV_RainDance
+ if_effect EFFECT_SUNNY_DAY, AI_CV_SunnyDay
+ if_effect EFFECT_BELLY_DRUM, AI_CV_BellyDrum
+ if_effect EFFECT_PSYCH_UP, AI_CV_PsychUp
+ if_effect EFFECT_MIRROR_COAT, AI_CV_MirrorCoat
+ if_effect EFFECT_SKULL_BASH, AI_CV_ChargeUpMove
+ if_effect EFFECT_SOLARBEAM, AI_CV_ChargeUpMove
+ if_effect EFFECT_SEMI_INVULNERABLE, AI_CV_SemiInvulnerable
+ if_effect EFFECT_SOFTBOILED, AI_CV_Heal
+ if_effect EFFECT_FAKE_OUT, AI_CV_FakeOut
+ if_effect EFFECT_SPIT_UP, AI_CV_SpitUp
+ if_effect EFFECT_SWALLOW, AI_CV_Heal
+ if_effect EFFECT_HAIL, AI_CV_Hail
+ if_effect EFFECT_FLATTER, AI_CV_Flatter
+ if_effect EFFECT_MEMENTO, AI_CV_SelfKO
+ if_effect EFFECT_FACADE, AI_CV_Facade
+ if_effect EFFECT_FOCUS_PUNCH, AI_CV_FocusPunch
+ if_effect EFFECT_SMELLINGSALT, AI_CV_SmellingSalt
+ if_effect EFFECT_TRICK, AI_CV_Trick
+ if_effect EFFECT_ROLE_PLAY, AI_CV_ChangeSelfAbility
+ if_effect EFFECT_SUPERPOWER, AI_CV_Superpower
+ if_effect EFFECT_MAGIC_COAT, AI_CV_MagicCoat
+ if_effect EFFECT_RECYCLE, AI_CV_Recycle
+ if_effect EFFECT_REVENGE, AI_CV_Revenge
+ if_effect EFFECT_BRICK_BREAK, AI_CV_BrickBreak
+ if_effect EFFECT_KNOCK_OFF, AI_CV_KnockOff
+ if_effect EFFECT_ENDEAVOR, AI_CV_Endeavor
+ if_effect EFFECT_ERUPTION, AI_CV_Eruption
+ if_effect EFFECT_SKILL_SWAP, AI_CV_ChangeSelfAbility
+ if_effect EFFECT_IMPRISON, AI_CV_Imprison
+ if_effect EFFECT_REFRESH, AI_CV_Refresh
+ if_effect EFFECT_SNATCH, AI_CV_Snatch
+ if_effect EFFECT_BLAZE_KICK, AI_CV_HighCrit
+ if_effect EFFECT_MUD_SPORT, AI_CV_MudSport
+ if_effect EFFECT_OVERHEAT, AI_CV_Overheat
+ if_effect EFFECT_TICKLE, AI_CV_DefenseDown
+ if_effect EFFECT_COSMIC_POWER, AI_CV_SpDefUp
+ if_effect EFFECT_BULK_UP, AI_CV_DefenseUp
+ if_effect EFFECT_POISON_TAIL, AI_CV_HighCrit
+ if_effect EFFECT_WATER_SPORT, AI_CV_WaterSport
+ if_effect EFFECT_CALM_MIND, AI_CV_SpDefUp
+ if_effect EFFECT_DRAGON_DANCE, AI_CV_DragonDance
+ end
+
+AI_CV_Sleep:: @ 81DA71C
+ if_has_move_with_effect AI_TARGET, EFFECT_DREAM_EATER, AI_CV_SleepEncourageSlpDamage
+ if_has_move_with_effect AI_TARGET, EFFECT_NIGHTMARE, AI_CV_SleepEncourageSlpDamage
+ goto AI_CV_Sleep_End
+
+AI_CV_SleepEncourageSlpDamage:: @ 81DA72F
+ if_random_less_than 128, AI_CV_Sleep_End
+ score +1
+
+AI_CV_Sleep_End:: @ 81DA737
+ end
+
+AI_CV_Absorb:: @ 81DA738
+ if_type_effectiveness AI_EFFECTIVENESS_x0_5, AI_CV_AbsorbEncourageMaybe
+ if_type_effectiveness AI_EFFECTIVENESS_x0_25, AI_CV_AbsorbEncourageMaybe
+ goto AI_CV_Absorb_End
+
+AI_CV_AbsorbEncourageMaybe:: @ 81DA749
+ if_random_less_than 50, AI_CV_Absorb_End
score -3
-AI_sub_81DA751:: @ 81DA751
+AI_CV_Absorb_End:: @ 81DA751
end
-AI_sub_81DA752:: @ 81DA752
- if_stat_level_less_than 0, 7, 7, AI_sub_81DA76C
+AI_CV_SelfKO:: @ 81DA752
+ if_stat_level_less_than AI_TARGET, STAT_EVASION, 7, AI_CV_SelfKO_Encourage1
score -1
- if_stat_level_less_than 0, 7, 10, AI_sub_81DA76C
- if_random_less_than -128, AI_sub_81DA76C
+ if_stat_level_less_than AI_TARGET, STAT_EVASION, 10, AI_CV_SelfKO_Encourage1
+ if_random_less_than 128, AI_CV_SelfKO_Encourage1
score -1
-AI_sub_81DA76C:: @ 81DA76C
- if_hp_less_than 1, 80, AI_sub_81DA784
- if_would_go_first 1, AI_sub_81DA784
- if_random_less_than 50, AI_sub_81DA7AF
- jump AI_sub_81DA42A
-
-AI_sub_81DA784:: @ 81DA784
- if_hp_more_than 1, 50, AI_sub_81DA7A7
- if_random_less_than -128, AI_sub_81DA793
- score 1
-
-AI_sub_81DA793:: @ 81DA793
- if_hp_more_than 1, 30, AI_sub_81DA7AF
- if_random_less_than 50, AI_sub_81DA7AF
- score 1
- jump AI_sub_81DA7AF
-
-AI_sub_81DA7A7:: @ 81DA7A7
- if_random_less_than 50, AI_sub_81DA7AF
+AI_CV_SelfKO_Encourage1:: @ 81DA76C
+ if_hp_less_than AI_USER, 80, AI_CV_SelfKO_Encourage2
+ if_target_faster AI_CV_SelfKO_Encourage2
+ if_random_less_than 50, AI_CV_SelfKO_End
+ goto Score_Minus3
+
+AI_CV_SelfKO_Encourage2:: @ 81DA784
+ if_hp_more_than AI_USER, 50, AI_CV_SelfKO_Encourage4
+ if_random_less_than 128, AI_CV_SelfKO_Encourage3
+ score +1
+
+AI_CV_SelfKO_Encourage3:: @ 81DA793
+ if_hp_more_than AI_USER, 30, AI_CV_SelfKO_End
+ if_random_less_than 50, AI_CV_SelfKO_End
+ score +1
+ goto AI_CV_SelfKO_End
+
+AI_CV_SelfKO_Encourage4:: @ 81DA7A7
+ if_random_less_than 50, AI_CV_SelfKO_End
score -1
-AI_sub_81DA7AF:: @ 81DA7AF
+AI_CV_SelfKO_End:: @ 81DA7AF
end
-AI_sub_81DA7B0:: @ 81DA7B0
- if_damage_bonus 10, AI_sub_81DA7C1
- if_damage_bonus 20, AI_sub_81DA7C1
- jump AI_sub_81DA7C3
+AI_CV_DreamEater:: @ 81DA7B0
+ if_type_effectiveness AI_EFFECTIVENESS_x0_25, AI_CV_DreamEater_ScoreDown1
+ if_type_effectiveness AI_EFFECTIVENESS_x0_5, AI_CV_DreamEater_ScoreDown1
+ goto AI_CV_DreamEater_End
-AI_sub_81DA7C1:: @ 81DA7C1
+AI_CV_DreamEater_ScoreDown1:: @ 81DA7C1
score -1
-AI_sub_81DA7C3:: @ 81DA7C3
+AI_CV_DreamEater_End:: @ 81DA7C3
end
-AI_sub_81DA7C4:: @ 81DA7C4
- if_would_go_first 1, AI_sub_81DA7E2
- get_move 0
- if_not_in_words AI_words_81DA7F8, AI_sub_81DA7E2
- if_random_less_than -128, AI_sub_81DA7F5
- score 2
- jump AI_sub_81DA7F5
+AI_CV_MirrorMove:: @ 81DA7C4
+ if_target_faster AI_CV_MirrorMove2
+ get_last_used_move AI_TARGET
+ if_not_in_hwords AI_CV_MirrorMove_EncouragedMovesToMirror, AI_CV_MirrorMove2
+ if_random_less_than 128, AI_CV_MirrorMove_End
+ score +2
+ goto AI_CV_MirrorMove_End
-AI_sub_81DA7E2:: @ 81DA7E2
- get_move 0
- if_in_words AI_words_81DA7F8, AI_sub_81DA7F5
- if_random_less_than 80, AI_sub_81DA7F5
+AI_CV_MirrorMove2:: @ 81DA7E2
+ get_last_used_move AI_TARGET
+ if_in_hwords AI_CV_MirrorMove_EncouragedMovesToMirror, AI_CV_MirrorMove_End
+ if_random_less_than 80, AI_CV_MirrorMove_End
score -1
-AI_sub_81DA7F5:: @ 81DA7F5
+AI_CV_MirrorMove_End:: @ 81DA7F5
end
- .space 2
-AI_words_81DA7F8:: @ 81DA7F8
+ .space 2
+AI_CV_MirrorMove_EncouragedMovesToMirror:: @ 81DA7F8
.align 1
- .2byte 0x4F
- .2byte 0x8E
- .2byte 0x93
- .2byte 0x5F
- .2byte 0x2F
- .2byte 0x140
- .2byte 0x145
- .2byte 0x1C
- .2byte 0x6C
- .2byte 0x5C
- .2byte 0xC
- .2byte 0x20
- .2byte 0x5A
- .2byte 0x149
- .2byte 0xEE
- .2byte 0xB1
- .2byte 0x6D
- .2byte 0xBA
- .2byte 0x67
- .2byte 0xB2
- .2byte 0xB8
- .2byte 0x139
- .2byte 0x13F
- .2byte 0x56
- .2byte 0x89
- .2byte 0x4D
- .2byte 0xF7
- .2byte 0xDF
- .2byte 0x3F
- .2byte 0xF5
- .2byte 0xA8
- .2byte 0x157
- .2byte 0xD5
- .2byte 0xCF
- .2byte 0x103
- .2byte 0x104
- .2byte 0x10F
- .2byte 0x114
- .2byte 0x11D
- .2byte 0xFFFF
-
-AI_sub_81DA848:: @ 81DA848
- if_stat_level_less_than 1, 1, 9, AI_sub_81DA85D
- if_random_less_than 100, AI_sub_81DA86C
+ .2byte MOVE_SLEEP_POWDER
+ .2byte MOVE_LOVELY_KISS
+ .2byte MOVE_SPORE
+ .2byte MOVE_HYPNOSIS
+ .2byte MOVE_SING
+ .2byte MOVE_GRASS_WHISTLE
+ .2byte MOVE_SHADOW_PUNCH
+ .2byte MOVE_SAND_ATTACK
+ .2byte MOVE_SMOKESCREEN
+ .2byte MOVE_TOXIC
+ .2byte MOVE_GUILLOTINE
+ .2byte MOVE_HORN_DRILL
+ .2byte MOVE_FISSURE
+ .2byte MOVE_SHEER_COLD
+ .2byte MOVE_CROSS_CHOP
+ .2byte MOVE_AEROBLAST
+ .2byte MOVE_CONFUSE_RAY
+ .2byte MOVE_SWEET_KISS
+ .2byte MOVE_SCREECH
+ .2byte MOVE_COTTON_SPORE
+ .2byte MOVE_SCARY_FACE
+ .2byte MOVE_FAKE_TEARS
+ .2byte MOVE_METAL_SOUND
+ .2byte MOVE_THUNDER_WAVE
+ .2byte MOVE_GLARE
+ .2byte MOVE_POISON_POWDER
+ .2byte MOVE_SHADOW_BALL
+ .2byte MOVE_DYNAMIC_PUNCH
+ .2byte MOVE_HYPER_BEAM
+ .2byte MOVE_EXTREME_SPEED
+ .2byte MOVE_THIEF
+ .2byte MOVE_COVET
+ .2byte MOVE_ATTRACT
+ .2byte MOVE_SWAGGER
+ .2byte MOVE_TORMENT
+ .2byte MOVE_FLATTER
+ .2byte MOVE_TRICK
+ .2byte MOVE_SUPERPOWER
+ .2byte MOVE_SKILL_SWAP
+ .2byte -1
+
+AI_CV_AttackUp:: @ 81DA848
+ if_stat_level_less_than AI_USER, STAT_ATK, 9, AI_CV_AttackUp2
+ if_random_less_than 100, AI_CV_AttackUp3
score -1
- jump AI_sub_81DA86C
+ goto AI_CV_AttackUp3
-AI_sub_81DA85D:: @ 81DA85D
- if_hp_not_equal 1, 100, AI_sub_81DA86C
- if_random_less_than -128, AI_sub_81DA86C
- score 2
+AI_CV_AttackUp2:: @ 81DA85D
+ if_hp_not_equal AI_USER, 100, AI_CV_AttackUp3
+ if_random_less_than 128, AI_CV_AttackUp3
+ score +2
-AI_sub_81DA86C:: @ 81DA86C
- if_hp_more_than 1, 70, AI_sub_81DA882
- if_hp_less_than 1, 40, AI_sub_81DA880
- if_random_less_than 40, AI_sub_81DA882
+AI_CV_AttackUp3:: @ 81DA86C
+ if_hp_more_than AI_USER, 70, AI_CV_AttackUp_End
+ if_hp_less_than AI_USER, 40, AI_CV_AttackUp_ScoreDown2
+ if_random_less_than 40, AI_CV_AttackUp_End
-AI_sub_81DA880:: @ 81DA880
+AI_CV_AttackUp_ScoreDown2:: @ 81DA880
score -2
-AI_sub_81DA882:: @ 81DA882
+AI_CV_AttackUp_End:: @ 81DA882
end
-AI_sub_81DA883:: @ 81DA883
- if_stat_level_less_than 1, 2, 9, AI_sub_81DA898
- if_random_less_than 100, AI_sub_81DA8A7
+AI_CV_DefenseUp:: @ 81DA883
+ if_stat_level_less_than AI_USER, STAT_DEF, 9, AI_CV_DefenseUp2
+ if_random_less_than 100, AI_CV_DefenseUp3
score -1
- jump AI_sub_81DA8A7
+ goto AI_CV_DefenseUp3
-AI_sub_81DA898:: @ 81DA898
- if_hp_not_equal 1, 100, AI_sub_81DA8A7
- if_random_less_than -128, AI_sub_81DA8A7
- score 2
+AI_CV_DefenseUp2:: @ 81DA898
+ if_hp_not_equal AI_USER, 100, AI_CV_DefenseUp3
+ if_random_less_than 128, AI_CV_DefenseUp3
+ score +2
-AI_sub_81DA8A7:: @ 81DA8A7
- if_hp_less_than 1, 70, AI_sub_81DA8B4
- if_random_less_than -56, AI_sub_81DA8DE
+AI_CV_DefenseUp3:: @ 81DA8A7
+ if_hp_less_than AI_USER, 70, AI_CV_DefenseUp4
+ if_random_less_than 200, AI_CV_DefenseUp_End
-AI_sub_81DA8B4:: @ 81DA8B4
- if_hp_less_than 1, 40, AI_sub_81DA8DC
- get_move 0
+AI_CV_DefenseUp4:: @ 81DA8B4
+ if_hp_less_than AI_USER, 40, AI_CV_DefenseUp_ScoreDown2
+ get_last_used_move AI_TARGET
get_move_power_from_result
- if_equal 0, AI_sub_81DA8D6
- get_move 0
+ if_equal 0, AI_CV_DefenseUp5
+ get_last_used_move AI_TARGET
get_move_type_from_result
- if_not_in_bytes AI_bytes_81DA8DF, AI_sub_81DA8DC
- if_random_less_than 60, AI_sub_81DA8DE
+ if_not_in_bytes AI_CV_DefenseUp_PhysicalTypes, AI_CV_DefenseUp_ScoreDown2
+ if_random_less_than 60, AI_CV_DefenseUp_End
-AI_sub_81DA8D6:: @ 81DA8D6
- if_random_less_than 60, AI_sub_81DA8DE
+AI_CV_DefenseUp5:: @ 81DA8D6
+ if_random_less_than 60, AI_CV_DefenseUp_End
-AI_sub_81DA8DC:: @ 81DA8DC
+AI_CV_DefenseUp_ScoreDown2:: @ 81DA8DC
score -2
-AI_sub_81DA8DE:: @ 81DA8DE
+AI_CV_DefenseUp_End:: @ 81DA8DE
end
-AI_bytes_81DA8DF:: @ 81DA8DF
- .byte 0
- .byte 1
- .byte 3
- .byte 4
- .byte 2
- .byte 5
- .byte 6
- .byte 7
- .byte 8
- .byte 0xFF
+AI_CV_DefenseUp_PhysicalTypes:: @ 81DA8DF
+ .byte TYPE_NORMAL
+ .byte TYPE_FIGHTING
+ .byte TYPE_POISON
+ .byte TYPE_GROUND
+ .byte TYPE_FLYING
+ .byte TYPE_ROCK
+ .byte TYPE_BUG
+ .byte TYPE_GHOST
+ .byte TYPE_STEEL
+ .byte -1
-AI_sub_81DA8E9:: @ 81DA8E9
- if_would_go_first 1, AI_sub_81DA8F6
+AI_CV_SpeedUp:: @ 81DA8E9
+ if_target_faster AI_CV_SpeedUp2
score -3
- jump AI_sub_81DA8FE
+ goto AI_CV_SpeedUp_End
-AI_sub_81DA8F6:: @ 81DA8F6
- if_random_less_than 70, AI_sub_81DA8FE
- score 3
+AI_CV_SpeedUp2:: @ 81DA8F6
+ if_random_less_than 70, AI_CV_SpeedUp_End
+ score +3
-AI_sub_81DA8FE:: @ 81DA8FE
+AI_CV_SpeedUp_End:: @ 81DA8FE
end
-AI_sub_81DA8FF:: @ 81DA8FF
- if_stat_level_less_than 1, 4, 9, AI_sub_81DA914
- if_random_less_than 100, AI_sub_81DA923
+AI_CV_SpAtkUp:: @ 81DA8FF
+ if_stat_level_less_than AI_USER, STAT_SPATK, 9, AI_CV_SpAtkUp2
+ if_random_less_than 100, AI_CV_SpAtkUp3
score -1
- jump AI_sub_81DA923
+ goto AI_CV_SpAtkUp3
-AI_sub_81DA914:: @ 81DA914
- if_hp_not_equal 1, 100, AI_sub_81DA923
- if_random_less_than -128, AI_sub_81DA923
- score 2
+AI_CV_SpAtkUp2:: @ 81DA914
+ if_hp_not_equal AI_USER, 100, AI_CV_SpAtkUp3
+ if_random_less_than 128, AI_CV_SpAtkUp3
+ score +2
-AI_sub_81DA923:: @ 81DA923
- if_hp_more_than 1, 70, AI_sub_81DA939
- if_hp_less_than 1, 40, AI_sub_81DA937
- if_random_less_than 70, AI_sub_81DA939
+AI_CV_SpAtkUp3:: @ 81DA923
+ if_hp_more_than AI_USER, 70, AI_CV_SpAtkUp_End
+ if_hp_less_than AI_USER, 40, AI_CV_SpAtkUp_ScoreDown2
+ if_random_less_than 70, AI_CV_SpAtkUp_End
-AI_sub_81DA937:: @ 81DA937
+AI_CV_SpAtkUp_ScoreDown2:: @ 81DA937
score -2
-AI_sub_81DA939:: @ 81DA939
+AI_CV_SpAtkUp_End:: @ 81DA939
end
-AI_sub_81DA93A:: @ 81DA93A
- if_stat_level_less_than 1, 5, 9, AI_sub_81DA94F
- if_random_less_than 100, AI_sub_81DA95E
+AI_CV_SpDefUp:: @ 81DA93A
+ if_stat_level_less_than AI_USER, STAT_SPDEF, 9, AI_CV_SpDefUp2
+ if_random_less_than 100, AI_CV_SpDefUp3
score -1
- jump AI_sub_81DA95E
+ goto AI_CV_SpDefUp3
-AI_sub_81DA94F:: @ 81DA94F
- if_hp_not_equal 1, 100, AI_sub_81DA95E
- if_random_less_than -128, AI_sub_81DA95E
- score 2
+AI_CV_SpDefUp2:: @ 81DA94F
+ if_hp_not_equal AI_USER, 100, AI_CV_SpDefUp3
+ if_random_less_than 128, AI_CV_SpDefUp3
+ score +2
-AI_sub_81DA95E:: @ 81DA95E
- if_hp_less_than 1, 70, AI_sub_81DA96B
- if_random_less_than -56, AI_sub_81DA995
+AI_CV_SpDefUp3:: @ 81DA95E
+ if_hp_less_than AI_USER, 70, AI_CV_SpDefUp4
+ if_random_less_than 200, AI_CV_SpDefUp_End
-AI_sub_81DA96B:: @ 81DA96B
- if_hp_less_than 1, 40, AI_sub_81DA993
- get_move 0
+AI_CV_SpDefUp4:: @ 81DA96B
+ if_hp_less_than AI_USER, 40, AI_CV_SpDefUp_ScoreDown2
+ get_last_used_move AI_TARGET
get_move_power_from_result
- if_equal 0, AI_sub_81DA98D
- get_move 0
+ if_equal 0, AI_CV_SpDefUp5
+ get_last_used_move AI_TARGET
get_move_type_from_result
- if_in_bytes AI_bytes_81DA996, AI_sub_81DA993
- if_random_less_than 60, AI_sub_81DA995
+ if_in_bytes AI_CV_SpDefUp_PhysicalTypes, AI_CV_SpDefUp_ScoreDown2
+ if_random_less_than 60, AI_CV_SpDefUp_End
-AI_sub_81DA98D:: @ 81DA98D
- if_random_less_than 60, AI_sub_81DA995
+AI_CV_SpDefUp5:: @ 81DA98D
+ if_random_less_than 60, AI_CV_SpDefUp_End
-AI_sub_81DA993:: @ 81DA993
+AI_CV_SpDefUp_ScoreDown2:: @ 81DA993
score -2
-AI_sub_81DA995:: @ 81DA995
+AI_CV_SpDefUp_End:: @ 81DA995
end
-AI_bytes_81DA996:: @ 81DA996
- .byte 0
- .byte 1
- .byte 3
- .byte 4
- .byte 2
- .byte 5
- .byte 6
- .byte 7
- .byte 8
- .byte 0xFF
+AI_CV_SpDefUp_PhysicalTypes:: @ 81DA996
+ .byte TYPE_NORMAL
+ .byte TYPE_FIGHTING
+ .byte TYPE_POISON
+ .byte TYPE_GROUND
+ .byte TYPE_FLYING
+ .byte TYPE_ROCK
+ .byte TYPE_BUG
+ .byte TYPE_GHOST
+ .byte TYPE_STEEL
+ .byte -1
-AI_sub_81DA9A0:: @ 81DA9A0
- if_stat_level_less_than 1, 6, 9, AI_sub_81DA9B0
- if_random_less_than 50, AI_sub_81DA9B0
+AI_CV_AccuracyUp:: @ 81DA9A0
+ if_stat_level_less_than AI_USER, STAT_ACC, 9, AI_CV_AccuracyUp2
+ if_random_less_than 50, AI_CV_AccuracyUp2
score -2
-AI_sub_81DA9B0:: @ 81DA9B0
- if_hp_more_than 1, 70, AI_sub_81DA9B9
+AI_CV_AccuracyUp2:: @ 81DA9B0
+ if_hp_more_than AI_USER, 70, AI_CV_AccuracyUp_End
score -2
-AI_sub_81DA9B9:: @ 81DA9B9
+AI_CV_AccuracyUp_End:: @ 81DA9B9
end
-AI_sub_81DA9BA:: @ 81DA9BA
- if_hp_less_than 1, 90, AI_sub_81DA9C9
- if_random_less_than 100, AI_sub_81DA9C9
- score 3
+AI_CV_EvasionUp:: @ 81DA9BA
+ if_hp_less_than AI_USER, 90, AI_CV_EvasionUp2
+ if_random_less_than 100, AI_CV_EvasionUp2
+ score +3
-AI_sub_81DA9C9:: @ 81DA9C9
- if_stat_level_less_than 1, 7, 9, AI_sub_81DA9D9
- if_random_less_than -128, AI_sub_81DA9D9
+AI_CV_EvasionUp2:: @ 81DA9C9
+ if_stat_level_less_than AI_USER, STAT_EVASION, 9, AI_CV_EvasionUp3
+ if_random_less_than 128, AI_CV_EvasionUp3
score -1
-AI_sub_81DA9D9:: @ 81DA9D9
- if_not_status 0, 128, AI_sub_81DA9F8
- if_hp_more_than 1, 50, AI_sub_81DA9F0
- if_random_less_than 80, AI_sub_81DA9F8
-
-AI_sub_81DA9F0:: @ 81DA9F0
- if_random_less_than 50, AI_sub_81DA9F8
- score 3
-
-AI_sub_81DA9F8:: @ 81DA9F8
- if_not_status3 0, 4, AI_sub_81DAA0A
- if_random_less_than 70, AI_sub_81DAA0A
- score 3
-
-AI_sub_81DAA0A:: @ 81DAA0A
- if_not_status3 1, 1024, AI_sub_81DAA1C
- if_random_less_than -128, AI_sub_81DAA1C
- score 2
-
-AI_sub_81DAA1C:: @ 81DAA1C
- if_not_status2 0, 268435456, AI_sub_81DAA2E
- if_random_less_than 70, AI_sub_81DAA2E
- score 3
-
-AI_sub_81DAA2E:: @ 81DAA2E
- if_hp_more_than 1, 70, AI_sub_81DAA53
- if_stat_level_equal 1, 7, 6, AI_sub_81DAA53
- if_hp_less_than 1, 40, AI_sub_81DAA51
- if_hp_less_than 0, 40, AI_sub_81DAA51
- if_random_less_than 70, AI_sub_81DAA53
-
-AI_sub_81DAA51:: @ 81DAA51
+AI_CV_EvasionUp3:: @ 81DA9D9
+ if_not_status AI_TARGET, STATUS1_TOXIC_POISON, AI_CV_EvasionUp5
+ if_hp_more_than AI_USER, 50, AI_CV_EvasionUp4
+ if_random_less_than 80, AI_CV_EvasionUp5
+
+AI_CV_EvasionUp4:: @ 81DA9F0
+ if_random_less_than 50, AI_CV_EvasionUp5
+ score +3
+
+AI_CV_EvasionUp5:: @ 81DA9F8
+ if_not_status3 AI_TARGET, STATUS3_LEECHSEED, AI_CV_EvasionUp6
+ if_random_less_than 70, AI_CV_EvasionUp6
+ score +3
+
+AI_CV_EvasionUp6:: @ 81DAA0A
+ if_not_status3 AI_USER, STATUS3_ROOTED, AI_CV_EvasionUp7
+ if_random_less_than 128, AI_CV_EvasionUp7
+ score +2
+
+AI_CV_EvasionUp7:: @ 81DAA1C
+ if_not_status2 AI_TARGET, STATUS2_CURSED, AI_CV_EvasionUp8
+ if_random_less_than 70, AI_CV_EvasionUp8
+ score +3
+
+AI_CV_EvasionUp8:: @ 81DAA2E
+ if_hp_more_than AI_USER, 70, AI_CV_EvasionUp_End
+ if_stat_level_equal AI_USER, STAT_EVASION, 6, AI_CV_EvasionUp_End
+ if_hp_less_than AI_USER, 40, AI_CV_EvasionUp_ScoreDown2
+ if_hp_less_than AI_TARGET, 40, AI_CV_EvasionUp_ScoreDown2
+ if_random_less_than 70, AI_CV_EvasionUp_End
+
+AI_CV_EvasionUp_ScoreDown2:: @ 81DAA51
score -2
-AI_sub_81DAA53:: @ 81DAA53
+AI_CV_EvasionUp_End:: @ 81DAA53
end
-AI_sub_81DAA54:: @ 81DAA54
- if_stat_level_more_than 0, 7, 10, AI_sub_81DAA79
- if_stat_level_less_than 1, 6, 2, AI_sub_81DAA79
- if_stat_level_more_than 0, 7, 8, AI_sub_81DAA7B
- if_stat_level_less_than 1, 6, 4, AI_sub_81DAA7B
- jump AI_sub_81DAA83
+AI_CV_AlwaysHit:: @ 81DAA54
+ if_stat_level_more_than AI_TARGET, STAT_EVASION, 10, AI_CV_AlwaysHit_ScoreUp1
+ if_stat_level_less_than AI_USER, STAT_ACC, 2, AI_CV_AlwaysHit_ScoreUp1
+ if_stat_level_more_than AI_TARGET, STAT_EVASION, 8, AI_CV_AlwaysHit2
+ if_stat_level_less_than AI_USER, STAT_ACC, 4, AI_CV_AlwaysHit2
+ goto AI_CV_AlwaysHit_End
-AI_sub_81DAA79:: @ 81DAA79
- score 1
+AI_CV_AlwaysHit_ScoreUp1:: @ 81DAA79
+ score +1
-AI_sub_81DAA7B:: @ 81DAA7B
- if_random_less_than 100, AI_sub_81DAA83
- score 1
+AI_CV_AlwaysHit2:: @ 81DAA7B
+ if_random_less_than 100, AI_CV_AlwaysHit_End
+ score +1
-AI_sub_81DAA83:: @ 81DAA83
+AI_CV_AlwaysHit_End:: @ 81DAA83
end
-AI_sub_81DAA84:: @ 81DAA84
- if_stat_level_equal 0, 1, 6, AI_sub_81DAAA7
+AI_CV_AttackDown:: @ 81DAA84
+ if_stat_level_equal AI_TARGET, STAT_ATK, 6, AI_CV_AttackDown3
score -1
- if_hp_more_than 1, 90, AI_sub_81DAA97
+ if_hp_more_than AI_USER, 90, AI_CV_AttackDown2
score -1
-AI_sub_81DAA97:: @ 81DAA97
- if_stat_level_more_than 0, 1, 3, AI_sub_81DAAA7
- if_random_less_than 50, AI_sub_81DAAA7
+AI_CV_AttackDown2:: @ 81DAA97
+ if_stat_level_more_than AI_TARGET, STAT_ATK, 3, AI_CV_AttackDown3
+ if_random_less_than 50, AI_CV_AttackDown3
score -2
-AI_sub_81DAAA7:: @ 81DAAA7
- if_hp_more_than 0, 70, AI_sub_81DAAB0
+AI_CV_AttackDown3:: @ 81DAAA7
+ if_hp_more_than AI_TARGET, 70, AI_CV_AttackDown4
score -2
-AI_sub_81DAAB0:: @ 81DAAB0
- get_type 0
- if_in_bytes AI_bytes_81DAACF, AI_sub_81DAACE
- get_type 2
- if_in_bytes AI_bytes_81DAACF, AI_sub_81DAACE
- if_random_less_than 50, AI_sub_81DAACE
+AI_CV_AttackDown4:: @ 81DAAB0
+ get_target_type1
+ if_in_bytes AI_CV_AttackDown_PhysicalTypeList, AI_CV_AttackDown_End
+ get_target_type2
+ if_in_bytes AI_CV_AttackDown_PhysicalTypeList, AI_CV_AttackDown_End
+ if_random_less_than 50, AI_CV_AttackDown_End
score -2
-AI_sub_81DAACE:: @ 81DAACE
+AI_CV_AttackDown_End:: @ 81DAACE
end
-AI_bytes_81DAACF:: @ 81DAACF
- .byte 0
- .byte 1
- .byte 4
- .byte 5
- .byte 6
- .byte 8
- .byte 0xFF
+@ Missing Poison, Flying, and Ghost for unknown reason
+AI_CV_AttackDown_PhysicalTypeList:: @ 81DAACF
+ .byte TYPE_NORMAL
+ .byte TYPE_FIGHTING
+ .byte TYPE_GROUND
+ .byte TYPE_ROCK
+ .byte TYPE_BUG
+ .byte TYPE_STEEL
+ .byte -1
-AI_sub_81DAAD6:: @ 81DAAD6
- if_hp_less_than 1, 70, AI_sub_81DAAE5
- if_stat_level_more_than 0, 2, 3, AI_sub_81DAAED
+AI_CV_DefenseDown:: @ 81DAAD6
+ if_hp_less_than AI_USER, 70, AI_CV_DefenseDown2
+ if_stat_level_more_than AI_TARGET, STAT_DEF, 3, AI_CV_DefenseDown3
-AI_sub_81DAAE5:: @ 81DAAE5
- if_random_less_than 50, AI_sub_81DAAED
+AI_CV_DefenseDown2:: @ 81DAAE5
+ if_random_less_than 50, AI_CV_DefenseDown3
score -2
-AI_sub_81DAAED:: @ 81DAAED
- if_hp_more_than 0, 70, AI_sub_81DAAF6
+AI_CV_DefenseDown3:: @ 81DAAED
+ if_hp_more_than AI_TARGET, 70, AI_CV_DefenseDown_End
score -2
-AI_sub_81DAAF6:: @ 81DAAF6
+AI_CV_DefenseDown_End:: @ 81DAAF6
end
-AI_sub_81DAAF7:: @ 81DAAF7
- if_move 196, AI_sub_81DAB0D
- if_move 317, AI_sub_81DAB0D
- if_move 341, AI_sub_81DAB0D
+AI_CV_SpeedDownFromChance:: @ 81DAAF7
+ if_move MOVE_ICY_WIND, AI_CV_SpeedDown
+ if_move MOVE_ROCK_TOMB, AI_CV_SpeedDown
+ if_move MOVE_MUD_SHOT, AI_CV_SpeedDown
end
-AI_sub_81DAB0D:: @ 81DAB0D
- if_would_go_first 1, AI_sub_81DAB1A
+AI_CV_SpeedDown:: @ 81DAB0D
+ if_target_faster AI_CV_SpeedDown2
score -3
- jump AI_sub_81DAB22
+ goto AI_CV_SpeedDown_End
-AI_sub_81DAB1A:: @ 81DAB1A
- if_random_less_than 70, AI_sub_81DAB22
- score 2
+AI_CV_SpeedDown2:: @ 81DAB1A
+ if_random_less_than 70, AI_CV_SpeedDown_End
+ score +2
-AI_sub_81DAB22:: @ 81DAB22
+AI_CV_SpeedDown_End:: @ 81DAB22
end
-AI_sub_81DAB23:: @ 81DAB23
- if_stat_level_equal 0, 1, 6, AI_sub_81DAB46
+AI_CV_SpAtkDown:: @ 81DAB23
+ if_stat_level_equal AI_TARGET, STAT_ATK, 6, AI_CV_SpAtkDown3
score -1
- if_hp_more_than 1, 90, AI_sub_81DAB36
+ if_hp_more_than AI_USER, 90, AI_CV_SpAtkDown2
score -1
-AI_sub_81DAB36:: @ 81DAB36
- if_stat_level_more_than 0, 4, 3, AI_sub_81DAB46
- if_random_less_than 50, AI_sub_81DAB46
+AI_CV_SpAtkDown2:: @ 81DAB36
+ if_stat_level_more_than AI_TARGET, STAT_SPATK, 3, AI_CV_SpAtkDown3
+ if_random_less_than 50, AI_CV_SpAtkDown3
score -2
-AI_sub_81DAB46:: @ 81DAB46
- if_hp_more_than 0, 70, AI_sub_81DAB4F
+AI_CV_SpAtkDown3:: @ 81DAB46
+ if_hp_more_than AI_TARGET, 70, AI_CV_SpAtkDown4
score -2
-AI_sub_81DAB4F:: @ 81DAB4F
- get_type 0
- if_in_bytes AI_bytes_81DAB6E, AI_sub_81DAB6D
- get_type 2
- if_in_bytes AI_bytes_81DAB6E, AI_sub_81DAB6D
- if_random_less_than 50, AI_sub_81DAB6D
+AI_CV_SpAtkDown4:: @ 81DAB4F
+ get_target_type1
+ if_in_bytes AI_CV_SpAtkDown_SpecialTypeList, AI_CV_SpAtkDown_End
+ get_target_type2
+ if_in_bytes AI_CV_SpAtkDown_SpecialTypeList, AI_CV_SpAtkDown_End
+ if_random_less_than 50, AI_CV_SpAtkDown_End
score -2
-AI_sub_81DAB6D:: @ 81DAB6D
+AI_CV_SpAtkDown_End:: @ 81DAB6D
end
-AI_bytes_81DAB6E:: @ 81DAB6E
- .byte 10
- .byte 11
- .byte 12
- .byte 13
- .byte 14
- .byte 15
- .byte 16
- .byte 17
- .byte 0xFF
+AI_CV_SpAtkDown_SpecialTypeList:: @ 81DAB6E
+ .byte TYPE_FIRE
+ .byte TYPE_WATER
+ .byte TYPE_GRASS
+ .byte TYPE_ELECTRIC
+ .byte TYPE_PSYCHIC
+ .byte TYPE_ICE
+ .byte TYPE_DRAGON
+ .byte TYPE_DARK
+ .byte -1
-AI_sub_81DAB77:: @ 81DAB77
- if_hp_less_than 1, 70, AI_sub_81DAB86
- if_stat_level_more_than 0, 5, 3, AI_sub_81DAB8E
+AI_CV_SpDefDown:: @ 81DAB77
+ if_hp_less_than AI_USER, 70, AI_CV_SpDefDown2
+ if_stat_level_more_than AI_TARGET, STAT_SPDEF, 3, AI_CV_SpDefDown3
-AI_sub_81DAB86:: @ 81DAB86
- if_random_less_than 50, AI_sub_81DAB8E
+AI_CV_SpDefDown2:: @ 81DAB86
+ if_random_less_than 50, AI_CV_SpDefDown3
score -2
-AI_sub_81DAB8E:: @ 81DAB8E
- if_hp_more_than 0, 70, AI_sub_81DAB97
+AI_CV_SpDefDown3:: @ 81DAB8E
+ if_hp_more_than AI_TARGET, 70, AI_CV_SpDefDown_End
score -2
-AI_sub_81DAB97:: @ 81DAB97
+AI_CV_SpDefDown_End:: @ 81DAB97
end
-AI_sub_81DAB98:: @ 81DAB98
- if_hp_less_than 1, 70, AI_sub_81DABA6
- if_hp_more_than 0, 70, AI_sub_81DABAE
+AI_CV_AccuracyDown:: @ 81DAB98
+ if_hp_less_than AI_USER, 70, AI_CV_AccuracyDown2
+ if_hp_more_than AI_TARGET, 70, AI_CV_AccuracyDown3
-AI_sub_81DABA6:: @ 81DABA6
- if_random_less_than 100, AI_sub_81DABAE
+AI_CV_AccuracyDown2:: @ 81DABA6
+ if_random_less_than 100, AI_CV_AccuracyDown3
score -1
-AI_sub_81DABAE:: @ 81DABAE
- if_stat_level_more_than 1, 6, 4, AI_sub_81DABBE
- if_random_less_than 80, AI_sub_81DABBE
+AI_CV_AccuracyDown3:: @ 81DABAE
+ if_stat_level_more_than AI_USER, STAT_ACC, 4, AI_CV_AccuracyDown4
+ if_random_less_than 80, AI_CV_AccuracyDown4
score -2
-AI_sub_81DABBE:: @ 81DABBE
- if_not_status 0, 128, AI_sub_81DABD0
- if_random_less_than 70, AI_sub_81DABD0
- score 2
-
-AI_sub_81DABD0:: @ 81DABD0
- if_not_status3 0, 4, AI_sub_81DABE2
- if_random_less_than 70, AI_sub_81DABE2
- score 2
-
-AI_sub_81DABE2:: @ 81DABE2
- if_not_status3 1, 1024, AI_sub_81DABF4
- if_random_less_than -128, AI_sub_81DABF4
- score 1
-
-AI_sub_81DABF4:: @ 81DABF4
- if_not_status2 0, 268435456, AI_sub_81DAC06
- if_random_less_than 70, AI_sub_81DAC06
- score 2
-
-AI_sub_81DAC06:: @ 81DAC06
- if_hp_more_than 1, 70, AI_sub_81DAC2B
- if_stat_level_equal 0, 6, 6, AI_sub_81DAC2B
- if_hp_less_than 1, 40, AI_sub_81DAC29
- if_hp_less_than 0, 40, AI_sub_81DAC29
- if_random_less_than 70, AI_sub_81DAC2B
-
-AI_sub_81DAC29:: @ 81DAC29
+AI_CV_AccuracyDown4:: @ 81DABBE
+ if_not_status AI_TARGET, STATUS1_TOXIC_POISON, AI_CV_AccuracyDown5
+ if_random_less_than 70, AI_CV_AccuracyDown5
+ score +2
+
+AI_CV_AccuracyDown5:: @ 81DABD0
+ if_not_status3 AI_TARGET, STATUS3_LEECHSEED, AI_CV_AccuracyDown6
+ if_random_less_than 70, AI_CV_AccuracyDown6
+ score +2
+
+AI_CV_AccuracyDown6:: @ 81DABE2
+ if_not_status3 AI_USER, STATUS3_ROOTED, AI_CV_AccuracyDown7
+ if_random_less_than 128, AI_CV_AccuracyDown7
+ score +1
+
+AI_CV_AccuracyDown7:: @ 81DABF4
+ if_not_status2 AI_TARGET, STATUS2_CURSED, AI_CV_AccuracyDown8
+ if_random_less_than 70, AI_CV_AccuracyDown8
+ score +2
+
+AI_CV_AccuracyDown8:: @ 81DAC06
+ if_hp_more_than AI_USER, 70, AI_CV_AccuracyDown_End
+ if_stat_level_equal AI_TARGET, STAT_ACC, 6, AI_CV_AccuracyDown_End
+ if_hp_less_than AI_USER, 40, AI_CV_AccuracyDown_ScoreDown2
+ if_hp_less_than AI_TARGET, 40, AI_CV_AccuracyDown_ScoreDown2
+ if_random_less_than 70, AI_CV_AccuracyDown_End
+
+AI_CV_AccuracyDown_ScoreDown2:: @ 81DAC29
score -2
-AI_sub_81DAC2B:: @ 81DAC2B
+AI_CV_AccuracyDown_End:: @ 81DAC2B
end
-AI_sub_81DAC2C:: @ 81DAC2C
- if_hp_less_than 1, 70, AI_sub_81DAC3B
- if_stat_level_more_than 0, 7, 3, AI_sub_81DAC43
+AI_CV_EvasionDown:: @ 81DAC2C
+ if_hp_less_than AI_USER, 70, AI_CV_EvasionDown2
+ if_stat_level_more_than AI_TARGET, STAT_EVASION, 3, AI_CV_EvasionDown3
-AI_sub_81DAC3B:: @ 81DAC3B
- if_random_less_than 50, AI_sub_81DAC43
+AI_CV_EvasionDown2:: @ 81DAC3B
+ if_random_less_than 50, AI_CV_EvasionDown3
score -2
-AI_sub_81DAC43:: @ 81DAC43
- if_hp_more_than 0, 70, AI_sub_81DAC4C
+AI_CV_EvasionDown3:: @ 81DAC43
+ if_hp_more_than AI_TARGET, 70, AI_CV_EvasionDown_End
score -2
-AI_sub_81DAC4C:: @ 81DAC4C
+AI_CV_EvasionDown_End:: @ 81DAC4C
end
-AI_sub_81DAC4D:: @ 81DAC4D
- if_stat_level_more_than 1, 1, 8, AI_sub_81DACA2
- if_stat_level_more_than 1, 2, 8, AI_sub_81DACA2
- if_stat_level_more_than 1, 4, 8, AI_sub_81DACA2
- if_stat_level_more_than 1, 5, 8, AI_sub_81DACA2
- if_stat_level_more_than 1, 7, 8, AI_sub_81DACA2
- if_stat_level_less_than 0, 1, 4, AI_sub_81DACA2
- if_stat_level_less_than 0, 2, 4, AI_sub_81DACA2
- if_stat_level_less_than 0, 4, 4, AI_sub_81DACA2
- if_stat_level_less_than 0, 5, 4, AI_sub_81DACA2
- if_stat_level_less_than 0, 6, 4, AI_sub_81DACA2
- jump AI_sub_81DACAA
+AI_CV_Haze:: @ 81DAC4D
+ if_stat_level_more_than AI_USER, STAT_ATK, 8, AI_CV_Haze2
+ if_stat_level_more_than AI_USER, STAT_DEF, 8, AI_CV_Haze2
+ if_stat_level_more_than AI_USER, STAT_SPATK, 8, AI_CV_Haze2
+ if_stat_level_more_than AI_USER, STAT_SPDEF, 8, AI_CV_Haze2
+ if_stat_level_more_than AI_USER, STAT_EVASION, 8, AI_CV_Haze2
+ if_stat_level_less_than AI_TARGET, STAT_ATK, 4, AI_CV_Haze2
+ if_stat_level_less_than AI_TARGET, STAT_DEF, 4, AI_CV_Haze2
+ if_stat_level_less_than AI_TARGET, STAT_SPATK, 4, AI_CV_Haze2
+ if_stat_level_less_than AI_TARGET, STAT_SPDEF, 4, AI_CV_Haze2
+ if_stat_level_less_than AI_TARGET, STAT_ACC, 4, AI_CV_Haze2
+ goto AI_CV_Haze3
-AI_sub_81DACA2:: @ 81DACA2
- if_random_less_than 50, AI_sub_81DACAA
+AI_CV_Haze2:: @ 81DACA2
+ if_random_less_than 50, AI_CV_Haze3
score -3
-AI_sub_81DACAA:: @ 81DACAA
- if_stat_level_more_than 0, 1, 8, AI_sub_81DAD07
- if_stat_level_more_than 0, 2, 8, AI_sub_81DAD07
- if_stat_level_more_than 0, 4, 8, AI_sub_81DAD07
- if_stat_level_more_than 0, 5, 8, AI_sub_81DAD07
- if_stat_level_more_than 0, 7, 8, AI_sub_81DAD07
- if_stat_level_less_than 1, 1, 4, AI_sub_81DAD07
- if_stat_level_less_than 1, 2, 4, AI_sub_81DAD07
- if_stat_level_less_than 1, 4, 4, AI_sub_81DAD07
- if_stat_level_less_than 1, 5, 4, AI_sub_81DAD07
- if_stat_level_less_than 1, 6, 4, AI_sub_81DAD07
- if_random_less_than 50, AI_sub_81DAD0F
+AI_CV_Haze3:: @ 81DACAA
+ if_stat_level_more_than AI_TARGET, STAT_ATK, 8, AI_CV_Haze4
+ if_stat_level_more_than AI_TARGET, STAT_DEF, 8, AI_CV_Haze4
+ if_stat_level_more_than AI_TARGET, STAT_SPATK, 8, AI_CV_Haze4
+ if_stat_level_more_than AI_TARGET, STAT_SPDEF, 8, AI_CV_Haze4
+ if_stat_level_more_than AI_TARGET, STAT_EVASION, 8, AI_CV_Haze4
+ if_stat_level_less_than AI_USER, STAT_ATK, 4, AI_CV_Haze4
+ if_stat_level_less_than AI_USER, STAT_DEF, 4, AI_CV_Haze4
+ if_stat_level_less_than AI_USER, STAT_SPATK, 4, AI_CV_Haze4
+ if_stat_level_less_than AI_USER, STAT_SPDEF, 4, AI_CV_Haze4
+ if_stat_level_less_than AI_USER, STAT_ACC, 4, AI_CV_Haze4
+ if_random_less_than 50, AI_CV_Haze_End
score -1
- jump AI_sub_81DAD0F
+ goto AI_CV_Haze_End
-AI_sub_81DAD07:: @ 81DAD07
- if_random_less_than 50, AI_sub_81DAD0F
- score 3
+AI_CV_Haze4:: @ 81DAD07
+ if_random_less_than 50, AI_CV_Haze_End
+ score +3
-AI_sub_81DAD0F:: @ 81DAD0F
+AI_CV_Haze_End:: @ 81DAD0F
end
-AI_sub_81DAD10:: @ 81DAD10
- if_hp_more_than 1, 90, AI_sub_81DAD19
+AI_CV_Bide:: @ 81DAD10
+ if_hp_more_than AI_USER, 90, AI_CV_Bide_End
score -2
-AI_sub_81DAD19:: @ 81DAD19
+AI_CV_Bide_End:: @ 81DAD19
end
-AI_sub_81DAD1A:: @ 81DAD1A
- if_stat_level_more_than 0, 1, 8, AI_sub_81DAD49
- if_stat_level_more_than 0, 2, 8, AI_sub_81DAD49
- if_stat_level_more_than 0, 4, 8, AI_sub_81DAD49
- if_stat_level_more_than 0, 5, 8, AI_sub_81DAD49
- if_stat_level_more_than 0, 7, 8, AI_sub_81DAD49
+AI_CV_Roar:: @ 81DAD1A
+ if_stat_level_more_than AI_TARGET, STAT_ATK, 8, AI_CV_Roar2
+ if_stat_level_more_than AI_TARGET, STAT_DEF, 8, AI_CV_Roar2
+ if_stat_level_more_than AI_TARGET, STAT_SPATK, 8, AI_CV_Roar2
+ if_stat_level_more_than AI_TARGET, STAT_SPDEF, 8, AI_CV_Roar2
+ if_stat_level_more_than AI_TARGET, STAT_EVASION, 8, AI_CV_Roar2
score -3
- jump AI_sub_81DAD51
+ goto AI_CV_Roar_End
-AI_sub_81DAD49:: @ 81DAD49
- if_random_less_than -128, AI_sub_81DAD51
- score 2
+AI_CV_Roar2:: @ 81DAD49
+ if_random_less_than 128, AI_CV_Roar_End
+ score +2
-AI_sub_81DAD51:: @ 81DAD51
+AI_CV_Roar_End:: @ 81DAD51
end
-AI_sub_81DAD52:: @ 81DAD52
- if_hp_more_than 1, 90, AI_sub_81DAD5B
+AI_CV_Conversion:: @ 81DAD52
+ if_hp_more_than AI_USER, 90, AI_CV_Conversion2
score -2
-AI_sub_81DAD5B:: @ 81DAD5B
+AI_CV_Conversion2:: @ 81DAD5B
get_turn_count
- if_equal 0, AI_sub_81DAD68
- if_random_less_than -56, AI_sub_81DA427
+ if_equal 0, AI_CV_Conversion_End
+ if_random_less_than 200, Score_Minus2
-AI_sub_81DAD68:: @ 81DAD68
+AI_CV_Conversion_End:: @ 81DAD68
end
-AI_sub_81DAD69:: @ 81DAD69
+AI_CV_HealWeather:: @ 81DAD69
get_weather
- if_equal 3, AI_sub_81DAD81
- if_equal 1, AI_sub_81DAD81
- if_equal 2, AI_sub_81DAD81
- jump AI_sub_81DAD83
+ if_equal AI_WEATHER_HAIL, AI_CV_HealWeather_ScoreDown2
+ if_equal AI_WEATHER_RAIN, AI_CV_HealWeather_ScoreDown2
+ if_equal AI_WEATHER_SANDSTORM, AI_CV_HealWeather_ScoreDown2
+ goto AI_CV_Heal
-AI_sub_81DAD81:: @ 81DAD81
+AI_CV_HealWeather_ScoreDown2:: @ 81DAD81
score -2
-AI_sub_81DAD83:: @ 81DAD83
- if_hp_equal 1, 100, AI_sub_81DADAB
- if_would_go_first 1, AI_sub_81DADB2
+AI_CV_Heal:: @ 81DAD83
+ if_hp_equal AI_USER, 100, AI_CV_Heal3
+ if_target_faster AI_CV_Heal4
score -8
- jump AI_sub_81DADDB
- if_hp_less_than 1, 50, AI_sub_81DADC6
- if_hp_more_than 1, 80, AI_sub_81DADAB
- if_random_less_than 70, AI_sub_81DADC6
+ goto AI_CV_Heal_End
+
+@ Never reached
+AI_CV_Heal2:
+ if_hp_less_than AI_USER, 50, AI_CV_Heal5
+ if_hp_more_than AI_USER, 80, AI_CV_Heal3
+ if_random_less_than 70, AI_CV_Heal5
-AI_sub_81DADAB:: @ 81DADAB
+AI_CV_Heal3:: @ 81DADAB
score -3
- jump AI_sub_81DADDB
+ goto AI_CV_Heal_End
-AI_sub_81DADB2:: @ 81DADB2
- if_hp_less_than 1, 70, AI_sub_81DADC6
- if_random_less_than 30, AI_sub_81DADC6
+AI_CV_Heal4:: @ 81DADB2
+ if_hp_less_than AI_USER, 70, AI_CV_Heal5
+ if_random_less_than 30, AI_CV_Heal5
score -3
- jump AI_sub_81DADDB
+ goto AI_CV_Heal_End
-AI_sub_81DADC6:: @ 81DADC6
- if_not_move_effect 0, -61, AI_sub_81DADD3
- if_random_less_than 100, AI_sub_81DADDB
+AI_CV_Heal5:: @ 81DADC6
+ if_doesnt_have_move_with_effect AI_TARGET, EFFECT_SNATCH, AI_CV_Heal6
+ if_random_less_than 100, AI_CV_Heal_End
-AI_sub_81DADD3:: @ 81DADD3
- if_random_less_than 20, AI_sub_81DADDB
- score 2
+AI_CV_Heal6:: @ 81DADD3
+ if_random_less_than 20, AI_CV_Heal_End
+ score +2
-AI_sub_81DADDB:: @ 81DADDB
+AI_CV_Heal_End:: @ 81DADDB
end
-AI_sub_81DADDC:: @ 81DADDC
- if_user_cant_damage AI_sub_81DADFF
- if_hp_more_than 1, 50, AI_sub_81DADF0
- if_random_less_than 50, AI_sub_81DADF0
+AI_CV_Toxic:: @ 81DADDC
+ if_user_has_no_attacking_moves AI_CV_Toxic3
+ if_hp_more_than AI_USER, 50, AI_CV_Toxic2
+ if_random_less_than 50, AI_CV_Toxic2
score -3
-AI_sub_81DADF0:: @ 81DADF0
- if_hp_more_than 0, 50, AI_sub_81DADFF
- if_random_less_than 50, AI_sub_81DADFF
+AI_CV_Toxic2:: @ 81DADF0
+ if_hp_more_than AI_TARGET, 50, AI_CV_Toxic3
+ if_random_less_than 50, AI_CV_Toxic3
score -3
-AI_sub_81DADFF:: @ 81DADFF
- if_move_effect 1, 14, AI_sub_81DAE12
- if_move_effect 1, 111, AI_sub_81DAE12
- jump AI_sub_81DAE1A
+AI_CV_Toxic3:: @ 81DADFF
+ if_has_move_with_effect AI_USER, EFFECT_SPECIAL_DEFENSE_UP, AI_CV_Toxic4
+ if_has_move_with_effect AI_USER, EFFECT_PROTECT, AI_CV_Toxic4
+ goto AI_CV_Toxic_End
-AI_sub_81DAE12:: @ 81DAE12
- if_random_less_than 60, AI_sub_81DAE1A
- score 2
+AI_CV_Toxic4:: @ 81DAE12
+ if_random_less_than 60, AI_CV_Toxic_End
+ score +2
-AI_sub_81DAE1A:: @ 81DAE1A
+AI_CV_Toxic_End:: @ 81DAE1A
end
-AI_sub_81DAE1B:: @ 81DAE1B
- if_hp_less_than 1, 50, AI_sub_81DAE3E
- get_type 0
- if_in_bytes AI_bytes_81DAE41, AI_sub_81DAE40
- get_type 2
- if_in_bytes AI_bytes_81DAE41, AI_sub_81DAE40
- if_random_less_than 50, AI_sub_81DAE40
+AI_CV_LightScreen:: @ 81DAE1B
+ if_hp_less_than AI_USER, 50, AI_CV_LightScreen_ScoreDown2
+ get_target_type1
+ if_in_bytes AI_CV_LightScreen_SpecialTypeList, AI_CV_LightScreen_End
+ get_target_type2
+ if_in_bytes AI_CV_LightScreen_SpecialTypeList, AI_CV_LightScreen_End
+ if_random_less_than 50, AI_CV_LightScreen_End
-AI_sub_81DAE3E:: @ 81DAE3E
+AI_CV_LightScreen_ScoreDown2:: @ 81DAE3E
score -2
-AI_sub_81DAE40:: @ 81DAE40
+AI_CV_LightScreen_End:: @ 81DAE40
end
-AI_bytes_81DAE41:: @ 81DAE41
- .byte 10
- .byte 11
- .byte 12
- .byte 13
- .byte 14
- .byte 15
- .byte 16
- .byte 17
- .byte 0xFF
+AI_CV_LightScreen_SpecialTypeList:: @ 81DAE41
+ .byte TYPE_FIRE
+ .byte TYPE_WATER
+ .byte TYPE_GRASS
+ .byte TYPE_ELECTRIC
+ .byte TYPE_PSYCHIC
+ .byte TYPE_ICE
+ .byte TYPE_DRAGON
+ .byte TYPE_DARK
+ .byte -1
-AI_sub_81DAE4A:: @ 81DAE4A
- if_would_go_first 1, AI_sub_81DAE79
- if_hp_not_equal 1, 100, AI_sub_81DAE5E
+AI_CV_Rest:: @ 81DAE4A
+ if_target_faster AI_CV_Rest4
+ if_hp_not_equal AI_USER, 100, AI_CV_Rest2
score -8
- jump AI_sub_81DAEA9
+ goto AI_CV_Rest_End
-AI_sub_81DAE5E:: @ 81DAE5E
- if_hp_less_than 1, 40, AI_sub_81DAE94
- if_hp_more_than 1, 50, AI_sub_81DAE72
- if_random_less_than 70, AI_sub_81DAE94
+AI_CV_Rest2:: @ 81DAE5E
+ if_hp_less_than AI_USER, 40, AI_CV_Rest6
+ if_hp_more_than AI_USER, 50, AI_CV_Rest3
+ if_random_less_than 70, AI_CV_Rest6
-AI_sub_81DAE72:: @ 81DAE72
+AI_CV_Rest3:: @ 81DAE72
score -3
- jump AI_sub_81DAEA9
+ goto AI_CV_Rest_End
-AI_sub_81DAE79:: @ 81DAE79
- if_hp_less_than 1, 60, AI_sub_81DAE94
- if_hp_more_than 1, 70, AI_sub_81DAE8D
- if_random_less_than 50, AI_sub_81DAE94
+AI_CV_Rest4:: @ 81DAE79
+ if_hp_less_than AI_USER, 60, AI_CV_Rest6
+ if_hp_more_than AI_USER, 70, AI_CV_Rest5
+ if_random_less_than 50, AI_CV_Rest6
-AI_sub_81DAE8D:: @ 81DAE8D
+AI_CV_Rest5:: @ 81DAE8D
score -3
- jump AI_sub_81DAEA9
+ goto AI_CV_Rest_End
-AI_sub_81DAE94:: @ 81DAE94
- if_not_move_effect 0, -61, AI_sub_81DAEA1
- if_random_less_than 50, AI_sub_81DAEA9
+AI_CV_Rest6:: @ 81DAE94
+ if_doesnt_have_move_with_effect AI_TARGET, EFFECT_SNATCH, AI_CV_Rest7
+ if_random_less_than 50, AI_CV_Rest_End
-AI_sub_81DAEA1:: @ 81DAEA1
- if_random_less_than 10, AI_sub_81DAEA9
- score 3
+AI_CV_Rest7:: @ 81DAEA1
+ if_random_less_than 10, AI_CV_Rest_End
+ score +3
-AI_sub_81DAEA9:: @ 81DAEA9
+AI_CV_Rest_End:: @ 81DAEA9
end
-AI_sub_81DAEAA:: @ 81DAEAA
+AI_CV_OneHitKO:: @ 81DAEAA
end
-AI_sub_81DAEAB:: @ 81DAEAB
- if_hp_more_than 0, 50, AI_sub_81DAEB4
+AI_CV_SuperFang:: @ 81DAEAB
+ if_hp_more_than AI_TARGET, 50, AI_CV_SuperFang_End
score -1
-AI_sub_81DAEB4:: @ 81DAEB4
+AI_CV_SuperFang_End:: @ 81DAEB4
end
-AI_sub_81DAEB5:: @ 81DAEB5
- if_status 0, 128, AI_sub_81DAEE2
- if_status2 0, 268435456, AI_sub_81DAEE2
- if_status3 0, 32, AI_sub_81DAEE2
- if_status2 0, 983040, AI_sub_81DAEE2
- jump AI_sub_81DAEEA
+AI_CV_Trap:: @ 81DAEB5
+ if_status AI_TARGET, STATUS1_TOXIC_POISON, AI_CV_Trap2
+ if_status2 AI_TARGET, STATUS2_CURSED, AI_CV_Trap2
+ if_status3 AI_TARGET, STATUS3_PERISH_SONG, AI_CV_Trap2
+ if_status2 AI_TARGET, STATUS2_INFATUATION, AI_CV_Trap2
+ goto AI_CV_Trap_End
-AI_sub_81DAEE2:: @ 81DAEE2
- if_random_less_than -128, AI_sub_81DAEEA
- score 1
+AI_CV_Trap2:: @ 81DAEE2
+ if_random_less_than 128, AI_CV_Trap_End
+ score +1
-AI_sub_81DAEEA:: @ 81DAEEA
+AI_CV_Trap_End:: @ 81DAEEA
end
-AI_sub_81DAEEB:: @ 81DAEEB
- if_damage_bonus 10, AI_sub_81DAF11
- if_damage_bonus 20, AI_sub_81DAF11
- if_damage_bonus 80, AI_sub_81DAF09
- if_damage_bonus -96, AI_sub_81DAF09
- if_random_less_than -128, AI_sub_81DAF11
+AI_CV_HighCrit:: @ 81DAEEB
+ if_type_effectiveness AI_EFFECTIVENESS_x0_25, AI_CV_HighCrit_End
+ if_type_effectiveness AI_EFFECTIVENESS_x0_5, AI_CV_HighCrit_End
+ if_type_effectiveness AI_EFFECTIVENESS_x2, AI_CV_HighCrit2
+ if_type_effectiveness AI_EFFECTIVENESS_x4, AI_CV_HighCrit2
+ if_random_less_than 128, AI_CV_HighCrit_End
-AI_sub_81DAF09:: @ 81DAF09
- if_random_less_than -128, AI_sub_81DAF11
- score 1
+AI_CV_HighCrit2:: @ 81DAF09
+ if_random_less_than 128, AI_CV_HighCrit_End
+ score +1
-AI_sub_81DAF11:: @ 81DAF11
+AI_CV_HighCrit_End:: @ 81DAF11
end
-AI_sub_81DAF12:: @ 81DAF12
- if_random_less_than -128, AI_sub_81DAF1A
- score 1
+@ Improvement in Emerald
+@AI_CV_Swagger:
+@ if_has_move AI_USER, MOVE_PSYCH_UP, AI_CV_SwaggerHasPsychUp
+
+AI_CV_Flatter:: @ 81DAF12
+ if_random_less_than 128, AI_CV_Confuse
+ score +1
-AI_sub_81DAF1A:: @ 81DAF1A
- if_hp_more_than 0, 70, AI_sub_81DAF3B
- if_random_less_than -128, AI_sub_81DAF29
+AI_CV_Confuse:: @ 81DAF1A
+ if_hp_more_than AI_TARGET, 70, AI_CV_Confuse_End
+ if_random_less_than 128, AI_CV_Confuse2
score -1
-AI_sub_81DAF29:: @ 81DAF29
- if_hp_more_than 0, 50, AI_sub_81DAF3B
+AI_CV_Confuse2:: @ 81DAF29
+ if_hp_more_than AI_TARGET, 50, AI_CV_Confuse_End
score -1
- if_hp_more_than 0, 30, AI_sub_81DAF3B
+ if_hp_more_than AI_TARGET, 30, AI_CV_Confuse_End
score -1
-AI_sub_81DAF3B:: @ 81DAF3B
- end
-
-AI_sub_81DAF3C:: @ 81DAF3C
- if_hp_less_than 1, 50, AI_sub_81DAF5F
- get_type 0
- if_in_bytes AI_bytes_81DAF62, AI_sub_81DAF61
- get_type 2
- if_in_bytes AI_bytes_81DAF62, AI_sub_81DAF61
- if_random_less_than 50, AI_sub_81DAF61
-
-AI_sub_81DAF5F:: @ 81DAF5F
+AI_CV_Confuse_End:: @ 81DAF3B
+ end
+
+@ Improvement in Emerald
+@AI_CV_SwaggerHasPsychUp:
+@ if_stat_level_more_than AI_TARGET, STAT_ATK, 3, AI_CV_SwaggerHasPsychUp_Minus5
+@ score +3
+@ get_turn_count
+@ if_not_equal 0, AI_CV_SwaggerHasPsychUp_End
+@ score +2
+@ goto AI_CV_SwaggerHasPsychUp_End
+@
+@AI_CV_SwaggerHasPsychUp_Minus5:
+@ score -5
+@
+@AI_CV_SwaggerHasPsychUp_End:
+@ end
+
+AI_CV_Reflect:: @ 81DAF3C
+ if_hp_less_than AI_USER, 50, AI_CV_Reflect_ScoreDown2
+ get_target_type1
+ if_in_bytes AI_CV_Reflect_PhysicalTypeList, AI_CV_Reflect_End
+ get_target_type2
+ if_in_bytes AI_CV_Reflect_PhysicalTypeList, AI_CV_Reflect_End
+ if_random_less_than 50, AI_CV_Reflect_End
+
+AI_CV_Reflect_ScoreDown2:: @ 81DAF5F
score -2
-AI_sub_81DAF61:: @ 81DAF61
+AI_CV_Reflect_End:: @ 81DAF61
end
-AI_bytes_81DAF62:: @ 81DAF62
- .byte 0
- .byte 1
- .byte 2
- .byte 3
- .byte 4
- .byte 5
- .byte 6
- .byte 7
- .byte 8
- .byte 0xFF
+AI_CV_Reflect_PhysicalTypeList:: @ 81DAF62
+ .byte TYPE_NORMAL
+ .byte TYPE_FIGHTING
+ .byte TYPE_FLYING
+ .byte TYPE_POISON
+ .byte TYPE_GROUND
+ .byte TYPE_ROCK
+ .byte TYPE_BUG
+ .byte TYPE_GHOST
+ .byte TYPE_STEEL
+ .byte -1
-AI_sub_81DAF6C:: @ 81DAF6C
- if_hp_less_than 1, 50, AI_sub_81DAF7A
- if_hp_more_than 0, 50, AI_sub_81DAF7C
+AI_CV_Poison:: @ 81DAF6C
+ if_hp_less_than AI_USER, 50, AI_CV_Poison_ScoreDown1
+ if_hp_more_than AI_TARGET, 50, AI_CV_Poison_End
-AI_sub_81DAF7A:: @ 81DAF7A
+AI_CV_Poison_ScoreDown1:: @ 81DAF7A
score -1
-AI_sub_81DAF7C:: @ 81DAF7C
+AI_CV_Poison_End:: @ 81DAF7C
end
-AI_sub_81DAF7D:: @ 81DAF7D
- if_would_go_first 1, AI_sub_81DAF91
- if_hp_more_than 1, 70, AI_sub_81DAF99
+AI_CV_Paralyze:: @ 81DAF7D
+ if_target_faster AI_CV_Paralyze2
+ if_hp_more_than AI_USER, 70, AI_CV_Paralyze_End
score -1
- jump AI_sub_81DAF99
+ goto AI_CV_Paralyze_End
-AI_sub_81DAF91:: @ 81DAF91
- if_random_less_than 20, AI_sub_81DAF99
- score 3
+AI_CV_Paralyze2:: @ 81DAF91
+ if_random_less_than 20, AI_CV_Paralyze_End
+ score +3
-AI_sub_81DAF99:: @ 81DAF99
+AI_CV_Paralyze_End:: @ 81DAF99
end
-AI_sub_81DAF9A:: @ 81DAF9A
- if_would_go_first 1, AI_sub_81DAFBC
- if_hp_more_than 1, 60, AI_sub_81DAFBC
- if_hp_less_than 1, 40, AI_sub_81DAFB4
- if_random_less_than -76, AI_sub_81DAFBC
+AI_CV_VitalThrow:: @ 81DAF9A
+ if_target_faster AI_CV_VitalThrow_End
+ if_hp_more_than AI_USER, 60, AI_CV_VitalThrow_End
+ if_hp_less_than AI_USER, 40, AI_CV_VitalThrow2
+ if_random_less_than 180, AI_CV_VitalThrow_End
-AI_sub_81DAFB4:: @ 81DAFB4
- if_random_less_than 50, AI_sub_81DAFBC
+AI_CV_VitalThrow2:: @ 81DAFB4
+ if_random_less_than 50, AI_CV_VitalThrow_End
score -1
-AI_sub_81DAFBC:: @ 81DAFBC
+AI_CV_VitalThrow_End:: @ 81DAFBC
end
-AI_sub_81DAFBD:: @ 81DAFBD
- if_hp_more_than 1, 90, AI_sub_81DAFEA
- if_hp_more_than 1, 70, AI_sub_81DAFE2
- if_hp_more_than 1, 50, AI_sub_81DAFDA
- if_random_less_than 100, AI_sub_81DAFDA
+AI_CV_Substitute:: @ 81DAFBD
+ if_hp_more_than AI_USER, 90, AI_CV_Substitute4
+ if_hp_more_than AI_USER, 70, AI_CV_Substitute3
+ if_hp_more_than AI_USER, 50, AI_CV_Substitute2
+ if_random_less_than 100, AI_CV_Substitute2
score -1
-AI_sub_81DAFDA:: @ 81DAFDA
- if_random_less_than 100, AI_sub_81DAFE2
+AI_CV_Substitute2:: @ 81DAFDA
+ if_random_less_than 100, AI_CV_Substitute3
score -1
-AI_sub_81DAFE2:: @ 81DAFE2
- if_random_less_than 100, AI_sub_81DAFEA
+AI_CV_Substitute3:: @ 81DAFE2
+ if_random_less_than 100, AI_CV_Substitute4
score -1
-AI_sub_81DAFEA:: @ 81DAFEA
- if_would_go_first 1, AI_sub_81DB052
- get_move 0
+AI_CV_Substitute4:: @ 81DAFEA
+ if_target_faster AI_CV_Substitute_End
+ get_last_used_move AI_TARGET
get_move_effect_from_result
- if_equal 1, AI_sub_81DB022
- if_equal 33, AI_sub_81DB022
- if_equal 66, AI_sub_81DB022
- if_equal 67, AI_sub_81DB022
- if_equal -89, AI_sub_81DB022
- if_equal 49, AI_sub_81DB031
- if_equal 84, AI_sub_81DB040
- jump AI_sub_81DB052
+ if_equal EFFECT_SLEEP, AI_CV_Substitute5
+ if_equal EFFECT_TOXIC, AI_CV_Substitute5
+ if_equal EFFECT_POISON, AI_CV_Substitute5
+ if_equal EFFECT_PARALYZE, AI_CV_Substitute5
+ if_equal EFFECT_WILL_O_WISP, AI_CV_Substitute5
+ if_equal EFFECT_CONFUSE, AI_CV_Substitute6
+ if_equal EFFECT_LEECH_SEED, AI_CV_Substitute7
+ goto AI_CV_Substitute_End
-AI_sub_81DB022:: @ 81DB022
- if_not_status 0, 255, AI_sub_81DB04A
- jump AI_sub_81DB052
+AI_CV_Substitute5:: @ 81DB022
+ if_not_status AI_TARGET, STATUS1_ANY, AI_CV_Substitute8
+ goto AI_CV_Substitute_End
-AI_sub_81DB031:: @ 81DB031
- if_not_status2 0, 7, AI_sub_81DB04A
- jump AI_sub_81DB052
+AI_CV_Substitute6:: @ 81DB031
+ if_not_status2 AI_TARGET, STATUS2_CONFUSION, AI_CV_Substitute8
+ goto AI_CV_Substitute_End
-AI_sub_81DB040:: @ 81DB040
- if_status3 0, 4, AI_sub_81DB052
+AI_CV_Substitute7:: @ 81DB040
+ if_status3 AI_TARGET, STATUS3_LEECHSEED, AI_CV_Substitute_End
-AI_sub_81DB04A:: @ 81DB04A
- if_random_less_than 100, AI_sub_81DB052
- score 1
+AI_CV_Substitute8:: @ 81DB04A
+ if_random_less_than 100, AI_CV_Substitute_End
+ score +1
-AI_sub_81DB052:: @ 81DB052
+AI_CV_Substitute_End:: @ 81DB052
end
-AI_sub_81DB053:: @ 81DB053
- if_damage_bonus 10, AI_sub_81DB078
- if_damage_bonus 20, AI_sub_81DB078
- if_would_go_first 1, AI_sub_81DB071
- if_hp_more_than 1, 40, AI_sub_81DB078
- jump AI_sub_81DB07A
+AI_CV_Recharge:: @ 81DB053
+ if_type_effectiveness AI_EFFECTIVENESS_x0_25, AI_CV_Recharge_ScoreDown1
+ if_type_effectiveness AI_EFFECTIVENESS_x0_5, AI_CV_Recharge_ScoreDown1
+ if_target_faster AI_CV_Recharge2
+ if_hp_more_than AI_USER, 40, AI_CV_Recharge_ScoreDown1
+ goto AI_CV_Recharge_End
-AI_sub_81DB071:: @ 81DB071
- if_hp_less_than 1, 60, AI_sub_81DB07A
+AI_CV_Recharge2:: @ 81DB071
+ if_hp_less_than AI_USER, 60, AI_CV_Recharge_End
-AI_sub_81DB078:: @ 81DB078
+AI_CV_Recharge_ScoreDown1:: @ 81DB078
score -1
-AI_sub_81DB07A:: @ 81DB07A
+AI_CV_Recharge_End:: @ 81DB07A
end
-AI_sub_81DB07B:: @ 81DB07B
- if_would_go_first 1, AI_sub_81DB099
- get_move 0
+AI_CV_Disable:: @ 81DB07B
+ if_target_faster AI_CV_Disable_End
+ get_last_used_move AI_TARGET
get_move_power_from_result
- if_equal 0, AI_sub_81DB091
- score 1
- jump AI_sub_81DB099
+ if_equal 0, AI_CV_Disable2
+ score +1
+ goto AI_CV_Disable_End
-AI_sub_81DB091:: @ 81DB091
- if_random_less_than 100, AI_sub_81DB099
+AI_CV_Disable2:: @ 81DB091
+ if_random_less_than 100, AI_CV_Disable_End
score -1
-AI_sub_81DB099:: @ 81DB099
+AI_CV_Disable_End:: @ 81DB099
end
-AI_sub_81DB09A:: @ 81DB09A
- if_status 0, 7, AI_sub_81DB12E
- if_status2 0, 983040, AI_sub_81DB12E
- if_status2 0, 7, AI_sub_81DB12E
- if_hp_more_than 1, 30, AI_sub_81DB0C7
- if_random_less_than 10, AI_sub_81DB0C7
+AI_CV_Counter:: @ 81DB09A
+ if_status AI_TARGET, STATUS1_SLEEP, AI_CV_Counter_ScoreDown1
+ if_status2 AI_TARGET, STATUS2_INFATUATION, AI_CV_Counter_ScoreDown1
+ if_status2 AI_TARGET, STATUS2_CONFUSION, AI_CV_Counter_ScoreDown1
+ if_hp_more_than AI_USER, 30, AI_CV_Counter2
+ if_random_less_than 10, AI_CV_Counter2
score -1
-AI_sub_81DB0C7:: @ 81DB0C7
- if_hp_more_than 1, 50, AI_sub_81DB0D6
- if_random_less_than 100, AI_sub_81DB0D6
+AI_CV_Counter2:: @ 81DB0C7
+ if_hp_more_than AI_USER, 50, AI_CV_Counter3
+ if_random_less_than 100, AI_CV_Counter3
score -1
-AI_sub_81DB0D6:: @ 81DB0D6
- get_move 0
+AI_CV_Counter3:: @ 81DB0D6
+@ if_has_move AI_USER, MOVE_MIRROR_COAT, AI_CV_Counter7 @ Improvement in Emerald
+ get_last_used_move AI_TARGET
get_move_power_from_result
- if_equal 0, AI_sub_81DB105
- if_not_taunted AI_sub_81DB0EC
- if_random_less_than 100, AI_sub_81DB0EC
- score 1
+ if_equal 0, AI_CV_Counter5
+ if_target_not_taunted AI_CV_Counter4
+ if_random_less_than 100, AI_CV_Counter4
+ score +1
-AI_sub_81DB0EC:: @ 81DB0EC
- get_move 0
+AI_CV_Counter4:: @ 81DB0EC
+ get_last_used_move AI_TARGET
get_move_type_from_result
- if_not_in_bytes AI_bytes_81DB131, AI_sub_81DB12E
- if_random_less_than 100, AI_sub_81DB130
- score 1
- jump AI_sub_81DB130
-
-AI_sub_81DB105:: @ 81DB105
- if_not_taunted AI_sub_81DB112
- if_random_less_than 100, AI_sub_81DB112
- score 1
-
-AI_sub_81DB112:: @ 81DB112
- get_type 0
- if_in_bytes AI_bytes_81DB131, AI_sub_81DB130
- get_type 2
- if_in_bytes AI_bytes_81DB131, AI_sub_81DB130
- if_random_less_than 50, AI_sub_81DB130
-
-AI_sub_81DB12E:: @ 81DB12E
+ if_not_in_bytes AI_CV_Counter_PhysicalTypeList, AI_CV_Counter_ScoreDown1
+ if_random_less_than 100, AI_CV_Counter_End
+ score +1
+ goto AI_CV_Counter_End
+
+AI_CV_Counter5:: @ 81DB105
+ if_target_not_taunted AI_CV_Counter6
+ if_random_less_than 100, AI_CV_Counter6
+ score +1
+
+AI_CV_Counter6:: @ 81DB112
+ get_target_type1
+ if_in_bytes AI_CV_Counter_PhysicalTypeList, AI_CV_Counter_End
+ get_target_type2
+ if_in_bytes AI_CV_Counter_PhysicalTypeList, AI_CV_Counter_End
+ if_random_less_than 50, AI_CV_Counter_End
+
+@ Improvement in Emerald
+@AI_CV_Counter7:
+@ if_random_less_than 100, AI_CV_Counter8
+@ score +4
+@
+@AI_CV_Counter8:
+@ end
+
+AI_CV_Counter_ScoreDown1:: @ 81DB12E
score -1
-AI_sub_81DB130:: @ 81DB130
- end
-
-AI_bytes_81DB131:: @ 81DB131
- .byte 0
- .byte 1
- .byte 2
- .byte 3
- .byte 4
- .byte 5
- .byte 6
- .byte 7
- .byte 8
- .byte 0xFF
-
-AI_sub_81DB13B:: @ 81DB13B
- if_last_move_did_damage 0, 0, AI_sub_81DB154
- if_would_go_first 1, AI_sub_81DB161
- get_move 0
+AI_CV_Counter_End:: @ 81DB130
+ end
+
+AI_CV_Counter_PhysicalTypeList:: @ 81DB131
+ .byte TYPE_NORMAL
+ .byte TYPE_FIGHTING
+ .byte TYPE_FLYING
+ .byte TYPE_POISON
+ .byte TYPE_GROUND
+ .byte TYPE_ROCK
+ .byte TYPE_BUG
+ .byte TYPE_GHOST
+ .byte TYPE_STEEL
+ .byte -1
+
+AI_CV_Encore:: @ 81DB13B
+ if_any_move_disabled AI_TARGET, AI_CV_Encore2
+ if_target_faster AI_CV_Encore_ScoreDown2
+ get_last_used_move AI_TARGET
get_move_effect_from_result
- if_not_in_bytes AI_bytes_81DB164, AI_sub_81DB161
+ if_not_in_bytes AI_CV_Encore_EncouragedMovesToEncore, AI_CV_Encore_ScoreDown2
-AI_sub_81DB154:: @ 81DB154
- if_random_less_than 30, AI_sub_81DB163
- score 3
- jump AI_sub_81DB163
+AI_CV_Encore2:: @ 81DB154
+ if_random_less_than 30, AI_CV_Encore_End
+ score +3
+ goto AI_CV_Encore_End
-AI_sub_81DB161:: @ 81DB161
+AI_CV_Encore_ScoreDown2:: @ 81DB161
score -2
-AI_sub_81DB163:: @ 81DB163
- end
-
-AI_bytes_81DB164:: @ 81DB164
- .byte 8
- .byte 10
- .byte 11
- .byte 12
- .byte 13
- .byte 25
- .byte 28
- .byte 30
- .byte 33
- .byte 35
- .byte 37
- .byte 40
- .byte 54
- .byte 49
- .byte 66
- .byte 67
- .byte 84
- .byte 85
- .byte 50
- .byte 90
- .byte 93
- .byte 94
- .byte 102
- .byte 106
- .byte 107
- .byte 111
- .byte 191
- .byte 113
- .byte 114
- .byte 115
- .byte 116
- .byte 118
- .byte 120
- .byte 124
- .byte 136
- .byte 137
- .byte 142
- .byte 143
- .byte 148
- .byte 158
- .byte 160
- .byte 161
- .byte 162
- .byte 164
- .byte 165
- .byte 167
- .byte 172
- .byte 174
- .byte 177
- .byte 178
- .byte 181
- .byte 184
- .byte 188
- .byte 191
- .byte 192
- .byte 193
- .byte 194
- .byte 199
- .byte 201
- .byte 210
- .byte 212
- .byte 213
- .byte 0xFF
-
-AI_sub_81DB1A3:: @ 81DB1A3
- if_hp_less_than 0, 80, AI_sub_81DB1CC
- if_would_go_first 1, AI_sub_81DB1BE
- if_hp_more_than 1, 40, AI_sub_81DB1CC
- score 1
- jump AI_sub_81DB1CE
-
-AI_sub_81DB1BE:: @ 81DB1BE
- if_hp_more_than 1, 60, AI_sub_81DB1CC
- score 1
- jump AI_sub_81DB1CE
-
-AI_sub_81DB1CC:: @ 81DB1CC
+AI_CV_Encore_End:: @ 81DB163
+ end
+
+AI_CV_Encore_EncouragedMovesToEncore:: @ 81DB164
+ .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
+
+AI_CV_PainSplit:: @ 81DB1A3
+ if_hp_less_than AI_TARGET, 80, AI_CV_PainSplit_ScoreDown1
+ if_target_faster AI_CV_PainSplit2
+ if_hp_more_than AI_USER, 40, AI_CV_PainSplit_ScoreDown1
+ score +1
+ goto AI_CV_PainSplit_End
+
+AI_CV_PainSplit2:: @ 81DB1BE
+ if_hp_more_than AI_USER, 60, AI_CV_PainSplit_ScoreDown1
+ score +1
+ goto AI_CV_PainSplit_End
+
+AI_CV_PainSplit_ScoreDown1:: @ 81DB1CC
score -1
-AI_sub_81DB1CE:: @ 81DB1CE
+AI_CV_PainSplit_End:: @ 81DB1CE
end
-AI_sub_81DB1CF:: @ 81DB1CF
- score 2
+AI_CV_Snore:: @ 81DB1CF
+ score +2
end
-AI_sub_81DB1D2:: @ 81DB1D2
- if_random_less_than -128, AI_sub_81DB1DA
- score 2
+AI_CV_LockOn:: @ 81DB1D2
+ if_random_less_than 128, AI_CV_LockOn_End
+ score +2
-AI_sub_81DB1DA:: @ 81DB1DA
+AI_CV_LockOn_End:: @ 81DB1DA
end
-AI_sub_81DB1DB:: @ 81DB1DB
- score 2
+AI_CV_SleepTalk:: @ 81DB1DB
+@ if_status AI_USER, STATUS1_SLEEP, Score_Plus10 @ Improvement in Emerald
+ score +2 @ Change to -5
end
-AI_sub_81DB1DE:: @ 81DB1DE
+AI_CV_DestinyBond:: @ 81DB1DE
score -1
- if_would_go_first 1, AI_sub_81DB213
- if_hp_more_than 1, 70, AI_sub_81DB213
- if_random_less_than -128, AI_sub_81DB1F5
- score 1
+ if_target_faster AI_CV_DestinyBond_End
+ if_hp_more_than AI_USER, 70, AI_CV_DestinyBond_End
+ if_random_less_than 128, AI_CV_DestinyBond2
+ score +1
-AI_sub_81DB1F5:: @ 81DB1F5
- if_hp_more_than 1, 50, AI_sub_81DB213
- if_random_less_than -128, AI_sub_81DB204
- score 1
+AI_CV_DestinyBond2:: @ 81DB1F5
+ if_hp_more_than AI_USER, 50, AI_CV_DestinyBond_End
+ if_random_less_than 128, AI_CV_DestinyBond3
+ score +1
-AI_sub_81DB204:: @ 81DB204
- if_hp_more_than 1, 30, AI_sub_81DB213
- if_random_less_than 100, AI_sub_81DB213
- score 2
+AI_CV_DestinyBond3:: @ 81DB204
+ if_hp_more_than AI_USER, 30, AI_CV_DestinyBond_End
+ if_random_less_than 100, AI_CV_DestinyBond_End
+ score +2
-AI_sub_81DB213:: @ 81DB213
+AI_CV_DestinyBond_End:: @ 81DB213
end
-AI_sub_81DB214:: @ 81DB214
- if_would_go_first 1, AI_sub_81DB234
- if_hp_more_than 1, 33, AI_sub_81DB256
- if_hp_more_than 1, 20, AI_sub_81DB258
- if_hp_less_than 1, 8, AI_sub_81DB247
- jump AI_sub_81DB249
+AI_CV_Flail:: @ 81DB214
+ if_target_faster AI_CV_Flail2
+ if_hp_more_than AI_USER, 33, AI_CV_Flail_ScoreDown1
+ if_hp_more_than AI_USER, 20, AI_CV_Flail_End
+ if_hp_less_than AI_USER, 8, AI_CV_Flail_ScoreUp1
+ goto AI_CV_Flail3
-AI_sub_81DB234:: @ 81DB234
- if_hp_more_than 1, 60, AI_sub_81DB256
- if_hp_more_than 1, 40, AI_sub_81DB258
- jump AI_sub_81DB249
+AI_CV_Flail2:: @ 81DB234
+ if_hp_more_than AI_USER, 60, AI_CV_Flail_ScoreDown1
+ if_hp_more_than AI_USER, 40, AI_CV_Flail_End
+ goto AI_CV_Flail3
-AI_sub_81DB247:: @ 81DB247
- score 1
+AI_CV_Flail_ScoreUp1:: @ 81DB247
+ score +1
-AI_sub_81DB249:: @ 81DB249
- if_random_less_than 100, AI_sub_81DB258
- score 1
- jump AI_sub_81DB258
+AI_CV_Flail3:: @ 81DB249
+ if_random_less_than 100, AI_CV_Flail_End
+ score +1
+ goto AI_CV_Flail_End
-AI_sub_81DB256:: @ 81DB256
+AI_CV_Flail_ScoreDown1:: @ 81DB256
score -1
-AI_sub_81DB258:: @ 81DB258
+AI_CV_Flail_End:: @ 81DB258
end
-AI_sub_81DB259:: @ 81DB259
- if_status 0, 255, AI_sub_81DB26F
- if_status_in_party 0, 255, AI_sub_81DB26F
+AI_CV_HealBell:: @ 81DB259
+ if_status AI_TARGET, STATUS1_ANY, AI_CV_HealBell_End
+ if_status_in_party AI_TARGET, STATUS1_ANY, AI_CV_HealBell_End
score -5
-AI_sub_81DB26F:: @ 81DB26F
+AI_CV_HealBell_End:: @ 81DB26F
end
-AI_sub_81DB270:: @ 81DB270
- get_hold_effect 0
- if_not_in_bytes AI_bytes_81DB28B, AI_sub_81DB288
- if_random_less_than 50, AI_sub_81DB28A
- score 1
- jump AI_sub_81DB28A
+AI_CV_Thief:: @ 81DB270
+ get_hold_effect AI_TARGET
+ if_not_in_bytes AI_CV_Thief_EncourageItemsToSteal, AI_CV_Thief_ScoreDown2
+ if_random_less_than 50, AI_CV_Thief_End
+ score +1
+ goto AI_CV_Thief_End
-AI_sub_81DB288:: @ 81DB288
+AI_CV_Thief_ScoreDown2:: @ 81DB288
score -2
-AI_sub_81DB28A:: @ 81DB28A
- end
-
-AI_bytes_81DB28B:: @ 81DB28B
- .byte 3
- .byte 9
- .byte 1
- .byte 22
- .byte 43
- .byte 45
- .byte 65
- .byte 0xFF
-
-AI_sub_81DB293:: @ 81DB293
- get_type 1
- if_equal 7, AI_sub_81DB2D8
- get_type 3
- if_equal 7, AI_sub_81DB2D8
- if_stat_level_more_than 1, 2, 9, AI_sub_81DB2E1
- if_random_less_than -128, AI_sub_81DB2B3
- score 1
-
-AI_sub_81DB2B3:: @ 81DB2B3
- if_stat_level_more_than 1, 2, 7, AI_sub_81DB2E1
- if_random_less_than -128, AI_sub_81DB2C3
- score 1
-
-AI_sub_81DB2C3:: @ 81DB2C3
- if_stat_level_more_than 1, 2, 6, AI_sub_81DB2E1
- if_random_less_than -128, AI_sub_81DB2E1
- score 1
- jump AI_sub_81DB2E1
-
-AI_sub_81DB2D8:: @ 81DB2D8
- if_hp_more_than 1, 80, AI_sub_81DB2E1
+AI_CV_Thief_End:: @ 81DB28A
+ end
+
+AI_CV_Thief_EncourageItemsToSteal:: @ 81DB28B
+ .byte HOLD_EFFECT_CURE_SLP
+ .byte HOLD_EFFECT_CURE_STATUS
+ .byte HOLD_EFFECT_RESTORE_HP
+ .byte HOLD_EFFECT_EVASION_UP
+ .byte HOLD_EFFECT_LEFTOVERS
+ .byte HOLD_EFFECT_LIGHT_BALL
+ .byte HOLD_EFFECT_THICK_CLUB
+ .byte -1
+
+AI_CV_Curse:: @ 81DB293
+ get_user_type1
+ if_equal TYPE_GHOST, AI_CV_Curse4
+ get_user_type2
+ if_equal TYPE_GHOST, AI_CV_Curse4
+ if_stat_level_more_than AI_USER, STAT_DEF, 9, AI_CV_Curse_End
+ if_random_less_than 128, AI_CV_Curse2
+ score +1
+
+AI_CV_Curse2:: @ 81DB2B3
+ if_stat_level_more_than AI_USER, STAT_DEF, 7, AI_CV_Curse_End
+ if_random_less_than 128, AI_CV_Curse3
+ score +1
+
+AI_CV_Curse3:: @ 81DB2C3
+ if_stat_level_more_than AI_USER, STAT_DEF, 6, AI_CV_Curse_End
+ if_random_less_than 128, AI_CV_Curse_End
+ score +1
+ goto AI_CV_Curse_End
+
+AI_CV_Curse4:: @ 81DB2D8
+ if_hp_more_than AI_USER, 80, AI_CV_Curse_End
score -1
-AI_sub_81DB2E1:: @ 81DB2E1
- end
-
-AI_sub_81DB2E2:: @ 81DB2E2
- get_protect_count 1
- if_more_than 1, AI_sub_81DB3A0
- if_status 1, 128, AI_sub_81DB397
- if_status2 1, 268435456, AI_sub_81DB397
- if_status3 1, 32, AI_sub_81DB397
- if_status2 1, 983040, AI_sub_81DB397
- if_status3 1, 4, AI_sub_81DB397
- if_status3 1, 6144, AI_sub_81DB397
- if_move_effect 0, 32, AI_sub_81DB397
- if_move_effect 0, -100, AI_sub_81DB397
- if_status 0, 128, AI_sub_81DB37E
- if_status2 0, 268435456, AI_sub_81DB37E
- if_status3 0, 32, AI_sub_81DB37E
- if_status2 0, 983040, AI_sub_81DB37E
- if_status3 0, 4, AI_sub_81DB37E
- if_status3 0, 6144, AI_sub_81DB37E
- get_move 0
+AI_CV_Curse_End:: @ 81DB2E1
+ end
+
+AI_CV_Protect:: @ 81DB2E2
+ get_protect_count AI_USER
+ if_more_than 1, AI_CV_Protect_ScoreDown2
+ if_status AI_USER, STATUS1_TOXIC_POISON, AI_CV_Protect3
+ if_status2 AI_USER, STATUS2_CURSED, AI_CV_Protect3
+ if_status3 AI_USER, STATUS3_PERISH_SONG, AI_CV_Protect3
+ if_status2 AI_USER, STATUS2_INFATUATION, AI_CV_Protect3
+ if_status3 AI_USER, STATUS3_LEECHSEED, AI_CV_Protect3
+ if_status3 AI_USER, STATUS3_YAWN, AI_CV_Protect3
+ if_has_move_with_effect AI_TARGET, EFFECT_RESTORE_HP, AI_CV_Protect3
+ if_has_move_with_effect AI_TARGET, EFFECT_DEFENSE_CURL, AI_CV_Protect3
+ if_status AI_TARGET, STATUS1_TOXIC_POISON, AI_CV_Protect_ScoreUp2
+ if_status2 AI_TARGET, STATUS2_CURSED, AI_CV_Protect_ScoreUp2
+ if_status3 AI_TARGET, STATUS3_PERISH_SONG, AI_CV_Protect_ScoreUp2
+ if_status2 AI_TARGET, STATUS2_INFATUATION, AI_CV_Protect_ScoreUp2
+ if_status3 AI_TARGET, STATUS3_LEECHSEED, AI_CV_Protect_ScoreUp2
+ if_status3 AI_TARGET, STATUS3_YAWN, AI_CV_Protect_ScoreUp2
+ get_last_used_move AI_TARGET
get_move_effect_from_result
- if_not_equal 94, AI_sub_81DB37E
- jump AI_sub_81DB380
+ if_not_equal EFFECT_LOCK_ON, AI_CV_Protect_ScoreUp2
+ goto AI_CV_Protect2
+
+AI_CV_Protect_ScoreUp2:: @ 81DB37E
+ score +2
-AI_sub_81DB37E:: @ 81DB37E
- score 2
+AI_CV_Protect2:: @ 81DB380
+@ if_random_less_than 128, AI_CV_Protect4 @ Improvement in Emerald
+@ score -1
-AI_sub_81DB380:: @ 81DB380
- get_protect_count 1
- if_equal 0, AI_sub_81DB3A2
+AI_CV_Protect4::
+ get_protect_count AI_USER
+ if_equal 0, AI_CV_Protect_End
score -1
- if_random_less_than -128, AI_sub_81DB3A2
+ if_random_less_than 128, AI_CV_Protect_End
score -1
- jump AI_sub_81DB3A2
+ goto AI_CV_Protect_End
-AI_sub_81DB397:: @ 81DB397
- get_move 0
+AI_CV_Protect3:: @ 81DB397
+ get_last_used_move AI_TARGET
get_move_effect_from_result
- if_not_equal 94, AI_sub_81DB3A2
+ if_not_equal EFFECT_LOCK_ON, AI_CV_Protect_End
-AI_sub_81DB3A0:: @ 81DB3A0
+AI_CV_Protect_ScoreDown2:: @ 81DB3A0
score -2
-AI_sub_81DB3A2:: @ 81DB3A2
+AI_CV_Protect_End:: @ 81DB3A2
end
-AI_sub_81DB3A3:: @ 81DB3A3
- get_type 1
- if_equal 7, AI_sub_81DB3C2
- get_type 3
- if_equal 7, AI_sub_81DB3C2
- if_stat_level_more_than 1, 7, 8, AI_sub_81DB3C8
+AI_CV_Foresight:: @ 81DB3A3
+ get_user_type1
+ if_equal TYPE_GHOST, AI_CV_Foresight2
+ get_user_type2
+ if_equal TYPE_GHOST, AI_CV_Foresight2
+ if_stat_level_more_than AI_USER, STAT_EVASION, 8, AI_CV_Foresight3
score -2
- jump AI_sub_81DB3D0
+ goto AI_CV_Foresight_End
-AI_sub_81DB3C2:: @ 81DB3C2
- if_random_less_than 80, AI_sub_81DB3D0
+AI_CV_Foresight2:: @ 81DB3C2
+ if_random_less_than 80, AI_CV_Foresight_End
-AI_sub_81DB3C8:: @ 81DB3C8
- if_random_less_than 80, AI_sub_81DB3D0
- score 2
+AI_CV_Foresight3:: @ 81DB3C8
+ if_random_less_than 80, AI_CV_Foresight_End
+ score +2
-AI_sub_81DB3D0:: @ 81DB3D0
+AI_CV_Foresight_End:: @ 81DB3D0
end
-AI_sub_81DB3D1:: @ 81DB3D1
- if_hp_less_than 1, 4, AI_sub_81DB3DF
- if_hp_less_than 1, 35, AI_sub_81DB3E6
+AI_CV_Endure:: @ 81DB3D1
+ if_hp_less_than AI_USER, 4, AI_CV_Endure2
+ if_hp_less_than AI_USER, 35, AI_CV_Endure3
-AI_sub_81DB3DF:: @ 81DB3DF
+AI_CV_Endure2:: @ 81DB3DF
score -1
- jump AI_sub_81DB3EE
+ goto AI_CV_Endure_End
-AI_sub_81DB3E6:: @ 81DB3E6
- if_random_less_than 70, AI_sub_81DB3EE
- score 1
+AI_CV_Endure3:: @ 81DB3E6
+ if_random_less_than 70, AI_CV_Endure_End
+ score +1
-AI_sub_81DB3EE:: @ 81DB3EE
+AI_CV_Endure_End:: @ 81DB3EE
end
-AI_sub_81DB3EF:: @ 81DB3EF
- if_stat_level_more_than 1, 1, 8, AI_sub_81DB41C
- if_stat_level_more_than 1, 2, 8, AI_sub_81DB41C
- if_stat_level_more_than 1, 4, 8, AI_sub_81DB41C
- if_stat_level_more_than 1, 5, 8, AI_sub_81DB41C
- if_stat_level_more_than 1, 7, 8, AI_sub_81DB41C
- jump AI_sub_81DB442
+AI_CV_BatonPass:: @ 81DB3EF
+ if_stat_level_more_than AI_USER, STAT_ATK, 8, AI_CV_BatonPass2
+ if_stat_level_more_than AI_USER, STAT_DEF, 8, AI_CV_BatonPass2
+ if_stat_level_more_than AI_USER, STAT_SPATK, 8, AI_CV_BatonPass2
+ if_stat_level_more_than AI_USER, STAT_SPDEF, 8, AI_CV_BatonPass2
+ if_stat_level_more_than AI_USER, STAT_EVASION, 8, AI_CV_BatonPass2
+ goto AI_CV_BatonPass5
-AI_sub_81DB41C:: @ 81DB41C
- if_would_go_first 1, AI_sub_81DB42E
- if_hp_more_than 1, 60, AI_sub_81DB48A
- jump AI_sub_81DB435
+AI_CV_BatonPass2:: @ 81DB41C
+ if_target_faster AI_CV_BatonPass3
+ if_hp_more_than AI_USER, 60, AI_CV_BatonPass_End
+ goto AI_CV_BatonPass4
-AI_sub_81DB42E:: @ 81DB42E
- if_hp_more_than 1, 70, AI_sub_81DB48A
+AI_CV_BatonPass3:: @ 81DB42E
+ if_hp_more_than AI_USER, 70, AI_CV_BatonPass_End
-AI_sub_81DB435:: @ 81DB435
- if_random_less_than 80, AI_sub_81DB48A
- score 2
- jump AI_sub_81DB48A
+AI_CV_BatonPass4:: @ 81DB435
+ if_random_less_than 80, AI_CV_BatonPass_End
+ score +2
+ goto AI_CV_BatonPass_End
-AI_sub_81DB442:: @ 81DB442
- if_stat_level_more_than 1, 1, 7, AI_sub_81DB46F
- if_stat_level_more_than 1, 2, 7, AI_sub_81DB46F
- if_stat_level_more_than 1, 4, 7, AI_sub_81DB46F
- if_stat_level_more_than 1, 5, 7, AI_sub_81DB46F
- if_stat_level_more_than 1, 7, 7, AI_sub_81DB46F
- jump AI_sub_81DB488
+AI_CV_BatonPass5:: @ 81DB442
+ if_stat_level_more_than AI_USER, STAT_ATK, 7, AI_CV_BatonPass7
+ if_stat_level_more_than AI_USER, STAT_DEF, 7, AI_CV_BatonPass7
+ if_stat_level_more_than AI_USER, STAT_SPATK, 7, AI_CV_BatonPass7
+ if_stat_level_more_than AI_USER, STAT_SPDEF, 7, AI_CV_BatonPass7
+ if_stat_level_more_than AI_USER, STAT_EVASION, 7, AI_CV_BatonPass7
+ goto AI_CV_BatonPass_ScoreDown2
-AI_sub_81DB46F:: @ 81DB46F
- if_would_go_first 1, AI_sub_81DB481
- if_hp_more_than 1, 60, AI_sub_81DB488
- jump AI_sub_81DB48A
+AI_CV_BatonPass7:: @ 81DB46F
+ if_target_faster AI_CV_BatonPass8
+ if_hp_more_than AI_USER, 60, AI_CV_BatonPass_ScoreDown2
+ goto AI_CV_BatonPass_End
-AI_sub_81DB481:: @ 81DB481
- if_hp_less_than 1, 70, AI_sub_81DB48A
+AI_CV_BatonPass8:: @ 81DB481
+ if_hp_less_than AI_USER, 70, AI_CV_BatonPass_End
-AI_sub_81DB488:: @ 81DB488
+AI_CV_BatonPass_ScoreDown2:: @ 81DB488
score -2
-AI_sub_81DB48A:: @ 81DB48A
+AI_CV_BatonPass_End:: @ 81DB48A
end
-AI_sub_81DB48B:: @ 81DB48B
- is_first_turn 1
- if_not_equal 0, AI_sub_81DB4C0
- get_type 0
- if_equal 7, AI_sub_81DB4B8
- get_type 0
- if_equal 14, AI_sub_81DB4B8
- get_type 2
- if_equal 7, AI_sub_81DB4B8
- get_type 2
- if_equal 14, AI_sub_81DB4B8
- jump AI_sub_81DB4C0
+AI_CV_Pursuit:: @ 81DB48B
+ is_first_turn_for AI_USER
+ if_not_equal 0, AI_CV_Pursuit_End
+ get_target_type1
+ if_equal TYPE_GHOST, AI_CV_Pursuit2
+ get_target_type1
+ if_equal TYPE_PSYCHIC, AI_CV_Pursuit2
+ get_target_type2
+ if_equal TYPE_GHOST, AI_CV_Pursuit2
+ get_target_type2
+ if_equal TYPE_PSYCHIC, AI_CV_Pursuit2
+ goto AI_CV_Pursuit_End
-AI_sub_81DB4B8:: @ 81DB4B8
- if_random_less_than -128, AI_sub_81DB4C0
- score 1
+AI_CV_Pursuit2:: @ 81DB4B8
+ if_random_less_than 128, AI_CV_Pursuit_End
+ score +1
-AI_sub_81DB4C0:: @ 81DB4C0
+AI_CV_Pursuit_End:: @ 81DB4C0
end
-AI_sub_81DB4C1:: @ 81DB4C1
- if_would_go_first 0, AI_sub_81DB4CF
- get_ability 1
- if_equal 33, AI_sub_81DB4F6
+AI_CV_RainDance:: @ 81DB4C1
+ if_user_faster AI_CV_RainDance2
+ get_ability AI_USER
+ if_equal ABILITY_SWIFT_SWIM, AI_CV_RainDance3
-AI_sub_81DB4CF:: @ 81DB4CF
- if_hp_less_than 1, 40, AI_sub_81DB4FD
+AI_CV_RainDance2:: @ 81DB4CF
+ if_hp_less_than AI_USER, 40, AI_CV_RainDance_ScoreDown1
get_weather
- if_equal 3, AI_sub_81DB4F6
- if_equal 0, AI_sub_81DB4F6
- if_equal 2, AI_sub_81DB4F6
- get_ability 1
- if_equal 44, AI_sub_81DB4F6
- jump AI_sub_81DB4FF
-
-AI_sub_81DB4F6:: @ 81DB4F6
- score 1
- jump AI_sub_81DB4FF
-
-AI_sub_81DB4FD:: @ 81DB4FD
+ if_equal AI_WEATHER_HAIL, AI_CV_RainDance3
+ if_equal AI_WEATHER_SUN, AI_CV_RainDance3
+ if_equal AI_WEATHER_SANDSTORM, AI_CV_RainDance3
+ get_ability AI_USER
+ if_equal ABILITY_RAIN_DISH, AI_CV_RainDance3
+ goto AI_CV_RainDance_End
+
+AI_CV_RainDance3:: @ 81DB4F6
+ score +1
+ goto AI_CV_RainDance_End
+
+AI_CV_RainDance_ScoreDown1:: @ 81DB4FD
score -1
-AI_sub_81DB4FF:: @ 81DB4FF
+AI_CV_RainDance_End:: @ 81DB4FF
end
-AI_sub_81DB500:: @ 81DB500
- if_hp_less_than 1, 40, AI_sub_81DB526
+AI_CV_SunnyDay:: @ 81DB500
+ if_hp_less_than AI_USER, 40, AI_CV_SunnyDay_ScoreDown1
get_weather
- if_equal 3, AI_sub_81DB51F
- if_equal 1, AI_sub_81DB51F
- if_equal 2, AI_sub_81DB51F
- jump AI_sub_81DB528
+ if_equal AI_WEATHER_HAIL, AI_CV_SunnyDay2
+ if_equal AI_WEATHER_RAIN, AI_CV_SunnyDay2
+ if_equal AI_WEATHER_SANDSTORM, AI_CV_SunnyDay2
+ goto AI_CV_SunnyDay_End
-AI_sub_81DB51F:: @ 81DB51F
- score 1
- jump AI_sub_81DB528
+AI_CV_SunnyDay2:: @ 81DB51F
+ score +1
+ goto AI_CV_SunnyDay_End
-AI_sub_81DB526:: @ 81DB526
+AI_CV_SunnyDay_ScoreDown1:: @ 81DB526
score -1
-AI_sub_81DB528:: @ 81DB528
+AI_CV_SunnyDay_End:: @ 81DB528
end
-AI_sub_81DB529:: @ 81DB529
- if_hp_less_than 1, 90, AI_sub_81DB535
- jump AI_sub_81DB537
+AI_CV_BellyDrum:: @ 81DB529
+ if_hp_less_than AI_USER, 90, AI_CV_BellyDrum_ScoreDown2
+ goto AI_CV_BellyDrum_End
-AI_sub_81DB535:: @ 81DB535
+AI_CV_BellyDrum_ScoreDown2:: @ 81DB535
score -2
-AI_sub_81DB537:: @ 81DB537
+AI_CV_BellyDrum_End:: @ 81DB537
end
-AI_sub_81DB538:: @ 81DB538
- if_stat_level_more_than 0, 1, 8, AI_sub_81DB565
- if_stat_level_more_than 0, 2, 8, AI_sub_81DB565
- if_stat_level_more_than 0, 4, 8, AI_sub_81DB565
- if_stat_level_more_than 0, 5, 8, AI_sub_81DB565
- if_stat_level_more_than 0, 7, 8, AI_sub_81DB565
- jump AI_sub_81DB5A2
+AI_CV_PsychUp:: @ 81DB538
+ if_stat_level_more_than AI_TARGET, STAT_ATK, 8, AI_CV_PsychUp2
+ if_stat_level_more_than AI_TARGET, STAT_DEF, 8, AI_CV_PsychUp2
+ if_stat_level_more_than AI_TARGET, STAT_SPATK, 8, AI_CV_PsychUp2
+ if_stat_level_more_than AI_TARGET, STAT_SPDEF, 8, AI_CV_PsychUp2
+ if_stat_level_more_than AI_TARGET, STAT_EVASION, 8, AI_CV_PsychUp2
+ goto AI_CV_PsychUp_ScoreDown2
-AI_sub_81DB565:: @ 81DB565
- if_stat_level_less_than 1, 1, 7, AI_sub_81DB59A
- if_stat_level_less_than 1, 2, 7, AI_sub_81DB59A
- if_stat_level_less_than 1, 4, 7, AI_sub_81DB59A
- if_stat_level_less_than 1, 5, 7, AI_sub_81DB59A
- if_stat_level_less_than 1, 7, 7, AI_sub_81DB598
- if_random_less_than 50, AI_sub_81DB5A4
- jump AI_sub_81DB5A2
+AI_CV_PsychUp2:: @ 81DB565
+ if_stat_level_less_than AI_USER, STAT_ATK, 7, AI_CV_PsychUp3
+ if_stat_level_less_than AI_USER, STAT_DEF, 7, AI_CV_PsychUp3
+ if_stat_level_less_than AI_USER, STAT_SPATK, 7, AI_CV_PsychUp3
+ if_stat_level_less_than AI_USER, STAT_SPDEF, 7, AI_CV_PsychUp3
+ if_stat_level_less_than AI_USER, STAT_EVASION, 7, AI_CV_PsychUp_ScoreUp1
+ if_random_less_than 50, AI_CV_PsychUp_End
+ goto AI_CV_PsychUp_ScoreDown2
-AI_sub_81DB598:: @ 81DB598
- score 1
+AI_CV_PsychUp_ScoreUp1:: @ 81DB598
+ score +1
-AI_sub_81DB59A:: @ 81DB59A
- if_random_less_than -128, AI_sub_81DB5A4
- score 1
+AI_CV_PsychUp3:: @ 81DB59A
+ if_random_less_than 128, AI_CV_PsychUp_End @ Remove this line
+ score +1
+@ end @ Improvement in Emerald
-AI_sub_81DB5A2:: @ 81DB5A2
+AI_CV_PsychUp_ScoreDown2:: @ 81DB5A2
score -2
-AI_sub_81DB5A4:: @ 81DB5A4
+AI_CV_PsychUp_End:: @ 81DB5A4
end
-AI_sub_81DB5A5:: @ 81DB5A5
- if_status 0, 7, AI_sub_81DB639
- if_status2 0, 983040, AI_sub_81DB639
- if_status2 0, 7, AI_sub_81DB639
- if_hp_more_than 1, 30, AI_sub_81DB5D2
- if_random_less_than 10, AI_sub_81DB5D2
+AI_CV_MirrorCoat:: @ 81DB5A5
+ if_status AI_TARGET, STATUS1_SLEEP, AI_CV_MirrorCoat_ScoreDown1
+ if_status2 AI_TARGET, STATUS2_INFATUATION, AI_CV_MirrorCoat_ScoreDown1
+ if_status2 AI_TARGET, STATUS2_CONFUSION, AI_CV_MirrorCoat_ScoreDown1
+ if_hp_more_than AI_USER, 30, AI_CV_MirrorCoat2
+ if_random_less_than 10, AI_CV_MirrorCoat2
score -1
-AI_sub_81DB5D2:: @ 81DB5D2
- if_hp_more_than 1, 50, AI_sub_81DB5E1
- if_random_less_than 100, AI_sub_81DB5E1
+AI_CV_MirrorCoat2:: @ 81DB5D2
+ if_hp_more_than AI_USER, 50, AI_CV_MirrorCoat3
+ if_random_less_than 100, AI_CV_MirrorCoat3
score -1
-AI_sub_81DB5E1:: @ 81DB5E1
- get_move 0
+AI_CV_MirrorCoat3:: @ 81DB5E1
+@ if_has_move AI_USER, MOVE_COUNTER, AI_CV_MirrorCoat_ScoreUp4 @ Improvement in Emerald
+ get_last_used_move AI_TARGET
get_move_power_from_result
- if_equal 0, AI_sub_81DB610
- if_not_taunted AI_sub_81DB5F7
- if_random_less_than 100, AI_sub_81DB5F7
- score 1
+ if_equal 0, AI_CV_MirrorCoat5
+ if_target_not_taunted AI_CV_MirrorCoat4
+ if_random_less_than 100, AI_CV_MirrorCoat4
+ score +1
-AI_sub_81DB5F7:: @ 81DB5F7
- get_move 0
+AI_CV_MirrorCoat4:: @ 81DB5F7
+ get_last_used_move AI_TARGET
get_move_type_from_result
- if_not_in_bytes AI_bytes_81DB63C, AI_sub_81DB639
- if_random_less_than 100, AI_sub_81DB63B
- score 1
- jump AI_sub_81DB63B
-
-AI_sub_81DB610:: @ 81DB610
- if_not_taunted AI_sub_81DB61D
- if_random_less_than 100, AI_sub_81DB61D
- score 1
-
-AI_sub_81DB61D:: @ 81DB61D
- get_type 0
- if_in_bytes AI_bytes_81DB63C, AI_sub_81DB63B
- get_type 2
- if_in_bytes AI_bytes_81DB63C, AI_sub_81DB63B
- if_random_less_than 50, AI_sub_81DB63B
-
-AI_sub_81DB639:: @ 81DB639
+ if_not_in_bytes AI_CV_MirrorCoat_SpecialTypeList, AI_CV_MirrorCoat_ScoreDown1
+ if_random_less_than 100, AI_CV_MirrorCoat_End
+ score +1
+ goto AI_CV_MirrorCoat_End
+
+AI_CV_MirrorCoat5:: @ 81DB610
+ if_target_not_taunted AI_CV_MirrorCoat6
+ if_random_less_than 100, AI_CV_MirrorCoat6
+ score +1
+
+AI_CV_MirrorCoat6:: @ 81DB61D
+ get_target_type1
+ if_in_bytes AI_CV_MirrorCoat_SpecialTypeList, AI_CV_MirrorCoat_End
+ get_target_type2
+ if_in_bytes AI_CV_MirrorCoat_SpecialTypeList, AI_CV_MirrorCoat_End
+ if_random_less_than 50, AI_CV_MirrorCoat_End
+
+@ Improvement in Emerald
+@AI_CV_MirrorCoat_ScoreUp4:
+@ if_random_less_than 100, AI_CV_MirrorCoat_ScoreUp4_End
+@ score +4
+@
+@AI_CV_MirrorCoat_ScoreUp4_End:
+@ end
+
+AI_CV_MirrorCoat_ScoreDown1:: @ 81DB639
score -1
-AI_sub_81DB63B:: @ 81DB63B
- end
-
-AI_bytes_81DB63C:: @ 81DB63C
- .byte 10
- .byte 11
- .byte 12
- .byte 13
- .byte 14
- .byte 15
- .byte 16
- .byte 17
- .byte 0xFF
-
-AI_sub_81DB645:: @ 81DB645
- if_damage_bonus 10, AI_sub_81DB666
- if_damage_bonus 20, AI_sub_81DB666
- if_move_effect 0, 111, AI_sub_81DB666
- if_hp_more_than 1, 38, AI_sub_81DB668
+AI_CV_MirrorCoat_End:: @ 81DB63B
+ end
+
+AI_CV_MirrorCoat_SpecialTypeList:: @ 81DB63C
+ .byte TYPE_FIRE
+ .byte TYPE_WATER
+ .byte TYPE_GRASS
+ .byte TYPE_ELECTRIC
+ .byte TYPE_PSYCHIC
+ .byte TYPE_ICE
+ .byte TYPE_DRAGON
+ .byte TYPE_DARK
+ .byte -1
+
+AI_CV_ChargeUpMove:: @ 81DB645
+ if_type_effectiveness AI_EFFECTIVENESS_x0_25, AI_CV_ChargeUpMove_ScoreDown2
+ if_type_effectiveness AI_EFFECTIVENESS_x0_5, AI_CV_ChargeUpMove_ScoreDown2
+ if_has_move_with_effect AI_TARGET, EFFECT_PROTECT, AI_CV_ChargeUpMove_ScoreDown2
+ if_hp_more_than AI_USER, 38, AI_CV_ChargeUpMove_End
score -1
- jump AI_sub_81DB668
+ goto AI_CV_ChargeUpMove_End
-AI_sub_81DB666:: @ 81DB666
+AI_CV_ChargeUpMove_ScoreDown2:: @ 81DB666
score -2
-AI_sub_81DB668:: @ 81DB668
+AI_CV_ChargeUpMove_End:: @ 81DB668
end
-AI_sub_81DB669:: @ 81DB669
- if_not_move_effect 0, 111, AI_sub_81DB677
+AI_CV_SemiInvulnerable:: @ 81DB669
+ if_doesnt_have_move_with_effect AI_TARGET, EFFECT_PROTECT, AI_CV_SemiInvulnerable2
score -1
- jump AI_sub_81DB6EE
-
-AI_sub_81DB677:: @ 81DB677
- if_status 0, 128, AI_sub_81DB6E6
- if_status2 0, 268435456, AI_sub_81DB6E6
- if_status3 0, 4, AI_sub_81DB6E6
+ goto AI_CV_SemiInvulnerable_End
+
+@ BUG: The scripts for checking type-resistance to weather for semi-invulnerable moves are swapped
+@ The result is that the AI is encouraged to stall while taking damage from weather
+@ To fix, swap _CheckSandstormTypes/_CheckIceType in the below script
+AI_CV_SemiInvulnerable2:: @ 81DB677
+ if_status AI_TARGET, STATUS1_TOXIC_POISON, AI_CV_SemiInvulnerable_TryEncourage
+ if_status2 AI_TARGET, STATUS2_CURSED, AI_CV_SemiInvulnerable_TryEncourage
+ if_status3 AI_TARGET, STATUS3_LEECHSEED, AI_CV_SemiInvulnerable_TryEncourage
get_weather
- if_equal 3, AI_sub_81DB6A7
- if_equal 2, AI_sub_81DB6C2
- jump AI_sub_81DB6D2
-
-AI_sub_81DB6A7:: @ 81DB6A7
- get_type 1
- if_in_bytes AI_bytes_81DB6EF, AI_sub_81DB6E6
- get_type 3
- if_in_bytes AI_bytes_81DB6EF, AI_sub_81DB6E6
- jump AI_sub_81DB6D2
-
-AI_sub_81DB6C2:: @ 81DB6C2
- get_type 1
- if_equal 15, AI_sub_81DB6E6
- get_type 3
- if_equal 15, AI_sub_81DB6E6
-
-AI_sub_81DB6D2:: @ 81DB6D2
- if_would_go_first 1, AI_sub_81DB6EE
- get_move 0
+ if_equal AI_WEATHER_HAIL, AI_CV_SemiInvulnerable_CheckSandstormTypes
+ if_equal AI_WEATHER_SANDSTORM, AI_CV_SemiInvulnerable_CheckIceType
+ goto AI_CV_SemiInvulnerable5
+
+AI_CV_SemiInvulnerable_CheckSandstormTypes:: @ 81DB6A7
+ get_user_type1
+ if_in_bytes AI_CV_SandstormResistantTypes, AI_CV_SemiInvulnerable_TryEncourage
+ get_user_type2
+ if_in_bytes AI_CV_SandstormResistantTypes, AI_CV_SemiInvulnerable_TryEncourage
+ goto AI_CV_SemiInvulnerable5
+
+AI_CV_SemiInvulnerable_CheckIceType:: @ 81DB6C2
+ get_user_type1
+ if_equal TYPE_ICE, AI_CV_SemiInvulnerable_TryEncourage
+ get_user_type2
+ if_equal TYPE_ICE, AI_CV_SemiInvulnerable_TryEncourage
+
+AI_CV_SemiInvulnerable5:: @ 81DB6D2
+ if_target_faster AI_CV_SemiInvulnerable_End
+ get_last_used_move AI_TARGET
get_move_effect_from_result
- if_not_equal 94, AI_sub_81DB6E6
- jump AI_sub_81DB6EE
+ if_not_equal EFFECT_LOCK_ON, AI_CV_SemiInvulnerable_TryEncourage
+ goto AI_CV_SemiInvulnerable_End
-AI_sub_81DB6E6:: @ 81DB6E6
- if_random_less_than 80, AI_sub_81DB6EE
- score 1
+AI_CV_SemiInvulnerable_TryEncourage:: @ 81DB6E6
+ if_random_less_than 80, AI_CV_SemiInvulnerable_End
+ score +1
-AI_sub_81DB6EE:: @ 81DB6EE
+AI_CV_SemiInvulnerable_End:: @ 81DB6EE
end
-AI_bytes_81DB6EF:: @ 81DB6EF
- .byte 4
- .byte 5
- .byte 8
- .byte 0xFF
+AI_CV_SandstormResistantTypes:: @ 81DB6EF
+ .byte TYPE_GROUND
+ .byte TYPE_ROCK
+ .byte TYPE_STEEL
+ .byte -1
-AI_sub_81DB6F3:: @ 81DB6F3
- score 2
+AI_CV_FakeOut:: @ 81DB6F3
+ score +2
end
-AI_sub_81DB6F6:: @ 81DB6F6
- get_stockpile_count 1
- if_less_than 2, AI_sub_81DB706
- if_random_less_than 80, AI_sub_81DB706
- score 2
+AI_CV_SpitUp:: @ 81DB6F6
+ get_stockpile_count AI_USER
+ if_less_than 2, AI_CV_SpitUp_End
+ if_random_less_than 80, AI_CV_SpitUp_End
+ score +2
-AI_sub_81DB706:: @ 81DB706
+AI_CV_SpitUp_End:: @ 81DB706
end
-AI_sub_81DB707:: @ 81DB707
- if_hp_less_than 1, 40, AI_sub_81DB72D
+AI_CV_Hail:: @ 81DB707
+ if_hp_less_than AI_USER, 40, AI_CV_Hail_ScoreDown1
get_weather
- if_equal 0, AI_sub_81DB726
- if_equal 1, AI_sub_81DB726
- if_equal 2, AI_sub_81DB726
- jump AI_sub_81DB72F
+ if_equal AI_WEATHER_SUN, AI_CV_Hail2
+ if_equal AI_WEATHER_RAIN, AI_CV_Hail2
+ if_equal AI_WEATHER_SANDSTORM, AI_CV_Hail2
+ goto AI_CV_Hail_End
-AI_sub_81DB726:: @ 81DB726
- score 1
- jump AI_sub_81DB72F
+AI_CV_Hail2:: @ 81DB726
+ score +1
+ goto AI_CV_Hail_End
-AI_sub_81DB72D:: @ 81DB72D
+AI_CV_Hail_ScoreDown1:: @ 81DB72D
score -1
-AI_sub_81DB72F:: @ 81DB72F
+AI_CV_Hail_End:: @ 81DB72F
end
-AI_sub_81DB730:: @ 81DB730
- if_not_status 0, 216, AI_sub_81DB73C
- score 1
+@ BUG: Facade score is increased if the target is statused, but should be if the user is. Replace AI_TARGET with AI_USER
+AI_CV_Facade:: @ 81DB730
+ if_not_status AI_TARGET, STATUS1_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_TOXIC_POISON, AI_CV_Facade_End
+ score +1
-AI_sub_81DB73C:: @ 81DB73C
+AI_CV_Facade_End:: @ 81DB73C
end
-AI_sub_81DB73D:: @ 81DB73D
- if_damage_bonus 10, AI_sub_81DB77C
- if_damage_bonus 20, AI_sub_81DB77C
- if_status 0, 7, AI_sub_81DB789
- if_status2 0, 983040, AI_sub_81DB783
- if_status2 0, 7, AI_sub_81DB783
- is_first_turn 1
- if_not_equal 0, AI_sub_81DB78B
- if_random_less_than 100, AI_sub_81DB78B
- score 1
- jump AI_sub_81DB78B
+AI_CV_FocusPunch:: @ 81DB73D
+ if_type_effectiveness AI_EFFECTIVENESS_x0_25, AI_CV_FocusPunch2
+ if_type_effectiveness AI_EFFECTIVENESS_x0_5, AI_CV_FocusPunch2
+ if_status AI_TARGET, STATUS1_SLEEP, AI_CV_FocusPunch_ScoreUp1
+ if_status2 AI_TARGET, STATUS2_INFATUATION, AI_CV_FocusPunch3
+ if_status2 AI_TARGET, STATUS2_CONFUSION, AI_CV_FocusPunch3
+ is_first_turn_for AI_USER
+ if_not_equal 0, AI_CV_FocusPunch_End
+ if_random_less_than 100, AI_CV_FocusPunch_End
+ score +1
+ goto AI_CV_FocusPunch_End
-AI_sub_81DB77C:: @ 81DB77C
+AI_CV_FocusPunch2:: @ 81DB77C
score -1
- jump AI_sub_81DB78B
+ goto AI_CV_FocusPunch_End
-AI_sub_81DB783:: @ 81DB783
- if_random_less_than 100, AI_sub_81DB78B
+AI_CV_FocusPunch3:: @ 81DB783
+ if_random_less_than 100, AI_CV_FocusPunch_End
-AI_sub_81DB789:: @ 81DB789
- score 1
+AI_CV_FocusPunch_ScoreUp1:: @ 81DB789
+ score +1
-AI_sub_81DB78B:: @ 81DB78B
+AI_CV_FocusPunch_End:: @ 81DB78B
end
-AI_sub_81DB78C:: @ 81DB78C
- if_status 0, 64, AI_sub_81DB79B
- jump AI_sub_81DB79D
+AI_CV_SmellingSalt:: @ 81DB78C
+ if_status AI_TARGET, STATUS1_PARALYSIS, AI_CV_SmellingSalt_ScoreUp1
+ goto AI_CV_SmellingSalt_End
-AI_sub_81DB79B:: @ 81DB79B
- score 1
+AI_CV_SmellingSalt_ScoreUp1:: @ 81DB79B
+ score +1
-AI_sub_81DB79D:: @ 81DB79D
+AI_CV_SmellingSalt_End:: @ 81DB79D
end
-AI_sub_81DB79E:: @ 81DB79E
- get_hold_effect 1
- if_in_bytes AI_bytes_81DB7E7, AI_sub_81DB7B9
- if_in_bytes AI_bytes_81DB7DF, AI_sub_81DB7CB
+AI_CV_Trick:: @ 81DB79E
+ get_hold_effect AI_USER
+ if_in_bytes AI_CV_Trick_ChoiceEffects, AI_CV_Trick3
+ if_in_bytes AI_CV_Trick_EffectsToEncourage, AI_CV_Trick4
-AI_sub_81DB7B2:: @ 81DB7B2
+AI_CV_Trick2:: @ 81DB7B2
score -3
- jump AI_sub_81DB7DE
-
-AI_sub_81DB7B9:: @ 81DB7B9
- get_hold_effect 0
- if_in_bytes AI_bytes_81DB7E7, AI_sub_81DB7B2
- score 5
- jump AI_sub_81DB7DE
-
-AI_sub_81DB7CB:: @ 81DB7CB
- get_hold_effect 0
- if_in_bytes AI_bytes_81DB7DF, AI_sub_81DB7B2
- if_random_less_than 50, AI_sub_81DB7DE
- score 2
-
-AI_sub_81DB7DE:: @ 81DB7DE
- end
-
-AI_bytes_81DB7DF:: @ 81DB7DF
- .byte 10
- .byte 11
- .byte 12
- .byte 13
- .byte 14
- .byte 24
- .byte 29
- .byte 0xFF
-
-AI_bytes_81DB7E7:: @ 81DB7E7
- .byte 29
- .byte 0xFF
-
-AI_sub_81DB7E9:: @ 81DB7E9
- get_ability 1
- if_in_bytes AI_bytes_81DB80F, AI_sub_81DB7FF
- get_ability 0
- if_in_bytes AI_bytes_81DB80F, AI_sub_81DB806
-
-AI_sub_81DB7FF:: @ 81DB7FF
+ goto AI_CV_Trick_End
+
+AI_CV_Trick3:: @ 81DB7B9
+ get_hold_effect AI_TARGET
+ if_in_bytes AI_CV_Trick_ChoiceEffects, AI_CV_Trick2
+ score +5
+ goto AI_CV_Trick_End
+
+AI_CV_Trick4:: @ 81DB7CB
+ get_hold_effect AI_TARGET
+ if_in_bytes AI_CV_Trick_EffectsToEncourage, AI_CV_Trick2
+ if_random_less_than 50, AI_CV_Trick_End
+ score +2
+
+AI_CV_Trick_End:: @ 81DB7DE
+ end
+
+AI_CV_Trick_EffectsToEncourage:: @ 81DB7DF
+ .byte HOLD_EFFECT_CONFUSE_SPICY
+ .byte HOLD_EFFECT_CONFUSE_DRY
+ .byte HOLD_EFFECT_CONFUSE_SWEET
+ .byte HOLD_EFFECT_CONFUSE_BITTER
+ .byte HOLD_EFFECT_CONFUSE_SOUR
+ .byte HOLD_EFFECT_MACHO_BRACE
+ .byte HOLD_EFFECT_CHOICE_BAND
+ .byte -1
+
+AI_CV_Trick_ChoiceEffects:: @ 81DB7E7
+ .byte HOLD_EFFECT_CHOICE_BAND
+ .byte -1
+
+AI_CV_ChangeSelfAbility:: @ 81DB7E9
+ get_ability AI_USER
+ if_in_bytes AI_CV_ChangeSelfAbility_AbilitiesToEncourage, AI_CV_ChangeSelfAbility2
+ get_ability AI_TARGET
+ if_in_bytes AI_CV_ChangeSelfAbility_AbilitiesToEncourage, AI_CV_ChangeSelfAbility3
+
+AI_CV_ChangeSelfAbility2:: @ 81DB7FF
score -1
- jump AI_sub_81DB80E
-
-AI_sub_81DB806:: @ 81DB806
- if_random_less_than 50, AI_sub_81DB80E
- score 2
-
-AI_sub_81DB80E:: @ 81DB80E
- end
-
-AI_bytes_81DB80F:: @ 81DB80F
- .byte 3
- .byte 4
- .byte 8
- .byte 9
- .byte 18
- .byte 25
- .byte 27
- .byte 33
- .byte 37
- .byte 44
- .byte 56
- .byte 61
- .byte 63
- .byte 74
- .byte 34
- .byte 19
- .byte 0xFF
-
-AI_sub_81DB820:: @ 81DB820
- if_damage_bonus 10, AI_sub_81DB84D
- if_damage_bonus 20, AI_sub_81DB84D
- if_stat_level_less_than 1, 1, 6, AI_sub_81DB84D
- if_would_go_first 1, AI_sub_81DB846
- if_hp_more_than 1, 40, AI_sub_81DB84D
- jump AI_sub_81DB84F
-
-AI_sub_81DB846:: @ 81DB846
- if_hp_less_than 1, 60, AI_sub_81DB84F
-
-AI_sub_81DB84D:: @ 81DB84D
+ goto AI_CV_ChangeSelfAbility_End
+
+AI_CV_ChangeSelfAbility3:: @ 81DB806
+ if_random_less_than 50, AI_CV_ChangeSelfAbility_End
+ score +2
+
+AI_CV_ChangeSelfAbility_End:: @ 81DB80E
+ end
+
+AI_CV_ChangeSelfAbility_AbilitiesToEncourage:: @ 81DB80F
+ .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
+
+AI_CV_Superpower:: @ 81DB820
+ if_type_effectiveness AI_EFFECTIVENESS_x0_25, AI_CV_Superpower_ScoreDown1
+ if_type_effectiveness AI_EFFECTIVENESS_x0_5, AI_CV_Superpower_ScoreDown1
+ if_stat_level_less_than AI_USER, STAT_ATK, 6, AI_CV_Superpower_ScoreDown1
+ if_target_faster AI_CV_Superpower2
+ if_hp_more_than AI_USER, 40, AI_CV_Superpower_ScoreDown1
+ goto AI_CV_Superpower_End
+
+AI_CV_Superpower2:: @ 81DB846
+ if_hp_less_than AI_USER, 60, AI_CV_Superpower_End
+
+AI_CV_Superpower_ScoreDown1:: @ 81DB84D
score -1
-AI_sub_81DB84F:: @ 81DB84F
+AI_CV_Superpower_End:: @ 81DB84F
end
-AI_sub_81DB850:: @ 81DB850
- if_hp_more_than 0, 30, AI_sub_81DB85F
- if_random_less_than 100, AI_sub_81DB85F
+AI_CV_MagicCoat:: @ 81DB850
+ if_hp_more_than AI_TARGET, 30, AI_CV_MagicCoat2
+ if_random_less_than 100, AI_CV_MagicCoat2
score -1
-AI_sub_81DB85F:: @ 81DB85F
- is_first_turn 1
- if_equal 0, AI_sub_81DB87A
- if_random_less_than -106, AI_sub_81DB882
- score 1
- jump AI_sub_81DB882
- if_random_less_than 50, AI_sub_81DB882
+AI_CV_MagicCoat2::
+ is_first_turn_for AI_USER
+ if_equal 0, AI_CV_MagicCoat4
+ if_random_less_than 150, AI_CV_MagicCoat_End
+ score +1
+ goto AI_CV_MagicCoat_End
+ if_random_less_than 50, AI_CV_MagicCoat_End
-AI_sub_81DB87A:: @ 81DB87A
- if_random_less_than 30, AI_sub_81DB882
+AI_CV_MagicCoat3::
+@ if_random_less_than 50, AI_CV_MagicCoat_End @ Improvement in Emerald
+
+AI_CV_MagicCoat4:: @ 81DB87A
+ if_random_less_than 30, AI_CV_MagicCoat_End
score -1
-AI_sub_81DB882:: @ 81DB882
+AI_CV_MagicCoat_End:: @ 81DB882
end
-AI_sub_81DB883:: @ 81DB883
- get_item 1
- if_not_in_bytes AI_bytes_81DB89E, AI_sub_81DB89B
- if_random_less_than 50, AI_sub_81DB89D
- score 1
- jump AI_sub_81DB89D
+AI_CV_Recycle:: @ 81DB883
+ get_used_held_item AI_USER
+ if_not_in_bytes AI_CV_Recycle_ItemsToEncourage, AI_CV_Recycle_ScoreDown2
+ if_random_less_than 50, AI_CV_Recycle_End
+ score +1
+ goto AI_CV_Recycle_End
-AI_sub_81DB89B:: @ 81DB89B
+AI_CV_Recycle_ScoreDown2:: @ 81DB89B
score -2
-AI_sub_81DB89D:: @ 81DB89D
+AI_CV_Recycle_End:: @ 81DB89D
end
-AI_bytes_81DB89E:: @ 81DB89E
- .byte 134
- .byte 141
- .byte 174
- .byte 0xFF
+AI_CV_Recycle_ItemsToEncourage:: @ 81DB89E
+ .byte ITEM_CHESTO_BERRY
+ .byte ITEM_LUM_BERRY
+ .byte ITEM_STARF_BERRY
+ .byte -1
-AI_sub_81DB8A2:: @ 81DB8A2
- if_status 0, 7, AI_sub_81DB8CD
- if_status2 0, 983040, AI_sub_81DB8CD
- if_status2 0, 7, AI_sub_81DB8CD
- if_random_less_than -76, AI_sub_81DB8CD
- score 2
- jump AI_sub_81DB8CF
+AI_CV_Revenge:: @ 81DB8A2
+ if_status AI_TARGET, STATUS1_SLEEP, AI_CV_Revenge_ScoreDown2
+ if_status2 AI_TARGET, STATUS2_INFATUATION, AI_CV_Revenge_ScoreDown2
+ if_status2 AI_TARGET, STATUS2_CONFUSION, AI_CV_Revenge_ScoreDown2
+ if_random_less_than 180, AI_CV_Revenge_ScoreDown2
+ score +2
+ goto AI_CV_Revenge_End
-AI_sub_81DB8CD:: @ 81DB8CD
+AI_CV_Revenge_ScoreDown2:: @ 81DB8CD
score -2
-AI_sub_81DB8CF:: @ 81DB8CF
+AI_CV_Revenge_End:: @ 81DB8CF
end
-AI_sub_81DB8D0:: @ 81DB8D0
- if_status4 0, 1, AI_sub_81DB8DF
- jump AI_sub_81DB8E1
+AI_CV_BrickBreak:: @ 81DB8D0
+ if_side_affecting AI_TARGET, SIDE_STATUS_REFLECT, AI_CV_BrickBreak_ScoreUp1
+ goto AI_CV_BrickBreak_End
-AI_sub_81DB8DF:: @ 81DB8DF
- score 1
+AI_CV_BrickBreak_ScoreUp1:: @ 81DB8DF
+ score +1
-AI_sub_81DB8E1:: @ 81DB8E1
+AI_CV_BrickBreak_End:: @ 81DB8E1
end
-AI_sub_81DB8E2:: @ 81DB8E2
- if_hp_less_than 0, 30, AI_sub_81DB8F9
- is_first_turn 1
- if_more_than 0, AI_sub_81DB8F9
- if_random_less_than -76, AI_sub_81DB8F9
- score 1
+AI_CV_KnockOff:: @ 81DB8E2
+ if_hp_less_than AI_TARGET, 30, AI_CV_KnockOff_End
+ is_first_turn_for AI_USER
+ if_more_than 0, AI_CV_KnockOff_End
+ if_random_less_than 180, AI_CV_KnockOff_End
+ score +1
-AI_sub_81DB8F9:: @ 81DB8F9
+AI_CV_KnockOff_End:: @ 81DB8F9
end
-AI_sub_81DB8FA:: @ 81DB8FA
- if_hp_less_than 0, 70, AI_sub_81DB923
- if_would_go_first 1, AI_sub_81DB915
- if_hp_more_than 1, 40, AI_sub_81DB923
- score 1
- jump AI_sub_81DB925
+AI_CV_Endeavor:: @ 81DB8FA
+ if_hp_less_than AI_TARGET, 70, AI_CV_Endeavor_ScoreDown1
+ if_target_faster AI_CV_Endeavor2
+ if_hp_more_than AI_USER, 40, AI_CV_Endeavor_ScoreDown1
+ score +1
+ goto AI_CV_Endeavor_End
-AI_sub_81DB915:: @ 81DB915
- if_hp_more_than 1, 50, AI_sub_81DB923
- score 1
- jump AI_sub_81DB925
+AI_CV_Endeavor2:: @ 81DB915
+ if_hp_more_than AI_USER, 50, AI_CV_Endeavor_ScoreDown1
+ score +1
+ goto AI_CV_Endeavor_End
-AI_sub_81DB923:: @ 81DB923
+AI_CV_Endeavor_ScoreDown1:: @ 81DB923
score -1
-AI_sub_81DB925:: @ 81DB925
+AI_CV_Endeavor_End:: @ 81DB925
end
-AI_sub_81DB926:: @ 81DB926
- if_damage_bonus 10, AI_sub_81DB94B
- if_damage_bonus 20, AI_sub_81DB94B
- if_would_go_first 1, AI_sub_81DB944
- if_hp_more_than 0, 50, AI_sub_81DB94D
- jump AI_sub_81DB94B
+AI_CV_Eruption:: @ 81DB926
+ if_type_effectiveness AI_EFFECTIVENESS_x0_25, AI_CV_Eruption_ScoreDown1
+ if_type_effectiveness AI_EFFECTIVENESS_x0_5, AI_CV_Eruption_ScoreDown1
+ if_target_faster AI_CV_Eruption2
+ if_hp_more_than AI_TARGET, 50, AI_CV_Eruption_End
+ goto AI_CV_Eruption_ScoreDown1
-AI_sub_81DB944:: @ 81DB944
- if_hp_more_than 0, 70, AI_sub_81DB94D
+AI_CV_Eruption2:: @ 81DB944
+ if_hp_more_than AI_TARGET, 70, AI_CV_Eruption_End
-AI_sub_81DB94B:: @ 81DB94B
+AI_CV_Eruption_ScoreDown1:: @ 81DB94B
score -1
-AI_sub_81DB94D:: @ 81DB94D
+AI_CV_Eruption_End:: @ 81DB94D
end
-AI_sub_81DB94E:: @ 81DB94E
- is_first_turn 1
- if_more_than 0, AI_sub_81DB95E
- if_random_less_than 100, AI_sub_81DB95E
- score 2
+AI_CV_Imprison:: @ 81DB94E
+ is_first_turn_for AI_USER
+ if_more_than 0, AI_CV_Imprison_End
+ if_random_less_than 100, AI_CV_Imprison_End
+ score +2
-AI_sub_81DB95E:: @ 81DB95E
+AI_CV_Imprison_End:: @ 81DB95E
end
-AI_sub_81DB95F:: @ 81DB95F
- if_hp_less_than 0, 50, AI_sub_81DB96B
- jump AI_sub_81DB96D
+AI_CV_Refresh:: @ 81DB95F
+ if_hp_less_than AI_TARGET, 50, AI_CV_Refresh_ScoreDown1
+ goto AI_CV_Refresh_End
-AI_sub_81DB96B:: @ 81DB96B
+AI_CV_Refresh_ScoreDown1:: @ 81DB96B
score -1
-AI_sub_81DB96D:: @ 81DB96D
- end
-
-AI_sub_81DB96E:: @ 81DB96E
- is_first_turn 1
- if_equal 1, AI_sub_81DB9B5
- if_random_less_than 30, AI_sub_81DB9D7
- if_would_go_first 1, AI_sub_81DB99B
- if_hp_not_equal 1, 100, AI_sub_81DB9CF
- if_hp_less_than 0, 70, AI_sub_81DB9CF
- if_random_less_than 60, AI_sub_81DB9D7
- jump AI_sub_81DB9CF
-
-AI_sub_81DB99B:: @ 81DB99B
- if_hp_more_than 0, 25, AI_sub_81DB9CF
- if_move_effect 0, 32, AI_sub_81DB9B5
- if_move_effect 0, -100, AI_sub_81DB9B5
- jump AI_sub_81DB9C2
-
-AI_sub_81DB9B5:: @ 81DB9B5
- if_random_less_than -106, AI_sub_81DB9D7
- score 2
- jump AI_sub_81DB9D7
-
-AI_sub_81DB9C2:: @ 81DB9C2
- if_random_less_than -26, AI_sub_81DB9CF
- score 1
- jump AI_sub_81DB9D7
-
-AI_sub_81DB9CF:: @ 81DB9CF
- if_random_less_than 30, AI_sub_81DB9D7
+AI_CV_Refresh_End:: @ 81DB96D
+ end
+
+AI_CV_Snatch:: @ 81DB96E
+ is_first_turn_for AI_USER
+ if_equal 1, AI_CV_Snatch3
+ if_random_less_than 30, AI_CV_Snatch_End
+ if_target_faster AI_CV_Snatch2
+ if_hp_not_equal AI_USER, 100, AI_CV_Snatch5
+ if_hp_less_than AI_TARGET, 70, AI_CV_Snatch5
+ if_random_less_than 60, AI_CV_Snatch_End
+ goto AI_CV_Snatch5
+
+AI_CV_Snatch2:: @ 81DB99B
+ if_hp_more_than AI_TARGET, 25, AI_CV_Snatch5
+ if_has_move_with_effect AI_TARGET, EFFECT_RESTORE_HP, AI_CV_Snatch3
+ if_has_move_with_effect AI_TARGET, EFFECT_DEFENSE_CURL, AI_CV_Snatch3
+ goto AI_CV_Snatch4
+
+AI_CV_Snatch3:: @ 81DB9B5
+ if_random_less_than 150, AI_CV_Snatch_End
+ score +2
+ goto AI_CV_Snatch_End
+
+AI_CV_Snatch4:: @ 81DB9C2
+ if_random_less_than 230, AI_CV_Snatch5
+ score +1
+ goto AI_CV_Snatch_End
+
+AI_CV_Snatch5:: @ 81DB9CF
+ if_random_less_than 30, AI_CV_Snatch_End
score -2
-AI_sub_81DB9D7:: @ 81DB9D7
+AI_CV_Snatch_End:: @ 81DB9D7
end
-AI_sub_81DB9D8:: @ 81DB9D8
- if_hp_less_than 1, 50, AI_sub_81DB9FB
- get_type 0
- if_equal 13, AI_sub_81DB9F4
- get_type 2
- if_equal 13, AI_sub_81DB9F4
- jump AI_sub_81DB9FB
+AI_CV_MudSport:: @ 81DB9D8
+ if_hp_less_than AI_USER, 50, AI_CV_MudSport_ScoreDown1
+ get_target_type1
+ if_equal TYPE_ELECTRIC, AI_CV_MudSport2
+ get_target_type2
+ if_equal TYPE_ELECTRIC, AI_CV_MudSport2
+ goto AI_CV_MudSport_ScoreDown1
-AI_sub_81DB9F4:: @ 81DB9F4
- score 1
- jump AI_sub_81DB9FD
+AI_CV_MudSport2:: @ 81DB9F4
+ score +1
+ goto AI_CV_MudSport_End
-AI_sub_81DB9FB:: @ 81DB9FB
+AI_CV_MudSport_ScoreDown1:: @ 81DB9FB
score -1
-AI_sub_81DB9FD:: @ 81DB9FD
+AI_CV_MudSport_End:: @ 81DB9FD
end
-AI_sub_81DB9FE:: @ 81DB9FE
- if_damage_bonus 10, AI_sub_81DBA23
- if_damage_bonus 20, AI_sub_81DBA23
- if_would_go_first 1, AI_sub_81DBA1C
- if_hp_more_than 1, 60, AI_sub_81DBA25
- jump AI_sub_81DBA23
+AI_CV_Overheat:: @ 81DB9FE
+ if_type_effectiveness AI_EFFECTIVENESS_x0_25, AI_CV_Overheat_ScoreDown1
+ if_type_effectiveness AI_EFFECTIVENESS_x0_5, AI_CV_Overheat_ScoreDown1
+ if_target_faster AI_CV_Overheat2
+ if_hp_more_than AI_USER, 60, AI_CV_Overheat_End
+ goto AI_CV_Overheat_ScoreDown1
-AI_sub_81DBA1C:: @ 81DBA1C
- if_hp_more_than 1, 80, AI_sub_81DBA25
+AI_CV_Overheat2:: @ 81DBA1C
+ if_hp_more_than AI_USER, 80, AI_CV_Overheat_End
-AI_sub_81DBA23:: @ 81DBA23
+AI_CV_Overheat_ScoreDown1:: @ 81DBA23
score -1
-AI_sub_81DBA25:: @ 81DBA25
+AI_CV_Overheat_End:: @ 81DBA25
end
-AI_sub_81DBA26:: @ 81DBA26
- if_hp_less_than 1, 50, AI_sub_81DBA49
- get_type 0
- if_equal 10, AI_sub_81DBA42
- get_type 2
- if_equal 10, AI_sub_81DBA42
- jump AI_sub_81DBA49
+AI_CV_WaterSport:: @ 81DBA26
+ if_hp_less_than AI_USER, 50, AI_CV_WaterSport_ScoreDown1
+ get_target_type1
+ if_equal TYPE_FIRE, AI_CV_WaterSport2
+ get_target_type2
+ if_equal TYPE_FIRE, AI_CV_WaterSport2
+ goto AI_CV_WaterSport_ScoreDown1
-AI_sub_81DBA42:: @ 81DBA42
- score 1
- jump AI_sub_81DBA4B
+AI_CV_WaterSport2:: @ 81DBA42
+ score +1
+ goto AI_CV_WaterSport_End
-AI_sub_81DBA49:: @ 81DBA49
+AI_CV_WaterSport_ScoreDown1:: @ 81DBA49
score -1
-AI_sub_81DBA4B:: @ 81DBA4B
+AI_CV_WaterSport_End:: @ 81DBA4B
end
-AI_sub_81DBA4C:: @ 81DBA4C
- if_would_go_first 1, AI_sub_81DBA66
- if_hp_more_than 1, 50, AI_sub_81DBA6E
- if_random_less_than 70, AI_sub_81DBA6E
+AI_CV_DragonDance:: @ 81DBA4C
+ if_target_faster AI_CV_DragonDance2
+ if_hp_more_than AI_USER, 50, AI_CV_DragonDance_End
+ if_random_less_than 70, AI_CV_DragonDance_End
score -1
- jump AI_sub_81DBA6E
+ goto AI_CV_DragonDance_End
-AI_sub_81DBA66:: @ 81DBA66
- if_random_less_than -128, AI_sub_81DBA6E
- score 1
+AI_CV_DragonDance2:: @ 81DBA66
+ if_random_less_than 128, AI_CV_DragonDance_End
+ score +1
-AI_sub_81DBA6E:: @ 81DBA6E
+AI_CV_DragonDance_End:: @ 81DBA6E
end
-AI_CheckViability:: @ 81DBA6F
- if_can_faint AI_sub_81DBA7C
- is_most_powerful_move
- if_equal 1, AI_sub_81DA424
+AI_TryToFaint:: @ 81DBA6F
+ if_can_faint AI_TryToFaint_TryToEncourageQuickAttack
+ get_how_powerful_move_is
+ if_equal MOVE_NOT_MOST_POWERFUL, Score_Minus1
+@ if_type_effectiveness AI_EFFECTIVENESS_x4, AI_TryToFaint_DoubleSuperEffective @ Improvement in Emerald
end
-AI_sub_81DBA7C:: @ 81DBA7C
- if_effect 7, AI_sub_81DBA8C
- if_not_effect 103, AI_sub_81DBA8A
- score 2
+@ Improvement in Emerald
+@AI_TryToFaint_DoubleSuperEffective:
+@ if_random_less_than 80, AI_TryToFaint_End
+@ score +2
+@ end
+
+AI_TryToFaint_TryToEncourageQuickAttack:: @ 81DBA7C
+ if_effect EFFECT_EXPLOSION, AI_TryToFaint_End
+ if_not_effect EFFECT_QUICK_ATTACK, AI_TryToFaint_ScoreUp4
+ score +2
-AI_sub_81DBA8A:: @ 81DBA8A
- score 4
+AI_TryToFaint_ScoreUp4:: @ 81DBA8A
+ score +4
-AI_sub_81DBA8C:: @ 81DBA8C
+AI_TryToFaint_End:: @ 81DBA8C
end
AI_SetupFirstTurn:: @ 81DBA8D
get_turn_count
- if_not_equal 0, AI_sub_81DBAA6
- get_effect
- if_not_in_bytes AI_bytes_81DBAA7, AI_sub_81DBAA6
- if_random_less_than 80, AI_sub_81DBAA6
- score 2
-
-AI_sub_81DBAA6:: @ 81DBAA6
- end
-
-AI_bytes_81DBAA7:: @ 81DBAA7
- .byte 10
- .byte 11
- .byte 12
- .byte 13
- .byte 14
- .byte 15
- .byte 16
- .byte 18
- .byte 19
- .byte 20
- .byte 21
- .byte 22
- .byte 23
- .byte 24
- .byte 30
- .byte 35
- .byte 54
- .byte 47
- .byte 49
- .byte 50
- .byte 51
- .byte 52
- .byte 53
- .byte 54
- .byte 55
- .byte 56
- .byte 58
- .byte 59
- .byte 60
- .byte 61
- .byte 62
- .byte 63
- .byte 64
- .byte 65
- .byte 66
- .byte 67
- .byte 79
- .byte 84
- .byte 108
- .byte 109
- .byte 118
- .byte 213
- .byte 187
- .byte 156
- .byte 165
- .byte 166
- .byte 167
- .byte 181
- .byte 192
- .byte 199
- .byte 205
- .byte 206
- .byte 208
- .byte 211
- .byte 213
- .byte 0xFF
+ if_not_equal 0, AI_SetupFirstTurn_End
+ get_considered_move_effect
+ if_not_in_bytes AI_SetupFirstTurn_SetupEffectsToEncourage, AI_SetupFirstTurn_End
+ if_random_less_than 80, AI_SetupFirstTurn_End
+ score +2
+
+AI_SetupFirstTurn_End:: @ 81DBAA6
+ end
+
+AI_SetupFirstTurn_SetupEffectsToEncourage:: @ 81DBAA7
+ .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
AI_PreferStrongestMove:: @ 81DBADF
- is_most_powerful_move
- if_not_equal 0, AI_sub_81DBAEE
- if_random_less_than 100, AI_sub_81DBAEE
- score 2
+ get_how_powerful_move_is
+ if_not_equal MOVE_POWER_DISCOURAGED, AI_PreferStrongestMove_End
+ if_random_less_than 100, AI_PreferStrongestMove_End
+ score +2
-AI_sub_81DBAEE:: @ 81DBAEE
+AI_PreferStrongestMove_End:: @ 81DBAEE
end
AI_Risky:: @ 81DBAEF
- get_effect
- if_not_in_bytes AI_bytes_81DBB02, AI_sub_81DBB01
- if_random_less_than -128, AI_sub_81DBB01
- score 2
-
-AI_sub_81DBB01:: @ 81DBB01
- end
-
-AI_bytes_81DBB02:: @ 81DBB02
- .byte 1
- .byte 7
- .byte 9
- .byte 38
- .byte 43
- .byte 49
- .byte 83
- .byte 88
- .byte 89
- .byte 98
- .byte 118
- .byte 120
- .byte 122
- .byte 140
- .byte 142
- .byte 144
- .byte 170
- .byte 185
- .byte 199
- .byte 0xFF
+ get_considered_move_effect
+ if_not_in_bytes AI_Risky_EffectsToEncourage, AI_Risky_End
+ if_random_less_than 128, AI_Risky_End
+ score +2
+
+AI_Risky_End:: @ 81DBB01
+ end
+
+AI_Risky_EffectsToEncourage:: @ 81DBB02
+ .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
AI_PreferBatonPass:: @ 81DBB16
- count_alive_pokemon 1
- if_equal 0, AI_sub_81DBB3A
- is_most_powerful_move
- if_not_equal 0, AI_sub_81DBB3A
- if_move_effect 1, 127, AI_sub_81DBB32
- if_random_less_than 80, AI_sub_81DBB01
-
-AI_sub_81DBB32:: @ 81DBB32
- if_random_less_than 20, AI_sub_81DBB01
- score 3
-
-AI_sub_81DBB3A:: @ 81DBB3A
- end
-
+ count_alive_pokemon AI_USER
+ if_equal 0, AI_PreferBatonPass_End
+ get_how_powerful_move_is
+ if_not_equal MOVE_POWER_DISCOURAGED, AI_PreferBatonPass_End
+ if_has_move_with_effect AI_USER, EFFECT_BATON_PASS, AI_PreferBatonPass_GoForBatonPass
+ if_random_less_than 80, AI_Risky_End
+
+@ Improvement in Emerald (several below)
+AI_PreferBatonPass_GoForBatonPass:: @ 81DBB32
+@ if_move MOVE_SWORDS_DANCE, AI_PreferBatonPass2
+@ if_move MOVE_DRAGON_DANCE, AI_PreferBatonPass2
+@ if_move MOVE_CALM_MIND, AI_PreferBatonPass2
+@ if_effect EFFECT_PROTECT, AI_PreferBatonPass3
+@ if_move MOVE_BATON_PASS, AI_PreferBatonPass_EncourageIfHighStats
+ if_random_less_than 20, AI_Risky_End
+ score +3
+
+@AI_PreferBatonPass2:
+@ get_turn_count
+@ if_equal 0, Score_Plus5
+@ if_hp_less_than AI_USER, 60, Score_Minus10
+@ goto Score_Plus1
+@
+@AI_PreferBatonPass3::
+@ get_last_used_move AI_USER
+@ if_in_hwords AI_PreferBatonPass_ProtectMoves, Score_Minus2
+@ score +2
+@ end
+@
+@AI_PreferBatonPass_ProtectMoves:
+@ .2byte MOVE_PROTECT
+@ .2byte MOVE_DETECT
+@ .2byte -1
+@
+@AI_PreferBatonPass_EncourageIfHighStats:
+@ get_turn_count
+@ if_equal 0, Score_Minus2
+@ if_stat_level_more_than AI_USER, STAT_ATK, 8, Score_Plus3
+@ if_stat_level_more_than AI_USER, STAT_ATK, 7, Score_Plus2
+@ if_stat_level_more_than AI_USER, STAT_ATK, 6, Score_Plus1
+@ if_stat_level_more_than AI_USER, STAT_SPATK, 8, Score_Plus3
+@ if_stat_level_more_than AI_USER, STAT_SPATK, 7, Score_Plus2
+@ if_stat_level_more_than AI_USER, STAT_SPATK, 6, Score_Plus1
+@ end
+
+AI_PreferBatonPass_End:: @ 81DBB3A
+ end
+
+@ Empty. Expanded in Emerald
AI_DoubleBattle:: @ 81DBB3B
end
AI_HPAware:: @ 81DBB3C
- if_hp_more_than 1, 70, AI_sub_81DBB59
- if_hp_more_than 1, 30, AI_sub_81DBB68
- get_effect
- if_in_bytes AI_bytes_81DBBFC, AI_sub_81DBB77
- jump AI_sub_81DBB7F
-
-AI_sub_81DBB59:: @ 81DBB59
- get_effect
- if_in_bytes AI_bytes_81DBBC3, AI_sub_81DBB77
- jump AI_sub_81DBB7F
-
-AI_sub_81DBB68:: @ 81DBB68
- get_effect
- if_in_bytes AI_bytes_81DBBD1, AI_sub_81DBB77
- jump AI_sub_81DBB7F
-
-AI_sub_81DBB77:: @ 81DBB77
- if_random_less_than 50, AI_sub_81DBB7F
+ if_hp_more_than AI_USER, 70, AI_HPAware_UserHasHighHP
+ if_hp_more_than AI_USER, 30, AI_HPAware_UserHasMediumHP
+ get_considered_move_effect
+ if_in_bytes AI_HPAware_DiscouragedEffectsWhenLowHP, AI_HPAware_TryToDiscourage
+ goto AI_HPAware_ConsiderTarget
+
+AI_HPAware_UserHasHighHP:: @ 81DBB59
+ get_considered_move_effect
+ if_in_bytes AI_HPAware_DiscouragedEffectsWhenHighHP, AI_HPAware_TryToDiscourage
+ goto AI_HPAware_ConsiderTarget
+
+AI_HPAware_UserHasMediumHP:: @ 81DBB68
+ get_considered_move_effect
+ if_in_bytes AI_HPAware_DiscouragedEffectsWhenMediumHP, AI_HPAware_TryToDiscourage
+ goto AI_HPAware_ConsiderTarget
+
+AI_HPAware_TryToDiscourage:: @ 81DBB77
+ if_random_less_than 50, AI_HPAware_ConsiderTarget
score -2
-AI_sub_81DBB7F:: @ 81DBB7F
- if_hp_more_than 0, 70, AI_sub_81DBB9C
- if_hp_more_than 0, 30, AI_sub_81DBBAB
- get_effect
- if_in_bytes AI_bytes_81DBC55, AI_sub_81DBBBA
- jump AI_sub_81DBBC2
-
-AI_sub_81DBB9C:: @ 81DBB9C
- get_effect
- if_in_bytes AI_bytes_81DBC2C, AI_sub_81DBBBA
- jump AI_sub_81DBBC2
-
-AI_sub_81DBBAB:: @ 81DBBAB
- get_effect
- if_in_bytes AI_bytes_81DBC2D, AI_sub_81DBBBA
- jump AI_sub_81DBBC2
-
-AI_sub_81DBBBA:: @ 81DBBBA
- if_random_less_than 50, AI_sub_81DBBC2
+AI_HPAware_ConsiderTarget:: @ 81DBB7F
+ if_hp_more_than AI_TARGET, 70, AI_HPAware_TargetHasHighHP
+ if_hp_more_than AI_TARGET, 30, AI_HPAware_TargetHasMediumHP
+ get_considered_move_effect
+ if_in_bytes AI_HPAware_DiscouragedEffectsWhenTargetLowHP, AI_HPAware_TargetTryToDiscourage
+ goto AI_HPAware_End
+
+AI_HPAware_TargetHasHighHP:: @ 81DBB9C
+ get_considered_move_effect
+ if_in_bytes AI_HPAware_DiscouragedEffectsWhenTargetHighHP, AI_HPAware_TargetTryToDiscourage
+ goto AI_HPAware_End
+
+AI_HPAware_TargetHasMediumHP:: @ 81DBBAB
+ get_considered_move_effect
+ if_in_bytes AI_HPAware_DiscouragedEffectsWhenTargetMediumHP, AI_HPAware_TargetTryToDiscourage
+ goto AI_HPAware_End
+
+AI_HPAware_TargetTryToDiscourage:: @ 81DBBBA
+ if_random_less_than 50, AI_HPAware_End
score -2
-AI_sub_81DBBC2:: @ 81DBBC2
- end
-
-AI_bytes_81DBBC3:: @ 81DBBC3
- .byte 7
- .byte 32
- .byte 37
- .byte 98
- .byte 99
- .byte 116
- .byte 132
- .byte 133
- .byte 134
- .byte 157
- .byte 168
- .byte 194
- .byte 204
- .byte 0xFF
-
-AI_bytes_81DBBD1:: @ 81DBBD1
- .byte 7
- .byte 10
- .byte 11
- .byte 12
- .byte 13
- .byte 14
- .byte 15
- .byte 16
- .byte 18
- .byte 19
- .byte 20
- .byte 21
- .byte 22
- .byte 23
- .byte 24
- .byte 26
- .byte 30
- .byte 35
- .byte 46
- .byte 47
- .byte 50
- .byte 51
- .byte 52
- .byte 53
- .byte 54
- .byte 55
- .byte 56
- .byte 58
- .byte 59
- .byte 60
- .byte 61
- .byte 62
- .byte 63
- .byte 64
- .byte 93
- .byte 124
- .byte 142
- .byte 205
- .byte 206
- .byte 208
- .byte 211
- .byte 212
- .byte 0xFF
-
-AI_bytes_81DBBFC:: @ 81DBBFC
- .byte 10
- .byte 11
- .byte 12
- .byte 13
- .byte 14
- .byte 15
- .byte 16
- .byte 18
- .byte 19
- .byte 20
- .byte 21
- .byte 22
- .byte 23
- .byte 24
- .byte 26
- .byte 30
- .byte 35
- .byte 46
- .byte 47
- .byte 50
- .byte 51
- .byte 52
- .byte 53
- .byte 54
- .byte 55
- .byte 56
- .byte 58
- .byte 59
- .byte 60
- .byte 61
- .byte 62
- .byte 63
- .byte 64
- .byte 81
- .byte 93
- .byte 94
- .byte 124
- .byte 142
- .byte 143
- .byte 144
- .byte 151
- .byte 190
- .byte 205
- .byte 206
- .byte 208
- .byte 211
- .byte 212
- .byte 0xFF
-
-AI_bytes_81DBC2C:: @ 81DBC2C
- .byte 0xFF
-
-AI_bytes_81DBC2D:: @ 81DBC2D
- .byte 10
- .byte 11
- .byte 12
- .byte 13
- .byte 14
- .byte 15
- .byte 16
- .byte 18
- .byte 19
- .byte 20
- .byte 21
- .byte 22
- .byte 23
- .byte 24
- .byte 46
- .byte 47
- .byte 50
- .byte 51
- .byte 52
- .byte 53
- .byte 54
- .byte 55
- .byte 56
- .byte 58
- .byte 59
- .byte 60
- .byte 61
- .byte 62
- .byte 63
- .byte 64
- .byte 66
- .byte 91
- .byte 114
- .byte 124
- .byte 205
- .byte 206
- .byte 208
- .byte 211
- .byte 212
- .byte 0xFF
-
-AI_bytes_81DBC55:: @ 81DBC55
- .byte 1
- .byte 7
- .byte 10
- .byte 11
- .byte 12
- .byte 13
- .byte 14
- .byte 15
- .byte 16
- .byte 18
- .byte 19
- .byte 20
- .byte 21
- .byte 22
- .byte 23
- .byte 24
- .byte 26
- .byte 30
- .byte 33
- .byte 35
- .byte 38
- .byte 40
- .byte 40
- .byte 46
- .byte 47
- .byte 49
- .byte 50
- .byte 51
- .byte 52
- .byte 53
- .byte 54
- .byte 55
- .byte 56
- .byte 58
- .byte 59
- .byte 60
- .byte 61
- .byte 62
- .byte 63
- .byte 64
- .byte 66
- .byte 67
- .byte 91
- .byte 93
- .byte 94
- .byte 100
- .byte 114
- .byte 118
- .byte 119
- .byte 120
- .byte 124
- .byte 143
- .byte 144
- .byte 167
- .byte 205
- .byte 206
- .byte 208
- .byte 211
- .byte 212
- .byte 0xFF
+AI_HPAware_End:: @ 81DBBC2
+ end
+
+AI_HPAware_DiscouragedEffectsWhenHighHP:: @ 81DBBC3
+ .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
+
+AI_HPAware_DiscouragedEffectsWhenMediumHP:: @ 81DBBD1
+ .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
+
+AI_HPAware_DiscouragedEffectsWhenLowHP:: @ 81DBBFC
+ .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_SOLARBEAM
+ .byte EFFECT_ERUPTION
+ .byte EFFECT_TICKLE
+ .byte EFFECT_COSMIC_POWER
+ .byte EFFECT_BULK_UP
+ .byte EFFECT_CALM_MIND
+ .byte EFFECT_DRAGON_DANCE
+ .byte -1
+
+AI_HPAware_DiscouragedEffectsWhenTargetHighHP:: @ 81DBC2C
+ .byte -1
+
+AI_HPAware_DiscouragedEffectsWhenTargetMediumHP:: @ 81DBC2D
+ .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
+
+AI_HPAware_DiscouragedEffectsWhenTargetLowHP:: @ 81DBC55
+ .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
AI_Unknown:: @ 81DBC91
- if_not_effect -119, AI_sub_81DBCA7
- if_equal 0, AI_sub_81DBCA7
- is_first_turn 1
- if_equal 0, AI_sub_81DBCA7
- score 5
+ if_not_effect EFFECT_SUNNY_DAY, AI_Unknown_End
+ if_equal 0, AI_Unknown_End
+ is_first_turn_for AI_USER
+ if_equal 0, AI_Unknown_End
+ score +5
-AI_sub_81DBCA7:: @ 81DBCA7
+AI_Unknown_End:: @ 81DBCA7
end
AI_Roaming:: @ 81DBCA8
- if_status2 1, 57344, AI_sub_81DBCD5
- if_status2 1, 67108864, AI_sub_81DBCD5
- get_ability 0
- if_equal 23, AI_sub_81DBCD5
- get_ability 1
- if_equal 26, AI_sub_81DBCD4
- get_ability 0
- if_equal 71, AI_sub_81DBCD5
-
-AI_sub_81DBCD4:: @ 81DBCD4
+ if_status2 AI_USER, STATUS2_WRAPPED, AI_Roaming_End
+ if_status2 AI_USER, STATUS2_ESCAPE_PREVENTION, AI_Roaming_End
+ get_ability AI_TARGET
+ if_equal ABILITY_SHADOW_TAG, AI_Roaming_End
+ get_ability AI_USER
+ if_equal ABILITY_LEVITATE, AI_Roaming_Flee
+ get_ability AI_TARGET
+ if_equal ABILITY_ARENA_TRAP, AI_Roaming_End
+
+AI_Roaming_Flee:: @ 81DBCD4
flee
-AI_sub_81DBCD5:: @ 81DBCD5
+AI_Roaming_End:: @ 81DBCD5
end
AI_Safari:: @ 81DBCD6
- if_random_100 AI_sub_81DBCDC
+ if_random_safari_flee AI_Safari_Flee
watch
-AI_sub_81DBCDC:: @ 81DBCDC
+AI_Safari_Flee:: @ 81DBCDC
flee
+@ From Hoenns Poochyena fight (Zigzagoon in Emerald)
AI_FirstBattle:: @ 81DBCDD
- if_hp_equal 0, 20, AI_sub_81DBCEC
- if_hp_less_than 0, 20, AI_sub_81DBCEC
+ if_hp_equal AI_TARGET, 20, AI_FirstBattle_Flee
+ if_hp_less_than AI_TARGET, 20, AI_FirstBattle_Flee
end
-AI_sub_81DBCEC:: @ 81DBCEC
+AI_FirstBattle_Flee:: @ 81DBCEC
flee
AI_Ret:: @ 81DBCED
diff --git a/data/event_scripts.s b/data/event_scripts.s
index 63d54de48..ab8c2d023 100644
--- a/data/event_scripts.s
+++ b/data/event_scripts.s
@@ -926,7 +926,7 @@ Text_1A5690:: @ 81A5690
.string "{PLAYER} handed over the\n"
.string "{STR_VAR_1}.$"
-gUnknown_81A56A7:: @ 81A56A7
+Text_GiveNicknameToThisMon:: @ 81A56A7
.string "Do you want to give a nickname to\n"
.string "this {STR_VAR_1}?$"
@@ -1008,43 +1008,7 @@ Text_1A5CD3:: @ 81A5CD3
Text_TheDoorIsOpen:: @ 81A5CDF
.string "The door is open…$"
-Text_1A5CF1:: @ 81A5CF1
- .string "{STR_VAR_2} was transferred to\n"
- .string "Someone's PC.\p"
- .string "It was placed in \n"
- .string "BOX “{STR_VAR_1}.”$"
-
-Text_1A5D31:: @ 81A5D31
- .string "{STR_VAR_2} was transferred to\n"
- .string "BILL'S PC.\p"
- .string "It was placed in \n"
- .string "BOX “{STR_VAR_1}.”$"
-
-Text_1A5D6E:: @ 81A5D6E
- .string "BOX “{STR_VAR_3}” on\n"
- .string "Someone's PC was full.\p"
- .string "{STR_VAR_2} was transferred to\n"
- .string "BOX “{STR_VAR_1}.”$"
-
-Text_1A5DB1:: @ 81A5DB1
- .string "BOX “{STR_VAR_3}” on\n"
- .string "BILL'S PC was full.\p"
- .string "{STR_VAR_2} was transferred to\n"
- .string "BOX “{STR_VAR_1}.”$"
-
-Text_1A5DF1:: @ 81A5DF1
- .string "{PLAYER} obtained\n"
- .string "the {STR_VAR_1}!$"
-
-Text_1A5E05:: @ 81A5E05
- .string "ポケモンを もちきれないので\n"
- .string "パソコンの ボックス“{STR_VAR_1}” に\l"
- .string "{STR_VAR_2}を てんそうした!$"
-
-gUnknown_81A5E31:: @ 81A5E31
- .string "There's no more room for POKéMON!\p"
- .string "The POKéMON BOXES are full and\n"
- .string "can't accept any more!$"
+ .include "data/text/pc_transfer.inc"
Text_1A5E89:: @ 81A5E89
.string "First, you should restore your\n"
@@ -1505,53 +1469,7 @@ EventScript_1A80FE:: @ 81A80FE
end
.include "data/scripts/silphco_doors.inc"
-
-EventScript_1A8C27:: @ 81A8C27
- getpartysize
- subvar VAR_RESULT, 1
- copyvar VAR_0x8004, VAR_RESULT
- return
-
-EventScript_1A8C33:: @ 81A8C33
- fadescreen FADE_TO_BLACK
- special ChangeBoxPokemonNickname
- waitstate
- lock
- faceplayer
- return
-
-EventScript_1A8C3C:: @ 81A8C3C
- bufferboxname 0, VAR_PC_BOX_TO_SEND_MON
- getspeciesname 1, VAR_TEMP_1
- call_if_unset FLAG_SYS_NOT_SOMEONES_PC, EventScript_1A8C57
- call_if_set FLAG_SYS_NOT_SOMEONES_PC, EventScript_1A8C82
- return
-
-EventScript_1A8C57:: @ 81A8C57
- specialvar VAR_RESULT, ShouldShowBoxWasFullMessage
- compare VAR_RESULT, TRUE
- goto_if_eq EventScript_1A8C70
- msgbox Text_1A5CF1
- return
-
-EventScript_1A8C70:: @ 81A8C70
- specialvar VAR_RESULT, GetPCBoxToSendMon
- bufferboxname 2, VAR_RESULT
- msgbox Text_1A5D6E
- return
-
-EventScript_1A8C82:: @ 81A8C82
- specialvar VAR_RESULT, ShouldShowBoxWasFullMessage
- compare VAR_RESULT, TRUE
- goto_if_eq EventScript_1A8C9B
- msgbox Text_1A5D31
- return
-
-EventScript_1A8C9B:: @ 81A8C9B
- specialvar VAR_RESULT, GetPCBoxToSendMon
- bufferboxname 2, VAR_RESULT
- msgbox Text_1A5DB1
- return
+ .include "data/scripts/pc_transfer.inc"
EventScript_GetInGameTradeSpeciesInfo:: @ 81A8CAD
copyvar VAR_0x8004, VAR_0x8008
@@ -1771,9 +1689,9 @@ EventScript_BrailleCursorWaitButton:: @ 81A926C
special Special_BrailleCursorToggle
return
-EventScript_1A927C:: @ 81A927C
+EventScript_NoMoreRoomForPokemon:: @ 81A927C
textcolor 3
- msgbox gUnknown_81A5E31
+ msgbox Text_NoMoreRoomForPokemon
release
end
diff --git a/data/maps/CeladonCity_Condominiums_RoofRoom/scripts.inc b/data/maps/CeladonCity_Condominiums_RoofRoom/scripts.inc
index e717a7cc4..73c55afd8 100644
--- a/data/maps/CeladonCity_Condominiums_RoofRoom/scripts.inc
+++ b/data/maps/CeladonCity_Condominiums_RoofRoom/scripts.inc
@@ -15,7 +15,7 @@ CeladonCity_Condominiums_RoofRoom_EventScript_16C46D:: @ 816C46D
compare VAR_RESULT, 1
goto_if_eq EventScript_16C4DA
compare VAR_RESULT, 2
- goto_if_eq EventScript_1A927C
+ goto_if_eq EventScript_NoMoreRoomForPokemon
release
end
@@ -26,10 +26,10 @@ EventScript_16C4A6:: @ 816C4A6
waitmessage
waitfanfare
getspeciesname 0, SPECIES_EEVEE
- msgbox gUnknown_81A56A7, MSGBOX_YESNO
+ msgbox Text_GiveNicknameToThisMon, MSGBOX_YESNO
compare VAR_RESULT, NO
goto_if_eq EventScript_16C514
- call EventScript_1A8C27
+ call EventScript_GetGiftMonPartySlot
call EventScript_ChangePokemonNickname
goto EventScript_16C514
end
@@ -41,15 +41,15 @@ EventScript_16C4DA:: @ 816C4DA
waitmessage
waitfanfare
getspeciesname 0, SPECIES_EEVEE
- msgbox gUnknown_81A56A7, MSGBOX_YESNO
+ msgbox Text_GiveNicknameToThisMon, MSGBOX_YESNO
compare VAR_RESULT, NO
goto_if_eq EventScript_16C509
- call EventScript_1A8C33
+ call EventScript_NameReceivedBoxMon
goto EventScript_16C509
end
EventScript_16C509:: @ 816C509
- call EventScript_1A8C3C
+ call EventScript_TransferredToPC
goto EventScript_16C514
end
diff --git a/data/maps/CeladonCity_GameCorner_PrizeRoom/scripts.inc b/data/maps/CeladonCity_GameCorner_PrizeRoom/scripts.inc
index 5a479aa3f..329f829d3 100644
--- a/data/maps/CeladonCity_GameCorner_PrizeRoom/scripts.inc
+++ b/data/maps/CeladonCity_GameCorner_PrizeRoom/scripts.inc
@@ -186,7 +186,7 @@ EventScript_16CD52:: @ 816CD52
EventScript_16CD74:: @ 816CD74
textcolor 3
- msgbox gUnknown_81A5E31
+ msgbox Text_NoMoreRoomForPokemon
hidecoinsbox 0, 0
release
end
@@ -215,10 +215,10 @@ EventScript_16CDB3:: @ 816CDB3
updatecoinsbox 0, 5
getspeciesname 0, VAR_TEMP_1
playfanfare MUS_FANFA1
- message Text_1A5DF1
+ message Text_PlayerObtainedTheMon
waitmessage
waitfanfare
- msgbox gUnknown_81A56A7, MSGBOX_YESNO
+ msgbox Text_GiveNicknameToThisMon, MSGBOX_YESNO
compare VAR_RESULT, YES
goto_if_eq EventScript_16CD83
goto EventScript_16CC10
@@ -229,18 +229,18 @@ EventScript_16CDE0:: @ 816CDE0
updatecoinsbox 0, 5
getspeciesname 0, VAR_TEMP_1
playfanfare MUS_FANFA1
- message Text_1A5DF1
+ message Text_PlayerObtainedTheMon
waitmessage
waitfanfare
- msgbox gUnknown_81A56A7, MSGBOX_YESNO
+ msgbox Text_GiveNicknameToThisMon, MSGBOX_YESNO
compare VAR_RESULT, NO
goto_if_eq EventScript_16CE12
- call EventScript_1A8C33
+ call EventScript_NameReceivedBoxMon
goto EventScript_16CE12
end
EventScript_16CE12:: @ 816CE12
- call EventScript_1A8C3C
+ call EventScript_TransferredToPC
goto EventScript_16CC10
end
diff --git a/data/maps/CinnabarIsland/map.json b/data/maps/CinnabarIsland/map.json
index 793eb7016..823a4ce95 100644
--- a/data/maps/CinnabarIsland/map.json
+++ b/data/maps/CinnabarIsland/map.json
@@ -34,7 +34,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "CinnabarIsland_EventScript_1671EF",
+ "script": "CinnabarIsland_EventScript_Woman",
"flag": "0"
},
{
@@ -47,7 +47,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "CinnabarIsland_EventScript_167208",
+ "script": "CinnabarIsland_EventScript_OldMan",
"flag": "0"
},
{
@@ -122,7 +122,7 @@
"elevation": 3,
"var": "VAR_TEMP_1",
"var_value": 0,
- "script": "CinnabarIsland_EventScript_1671CA"
+ "script": "CinnabarIsland_EventScript_GymDoorLocked"
}
],
"bg_events": [
@@ -131,28 +131,28 @@
"x": 12,
"y": 3,
"elevation": 0,
- "script": "CinnabarIsland_EventScript_167211"
+ "script": "CinnabarIsland_EventScript_IslandSign"
},
{
"type": "bg_event_type_0",
"x": 9,
"y": 9,
"elevation": 0,
- "script": "CinnabarIsland_EventScript_16721A"
+ "script": "CinnabarIsland_EventScript_PokemonLabSign"
},
{
"type": "bg_event_type_0",
"x": 22,
"y": 5,
"elevation": 0,
- "script": "CinnabarIsland_EventScript_167223"
+ "script": "CinnabarIsland_EventScript_GymSign"
},
{
"type": "bg_event_type_0",
"x": 10,
"y": 9,
"elevation": 0,
- "script": "CinnabarIsland_EventScript_16721A"
+ "script": "CinnabarIsland_EventScript_PokemonLabSign"
}
]
}
diff --git a/data/maps/CinnabarIsland/scripts.inc b/data/maps/CinnabarIsland/scripts.inc
index 57b039997..e0260dac5 100644
--- a/data/maps/CinnabarIsland/scripts.inc
+++ b/data/maps/CinnabarIsland/scripts.inc
@@ -1,3 +1,6 @@
+.equ LOCALID_BILL, 3
+.equ LOCALID_SEAGALLOP, 4
+
CinnabarIsland_MapScripts:: @ 8166ED6
map_script MAP_SCRIPT_ON_TRANSITION, CinnabarIsland_OnTransition
map_script MAP_SCRIPT_ON_FRAME_TABLE, CinnabarIsland_OnFrame
@@ -5,82 +8,82 @@ CinnabarIsland_MapScripts:: @ 8166ED6
CinnabarIsland_OnTransition:: @ 8166EE1
setworldmapflag FLAG_WORLD_MAP_CINNABAR_ISLAND
- call EventScript_166F5E
+ call CinnabarIsland_EventScript_CheckUnlockGym
compare VAR_MAP_SCENE_CINNABAR_ISLAND, 1
- call_if_eq EventScript_166F24
+ call_if_eq CinnabarIsland_EventScript_ReadyObjectsSailToOneIsland
compare VAR_MAP_SCENE_CINNABAR_ISLAND, 3
- call_if_eq EventScript_166F52
+ call_if_eq CinnabarIsland_EventScript_ReadyObjectsReturnFromSeviiIslands
compare VAR_MAP_SCENE_CINNABAR_ISLAND_2, 1
- call_if_eq EventScript_166F0B
+ call_if_eq CinnabarIsland_EventScript_ReadyObjectsSailToOneIslandFromPokeCenter
end
-EventScript_166F0B:: @ 8166F0B
+CinnabarIsland_EventScript_ReadyObjectsSailToOneIslandFromPokeCenter:: @ 8166F0B
savebgm MUS_ANNAI
setflag FLAG_TEMP_2
- setobjectxyperm 3, 15, 12
- setobjectmovementtype 3, 9
- setobjectxyperm 4, 30, 12
+ setobjectxyperm LOCALID_BILL, 15, 12
+ setobjectmovementtype LOCALID_BILL, MOVEMENT_TYPE_FACE_LEFT
+ setobjectxyperm LOCALID_SEAGALLOP, 30, 12
return
-EventScript_166F24:: @ 8166F24
+CinnabarIsland_EventScript_ReadyObjectsSailToOneIsland:: @ 8166F24
getplayerxy VAR_0x8004, VAR_0x8005
compare VAR_0x8004, 18
- goto_if_ge EventScript_166F4A
+ goto_if_ge CinnabarIsland_EventScript_MoveSeagallopDown
setflag FLAG_TEMP_2
- setobjectxyperm 3, 18, 12
- setobjectmovementtype 3, 7
- setobjectxyperm 4, 30, 12
+ setobjectxyperm LOCALID_BILL, 18, 12
+ setobjectmovementtype LOCALID_BILL, MOVEMENT_TYPE_FACE_UP
+ setobjectxyperm LOCALID_SEAGALLOP, 30, 12
return
-EventScript_166F4A:: @ 8166F4A
- setobjectxyperm 4, 30, 8
+CinnabarIsland_EventScript_MoveSeagallopDown:: @ 8166F4A
+ setobjectxyperm LOCALID_SEAGALLOP, 30, 8
return
-EventScript_166F52:: @ 8166F52
- setobjectxyperm 3, 21, 8
- setobjectmovementtype 3, 7
+CinnabarIsland_EventScript_ReadyObjectsReturnFromSeviiIslands:: @ 8166F52
+ setobjectxyperm LOCALID_BILL, 21, 8
+ setobjectmovementtype LOCALID_BILL, MOVEMENT_TYPE_FACE_UP
return
-EventScript_166F5E:: @ 8166F5E
- goto_if_set FLAG_HIDE_POKEMON_MANSION_B1F_SECRET_KEY, EventScript_166F68
+CinnabarIsland_EventScript_CheckUnlockGym:: @ 8166F5E
+ goto_if_set FLAG_HIDE_POKEMON_MANSION_B1F_SECRET_KEY, CinnabarIsland_EventScript_UnlockGym
return
-EventScript_166F68:: @ 8166F68
+CinnabarIsland_EventScript_UnlockGym:: @ 8166F68
setvar VAR_TEMP_1, 1
return
CinnabarIsland_OnFrame:: @ 8166F6E
- map_script_2 VAR_MAP_SCENE_CINNABAR_ISLAND_2, 1, EventScript_166F88
- map_script_2 VAR_MAP_SCENE_CINNABAR_ISLAND, 1, EventScript_166FCD
- map_script_2 VAR_MAP_SCENE_CINNABAR_ISLAND, 3, EventScript_166FA0
+ map_script_2 VAR_MAP_SCENE_CINNABAR_ISLAND_2, 1, CinnabarIsland_EventScript_ExitPokeCenterForOneIsland
+ map_script_2 VAR_MAP_SCENE_CINNABAR_ISLAND, 1, CinnabarIsland_EventScript_BillScene
+ map_script_2 VAR_MAP_SCENE_CINNABAR_ISLAND, 3, CinnabarIsland_EventScript_ReturnFromSeviiIslands
.2byte 0
-EventScript_166F88:: @ 8166F88
+CinnabarIsland_EventScript_ExitPokeCenterForOneIsland:: @ 8166F88
lockall
clearflag FLAG_SPECIAL_FLAG_0x4001
savebgm MUS_DUMMY
textcolor 0
setvar VAR_MAP_SCENE_CINNABAR_ISLAND_2, 2
delay 20
- call EventScript_1670E6
+ call CinnabarIsland_EventScript_SailToOneIsland
releaseall
end
-EventScript_166FA0:: @ 8166FA0
+CinnabarIsland_EventScript_ReturnFromSeviiIslands:: @ 8166FA0
lockall
textcolor 0
- msgbox gUnknown_8180F09
+ msgbox CinnabarIsland_Text_IfYouHaveTriPassYouCanGoAgain
closemessage
- applymovement 3, Movement_166FC6
+ applymovement LOCALID_BILL, CinnabarIsland_Movement_BillExit
waitmovement 0
- removeobject 3
+ removeobject LOCALID_BILL
setvar VAR_MAP_SCENE_CINNABAR_ISLAND, 4
setflag FLAG_HIDE_TWO_ISLAND_GAME_CORNER_LOSTELLE
clearflag FLAG_HIDE_LOSTELLE_IN_HER_HOME
releaseall
end
-Movement_166FC6:: @ 8166FC6
+CinnabarIsland_Movement_BillExit:: @ 8166FC6
walk_down
walk_down
walk_down
@@ -89,72 +92,72 @@ Movement_166FC6:: @ 8166FC6
walk_down
step_end
-EventScript_166FCD:: @ 8166FCD
+CinnabarIsland_EventScript_BillScene:: @ 8166FCD
lockall
textcolor 0
- call_if_unset FLAG_TEMP_2, EventScript_167032
- call_if_set FLAG_TEMP_2, EventScript_16703D
+ call_if_unset FLAG_TEMP_2, CinnabarIsland_EventScript_BillFacePlayer1
+ call_if_set FLAG_TEMP_2, CinnabarIsland_EventScript_BillFacePlayer2
playse SE_PIN
- applymovement 3, Movement_ExclamationMark
+ applymovement LOCALID_BILL, Movement_ExclamationMark
waitmovement 0
- applymovement 3, Movement_Delay48
+ applymovement LOCALID_BILL, Movement_Delay48
waitmovement 0
- call_if_unset FLAG_TEMP_2, EventScript_167048
- call_if_set FLAG_TEMP_2, EventScript_167053
- msgbox gUnknown_8180C90
- msgbox gUnknown_8180CAA, MSGBOX_YESNO
+ call_if_unset FLAG_TEMP_2, CinnabarIsland_EventScript_BillApproachPlayer1
+ call_if_set FLAG_TEMP_2, CinnabarIsland_EventScript_BillApproachPlayer2
+ msgbox CinnabarIsland_Text_HeyIfItIsntPlayer
+ msgbox CinnabarIsland_Text_ComeWithMeToOneIsland, MSGBOX_YESNO
compare VAR_RESULT, YES
- goto_if_eq EventScript_167068
+ goto_if_eq CinnabarIsland_EventScript_AgreeSailToOneIsland
compare VAR_RESULT, NO
- goto_if_eq EventScript_167078
+ goto_if_eq CinnabarIsland_EventScript_DeclineSailToOneIsland
end
-EventScript_167032:: @ 8167032
- applymovement 3, Movement_WalkInPlaceFastestUp
+CinnabarIsland_EventScript_BillFacePlayer1:: @ 8167032
+ applymovement LOCALID_BILL, Movement_WalkInPlaceFastestUp
waitmovement 0
return
-EventScript_16703D:: @ 816703D
- applymovement 3, Movement_WalkInPlaceFastestLeft
+CinnabarIsland_EventScript_BillFacePlayer2:: @ 816703D
+ applymovement LOCALID_BILL, Movement_WalkInPlaceFastestLeft
waitmovement 0
return
-EventScript_167048:: @ 8167048
- applymovement 3, Movement_1671A4
+CinnabarIsland_EventScript_BillApproachPlayer1:: @ 8167048
+ applymovement LOCALID_BILL, CinnabarIsland_Movement_BillApproachPlayer1
waitmovement 0
return
-EventScript_167053:: @ 8167053
- applymovement 3, Movement_1671A6
+CinnabarIsland_EventScript_BillApproachPlayer2:: @ 8167053
+ applymovement LOCALID_BILL, CinnabarIsland_Movement_BillApproachPlayer2
waitmovement 0
applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestRight
waitmovement 0
return
-EventScript_167068:: @ 8167068
- msgbox gUnknown_8180DDD
+CinnabarIsland_EventScript_AgreeSailToOneIsland:: @ 8167068
+ msgbox CinnabarIsland_Text_AllRightLetsGo
closemessage
- call EventScript_1670E6
+ call CinnabarIsland_EventScript_SailToOneIsland
releaseall
end
-EventScript_167078:: @ 8167078
- msgbox gUnknown_8180DF8
+CinnabarIsland_EventScript_DeclineSailToOneIsland:: @ 8167078
+ msgbox CinnabarIsland_Text_IllBeWaitingInPokeCenter
closemessage
- call_if_unset FLAG_TEMP_2, EventScript_1670A0
- call_if_set FLAG_TEMP_2, EventScript_1670B3
- removeobject 3
+ call_if_unset FLAG_TEMP_2, CinnabarIsland_EventScript_BillExitToPokeCenter
+ call_if_set FLAG_TEMP_2, CinnabarIsland_EventScript_BillReturnToPokeCenter
+ removeobject LOCALID_BILL
setvar VAR_MAP_SCENE_CINNABAR_ISLAND, 2
clearflag FLAG_HIDE_CINNABAR_POKECENTER_BILL
releaseall
end
-EventScript_1670A0:: @ 81670A0
- applymovement 3, Movement_1670AB
+CinnabarIsland_EventScript_BillExitToPokeCenter:: @ 81670A0
+ applymovement LOCALID_BILL, CinnabarIsland_Movement_BillExitToPokeCenter
waitmovement 0
return
-Movement_1670AB:: @ 81670AB
+CinnabarIsland_Movement_BillExitToPokeCenter:: @ 81670AB
walk_right
walk_down
walk_down
@@ -164,46 +167,47 @@ Movement_1670AB:: @ 81670AB
walk_down
step_end
-EventScript_1670B3:: @ 81670B3
- applymovement OBJ_EVENT_ID_PLAYER, Movement_1670DB
- applymovement 3, Movement_1670DE
+CinnabarIsland_EventScript_BillReturnToPokeCenter:: @ 81670B3
+ applymovement OBJ_EVENT_ID_PLAYER, CinnabarIsland_Movement_PlayerWatchBillExit
+ applymovement LOCALID_BILL, CinnabarIsland_Movement_BillApproachDoor
waitmovement 0
opendoor 14, 11
waitdooranim
- applymovement 3, Movement_1670E2
+ applymovement LOCALID_BILL, CinnabarIsland_Movement_BillReEnterPokeCenter
waitmovement 0
closedoor 14, 11
waitdooranim
return
-Movement_1670DB:: @ 81670DB
+CinnabarIsland_Movement_PlayerWatchBillExit:: @ 81670DB
walk_left
walk_in_place_fastest_right
step_end
-Movement_1670DE:: @ 81670DE
+CinnabarIsland_Movement_BillApproachDoor:: @ 81670DE
delay_16
walk_left
walk_in_place_fastest_up
step_end
-Movement_1670E2:: @ 81670E2
+CinnabarIsland_Movement_BillReEnterPokeCenter:: @ 81670E2
walk_up
delay_4
set_invisible
step_end
-EventScript_1670E6:: @ 81670E6
- call_if_set FLAG_TEMP_2, EventScript_167142
- addobject 4
- call_if_unset FLAG_TEMP_2, EventScript_167154
- call_if_set FLAG_TEMP_2, EventScript_167166
- msgbox gUnknown_8180EAD
+@ Can be triggered outside, or after talking to Bill in the poke center
+CinnabarIsland_EventScript_SailToOneIsland:: @ 81670E6
+ call_if_set FLAG_TEMP_2, CinnabarIsland_EventScript_ApproachShore
+ addobject LOCALID_SEAGALLOP
+ call_if_unset FLAG_TEMP_2, CinnabarIsland_EventScript_BoatArrive
+ call_if_set FLAG_TEMP_2, CinnabarIsland_EventScript_BoatArriveExitedPokeCenter
+ msgbox CinnabarIsland_Text_MyPalsBoatArrived
closemessage
- call_if_unset FLAG_TEMP_2, EventScript_167171
- call_if_set FLAG_TEMP_2, EventScript_167183
+ call_if_unset FLAG_TEMP_2, CinnabarIsland_EventScript_BoardBoat
+ call_if_set FLAG_TEMP_2, CinnabarIsland_EventScript_BoardBoatExitedPokeCenter
setvar VAR_MAP_SCENE_CINNABAR_ISLAND, 2
- removeobject 3
+ removeobject LOCALID_BILL
delay 40
setflag FLAG_HIDE_CINNABAR_SEAGALLOP
setvar VAR_MAP_SCENE_ONE_ISLAND_HARBOR, 1
@@ -212,36 +216,36 @@ EventScript_1670E6:: @ 81670E6
goto EventScript_SetSail
end
-EventScript_167142:: @ 8167142
- applymovement 3, Movement_1671AF
- applymovement OBJ_EVENT_ID_PLAYER, Movement_1671AF
+CinnabarIsland_EventScript_ApproachShore:: @ 8167142
+ applymovement LOCALID_BILL, CinnabarIsland_Movement_ApproachShore
+ applymovement OBJ_EVENT_ID_PLAYER, CinnabarIsland_Movement_ApproachShore
waitmovement 0
return
-EventScript_167154:: @ 8167154
- applymovement 3, Movement_1671AA
- applymovement 4, Movement_167195
+CinnabarIsland_EventScript_BoatArrive:: @ 8167154
+ applymovement LOCALID_BILL, CinnabarIsland_Movement_BillFaceBoat
+ applymovement LOCALID_SEAGALLOP, CinnabarIsland_Movement_BoatArrive
waitmovement 0
return
-EventScript_167166:: @ 8167166
- applymovement 4, Movement_167195
+CinnabarIsland_EventScript_BoatArriveExitedPokeCenter:: @ 8167166
+ applymovement LOCALID_SEAGALLOP, CinnabarIsland_Movement_BoatArrive
waitmovement 0
return
-EventScript_167171:: @ 8167171
- applymovement 3, Movement_16719D
- applymovement OBJ_EVENT_ID_PLAYER, Movement_1671BA
+CinnabarIsland_EventScript_BoardBoat:: @ 8167171
+ applymovement LOCALID_BILL, CinnabarIsland_Movement_BillBoardBoat
+ applymovement OBJ_EVENT_ID_PLAYER, CinnabarIsland_Movement_PlayerBoardBoat
waitmovement 0
return
-EventScript_167183:: @ 8167183
- applymovement 3, Movement_1671B6
- applymovement OBJ_EVENT_ID_PLAYER, Movement_1671C4
+CinnabarIsland_EventScript_BoardBoatExitedPokeCenter:: @ 8167183
+ applymovement LOCALID_BILL, CinnabarIsland_Movement_BillBoardBoatFromShore
+ applymovement OBJ_EVENT_ID_PLAYER, CinnabarIsland_Movement_PlayerBoardBoatFromShore
waitmovement 0
return
-Movement_167195:: @ 8167195
+CinnabarIsland_Movement_BoatArrive:: @ 8167195
delay_16
delay_16
walk_fast_left
@@ -251,7 +255,7 @@ Movement_167195:: @ 8167195
walk_slowest_left
step_end
-Movement_16719D:: @ 816719D
+CinnabarIsland_Movement_BillBoardBoat:: @ 816719D
walk_right
walk_down
walk_down
@@ -260,24 +264,24 @@ Movement_16719D:: @ 816719D
set_invisible
step_end
-Movement_1671A4:: @ 81671A4
+CinnabarIsland_Movement_BillApproachPlayer1:: @ 81671A4
walk_up
step_end
-Movement_1671A6:: @ 81671A6
+CinnabarIsland_Movement_BillApproachPlayer2:: @ 81671A6
walk_left
walk_left
walk_left
step_end
-Movement_1671AA:: @ 81671AA
+CinnabarIsland_Movement_BillFaceBoat:: @ 81671AA
delay_16
delay_16
delay_8
walk_in_place_fastest_right
step_end
-Movement_1671AF:: @ 81671AF
+CinnabarIsland_Movement_ApproachShore:: @ 81671AF
walk_right
walk_right
walk_right
@@ -286,13 +290,13 @@ Movement_1671AF:: @ 81671AF
walk_right
step_end
-Movement_1671B6:: @ 81671B6
+CinnabarIsland_Movement_BillBoardBoatFromShore:: @ 81671B6
walk_right
delay_4
set_invisible
step_end
-Movement_1671BA:: @ 81671BA
+CinnabarIsland_Movement_PlayerBoardBoat:: @ 81671BA
walk_down
walk_right
walk_down
@@ -304,7 +308,7 @@ Movement_1671BA:: @ 81671BA
set_invisible
step_end
-Movement_1671C4:: @ 81671C4
+CinnabarIsland_Movement_PlayerBoardBoatFromShore:: @ 81671C4
walk_right
delay_4
walk_right
@@ -312,45 +316,46 @@ Movement_1671C4:: @ 81671C4
set_invisible
step_end
-CinnabarIsland_EventScript_1671CA:: @ 81671CA
+@ Triggered when VAR_TEMP_1 is 0
+CinnabarIsland_EventScript_GymDoorLocked:: @ 81671CA
lockall
applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestUp
waitmovement 0
delay 20
- msgbox gUnknown_8180B20
+ msgbox CinnabarIsland_Text_DoorIsLocked
closemessage
- applymovement OBJ_EVENT_ID_PLAYER, Movement_1671ED
+ applymovement OBJ_EVENT_ID_PLAYER, CinnabarIsland_Movement_ForcePlayerFromDoor
waitmovement 0
releaseall
end
-Movement_1671ED:: @ 81671ED
+CinnabarIsland_Movement_ForcePlayerFromDoor:: @ 81671ED
walk_down
step_end
-CinnabarIsland_EventScript_1671EF:: @ 81671EF
+CinnabarIsland_EventScript_Woman:: @ 81671EF
lock
faceplayer
famechecker FAMECHECKER_BLAINE, 3
- msgbox gUnknown_8180B34
+ msgbox CinnabarIsland_Text_BlaineLivedHereSinceBeforeLab
release
end
-CinnabarIsland_EventScript_167208:: @ 8167208
- msgbox gUnknown_8180BA0, MSGBOX_NPC
+CinnabarIsland_EventScript_OldMan:: @ 8167208
+ msgbox CinnabarIsland_Text_ScientistsExperimentInMansion, MSGBOX_NPC
end
-CinnabarIsland_EventScript_167211:: @ 8167211
- msgbox gUnknown_8180C0D, MSGBOX_SIGN
+CinnabarIsland_EventScript_IslandSign:: @ 8167211
+ msgbox CinnabarIsland_Text_IslandSign, MSGBOX_SIGN
end
-CinnabarIsland_EventScript_16721A:: @ 816721A
- msgbox gUnknown_8180C3E, MSGBOX_SIGN
+CinnabarIsland_EventScript_PokemonLabSign:: @ 816721A
+ msgbox CinnabarIsland_Text_PokemonLab, MSGBOX_SIGN
end
-CinnabarIsland_EventScript_167223:: @ 8167223
+CinnabarIsland_EventScript_GymSign:: @ 8167223
lockall
famechecker FAMECHECKER_BLAINE, 0
- msgbox gUnknown_8180C4A
+ msgbox CinnabarIsland_Text_GymSign
releaseall
end
diff --git a/data/maps/CinnabarIsland/text.inc b/data/maps/CinnabarIsland/text.inc
index 26ce19f09..08ea3e44b 100644
--- a/data/maps/CinnabarIsland/text.inc
+++ b/data/maps/CinnabarIsland/text.inc
@@ -1,35 +1,35 @@
-gUnknown_8180B20:: @ 8180B20
+CinnabarIsland_Text_DoorIsLocked:: @ 8180B20
.string "The door is locked…$"
-gUnknown_8180B34:: @ 8180B34
+CinnabarIsland_Text_BlaineLivedHereSinceBeforeLab:: @ 8180B34
.string "CINNABAR GYM's BLAINE is quite the\n"
.string "odd fellow.\p"
.string "He's lived on the island since way\n"
.string "before the LAB was built.$"
-gUnknown_8180BA0:: @ 8180BA0
+CinnabarIsland_Text_ScientistsExperimentInMansion:: @ 8180BA0
.string "Scientists conduct experiments \n"
.string "in the burned-out building.\p"
.string "You know, the one they call the\n"
.string "POKéMON MANSION.$"
-gUnknown_8180C0D:: @ 8180C0D
+CinnabarIsland_Text_IslandSign:: @ 8180C0D
.string "CINNABAR ISLAND\n"
.string "The Fiery Town of Burning Desire$"
-gUnknown_8180C3E:: @ 8180C3E
+CinnabarIsland_Text_PokemonLab:: @ 8180C3E
.string "POKéMON LAB$"
-gUnknown_8180C4A:: @ 8180C4A
+CinnabarIsland_Text_GymSign:: @ 8180C4A
.string "CINNABAR ISLAND POKéMON GYM\n"
.string "LEADER: BLAINE\l"
.string "The Hotheaded Quiz Master!$"
-gUnknown_8180C90:: @ 8180C90
+CinnabarIsland_Text_HeyIfItIsntPlayer:: @ 8180C90
.string "Huh?\n"
.string "Hey, if it isn't {PLAYER}!$"
-gUnknown_8180CAA:: @ 8180CAA
+CinnabarIsland_Text_ComeWithMeToOneIsland:: @ 8180CAA
.string "Look, it's me, BILL.\n"
.string "Long time no see!\p"
.string "I hope you're still using my\n"
@@ -43,11 +43,11 @@ gUnknown_8180CAA:: @ 8180CAA
.string "How about it?\n"
.string "Do you feel like coming with me?$"
-gUnknown_8180DDD:: @ 8180DDD
+CinnabarIsland_Text_AllRightLetsGo:: @ 8180DDD
.string "All right, then.\n"
.string "Let's go!$"
-gUnknown_8180DF8:: @ 8180DF8
+CinnabarIsland_Text_IllBeWaitingInPokeCenter:: @ 8180DF8
.string "What, are you too busy?\p"
.string "Well, all right.\n"
.string "The boat hasn't arrived yet anyway.\p"
@@ -56,13 +56,13 @@ gUnknown_8180DF8:: @ 8180DF8
.string "Come see me when you're done with\n"
.string "your business here.$"
-gUnknown_8180EAD:: @ 8180EAD
+CinnabarIsland_Text_MyPalsBoatArrived:: @ 8180EAD
.string "Looks like my pal's boat arrived,\n"
.string "too.\p"
.string "He sent it specially here to\n"
.string "CINNABAR to pick me up.$"
-gUnknown_8180F09:: @ 8180F09
+CinnabarIsland_Text_IfYouHaveTriPassYouCanGoAgain:: @ 8180F09
.string "Hey, wasn't that a long cruise?\p"
.string "My buddy CELIO seemed to enjoy\n"
.string "your company.\p"
diff --git a/data/maps/CinnabarIsland_Gym/map.json b/data/maps/CinnabarIsland_Gym/map.json
index 36ef2b0cf..05ba07431 100644
--- a/data/maps/CinnabarIsland_Gym/map.json
+++ b/data/maps/CinnabarIsland_Gym/map.json
@@ -23,7 +23,7 @@
"movement_range_y": 1,
"trainer_type": 1,
"trainer_sight_or_berry_tree_id": 0,
- "script": "CinnabarIsland_Gym_EventScript_16DB27",
+ "script": "CinnabarIsland_Gym_EventScript_Quinn",
"flag": "0"
},
{
@@ -36,7 +36,7 @@
"movement_range_y": 1,
"trainer_type": 1,
"trainer_sight_or_berry_tree_id": 0,
- "script": "CinnabarIsland_Gym_EventScript_16DA7F",
+ "script": "CinnabarIsland_Gym_EventScript_Erik",
"flag": "0"
},
{
@@ -49,7 +49,7 @@
"movement_range_y": 1,
"trainer_type": 1,
"trainer_sight_or_berry_tree_id": 0,
- "script": "CinnabarIsland_Gym_EventScript_16DA96",
+ "script": "CinnabarIsland_Gym_EventScript_Avery",
"flag": "0"
},
{
@@ -62,7 +62,7 @@
"movement_range_y": 1,
"trainer_type": 1,
"trainer_sight_or_berry_tree_id": 0,
- "script": "CinnabarIsland_Gym_EventScript_16DB53",
+ "script": "CinnabarIsland_Gym_EventScript_Ramon",
"flag": "0"
},
{
@@ -75,7 +75,7 @@
"movement_range_y": 1,
"trainer_type": 1,
"trainer_sight_or_berry_tree_id": 0,
- "script": "CinnabarIsland_Gym_EventScript_16DAC2",
+ "script": "CinnabarIsland_Gym_EventScript_Derek",
"flag": "0"
},
{
@@ -88,7 +88,7 @@
"movement_range_y": 1,
"trainer_type": 1,
"trainer_sight_or_berry_tree_id": 0,
- "script": "CinnabarIsland_Gym_EventScript_16DB7F",
+ "script": "CinnabarIsland_Gym_EventScript_Dusty",
"flag": "0"
},
{
@@ -101,7 +101,7 @@
"movement_range_y": 1,
"trainer_type": 1,
"trainer_sight_or_berry_tree_id": 0,
- "script": "CinnabarIsland_Gym_EventScript_16DAFB",
+ "script": "CinnabarIsland_Gym_EventScript_Zac",
"flag": "0"
},
{
@@ -114,7 +114,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "CinnabarIsland_Gym_EventScript_16D9D4",
+ "script": "CinnabarIsland_Gym_EventScript_Blaine",
"flag": "0"
},
{
@@ -127,7 +127,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "CinnabarIsland_Gym_EventScript_16DBAB",
+ "script": "CinnabarIsland_Gym_EventScript_GymGuy",
"flag": "0"
}
],
@@ -161,105 +161,105 @@
"x": 23,
"y": 20,
"elevation": 0,
- "script": "CinnabarIsland_Gym_EventScript_16DBCA"
+ "script": "CinnabarIsland_Gym_EventScript_GymStatue"
},
{
"type": "bg_event_type_0",
"x": 27,
"y": 20,
"elevation": 0,
- "script": "CinnabarIsland_Gym_EventScript_16DBCA"
+ "script": "CinnabarIsland_Gym_EventScript_GymStatue"
},
{
"type": "bg_event_type_1",
"x": 22,
"y": 10,
"elevation": 0,
- "script": "CinnabarIsland_Gym_EventScript_16DBE8"
+ "script": "CinnabarIsland_Gym_EventScript_Quz1Left"
},
{
"type": "bg_event_type_1",
"x": 23,
"y": 10,
"elevation": 0,
- "script": "CinnabarIsland_Gym_EventScript_16DBF4"
+ "script": "CinnabarIsland_Gym_EventScript_Quz1Right"
},
{
"type": "bg_event_type_1",
"x": 15,
"y": 2,
"elevation": 0,
- "script": "CinnabarIsland_Gym_EventScript_16DCDD"
+ "script": "CinnabarIsland_Gym_EventScript_Quiz2Left"
},
{
"type": "bg_event_type_1",
"x": 16,
"y": 2,
"elevation": 0,
- "script": "CinnabarIsland_Gym_EventScript_16DCE9"
+ "script": "CinnabarIsland_Gym_EventScript_Quiz2Right"
},
{
"type": "bg_event_type_1",
"x": 13,
"y": 10,
"elevation": 0,
- "script": "CinnabarIsland_Gym_EventScript_16DDBB"
+ "script": "CinnabarIsland_Gym_EventScript_Quiz3Left"
},
{
"type": "bg_event_type_1",
"x": 14,
"y": 10,
"elevation": 0,
- "script": "CinnabarIsland_Gym_EventScript_16DDC7"
+ "script": "CinnabarIsland_Gym_EventScript_Quiz3Right"
},
{
"type": "bg_event_type_1",
"x": 13,
"y": 17,
"elevation": 0,
- "script": "CinnabarIsland_Gym_EventScript_16DE92"
+ "script": "CinnabarIsland_Gym_EventScript_Quiz4Left"
},
{
"type": "bg_event_type_1",
"x": 14,
"y": 17,
"elevation": 0,
- "script": "CinnabarIsland_Gym_EventScript_16DE9E"
+ "script": "CinnabarIsland_Gym_EventScript_Quiz4Right"
},
{
"type": "bg_event_type_1",
"x": 1,
"y": 18,
"elevation": 0,
- "script": "CinnabarIsland_Gym_EventScript_16DF69"
+ "script": "CinnabarIsland_Gym_EventScript_Quiz5Left"
},
{
"type": "bg_event_type_1",
"x": 2,
"y": 18,
"elevation": 0,
- "script": "CinnabarIsland_Gym_EventScript_16DF75"
+ "script": "CinnabarIsland_Gym_EventScript_Quiz5Right"
},
{
"type": "bg_event_type_1",
"x": 1,
"y": 10,
"elevation": 0,
- "script": "CinnabarIsland_Gym_EventScript_16E040"
+ "script": "CinnabarIsland_Gym_EventScript_Quiz6Left"
},
{
"type": "bg_event_type_1",
"x": 2,
"y": 10,
"elevation": 0,
- "script": "CinnabarIsland_Gym_EventScript_16E04C"
+ "script": "CinnabarIsland_Gym_EventScript_Quiz6Right"
},
{
"type": "bg_event_type_1",
"x": 3,
"y": 1,
"elevation": 0,
- "script": "CinnabarIsland_Gym_EventScript_1ACF07"
+ "script": "CinnabarIsland_Gym_EventScript_BlaineFujiPhoto"
}
]
}
diff --git a/data/maps/CinnabarIsland_Gym/scripts.inc b/data/maps/CinnabarIsland_Gym/scripts.inc
index dc4633df7..f31d6f7bb 100644
--- a/data/maps/CinnabarIsland_Gym/scripts.inc
+++ b/data/maps/CinnabarIsland_Gym/scripts.inc
@@ -3,57 +3,57 @@ CinnabarIsland_Gym_MapScripts:: @ 816D94B
.byte 0
CinnabarIsland_Gym_OnLoad:: @ 816D951
- goto_if_set FLAG_DEFEATED_BLAINE, EventScript_16D991
- call_if_set FLAG_CINNABAR_GYM_QUIZ_1, EventScript_16D9B0
- call_if_set FLAG_CINNABAR_GYM_QUIZ_2, EventScript_16D9B6
- call_if_set FLAG_CINNABAR_GYM_QUIZ_3, EventScript_16D9BC
- call_if_set FLAG_CINNABAR_GYM_QUIZ_4, EventScript_16D9C2
- call_if_set FLAG_CINNABAR_GYM_QUIZ_5, EventScript_16D9C8
- call_if_set FLAG_CINNABAR_GYM_QUIZ_6, EventScript_16D9CE
+ goto_if_set FLAG_DEFEATED_BLAINE, CinnabarIsland_Gym_OnLoadOpenAllDoors
+ call_if_set FLAG_CINNABAR_GYM_QUIZ_1, CinnabarIsland_Gym_OnLoadOpenDoor1
+ call_if_set FLAG_CINNABAR_GYM_QUIZ_2, CinnabarIsland_Gym_OnLoadOpenDoor2
+ call_if_set FLAG_CINNABAR_GYM_QUIZ_3, CinnabarIsland_Gym_OnLoadOpenDoor3
+ call_if_set FLAG_CINNABAR_GYM_QUIZ_4, CinnabarIsland_Gym_OnLoadOpenDoor4
+ call_if_set FLAG_CINNABAR_GYM_QUIZ_5, CinnabarIsland_Gym_OnLoadOpenDoor5
+ call_if_set FLAG_CINNABAR_GYM_QUIZ_6, CinnabarIsland_Gym_OnLoadOpenDoor6
end
-EventScript_16D991:: @ 816D991
- call EventScript_16E117
- call EventScript_16E157
- call EventScript_16E197
- call EventScript_16E1D7
- call EventScript_16E1F3
- call EventScript_16E233
+CinnabarIsland_Gym_OnLoadOpenAllDoors:: @ 816D991
+ call CinnabarIsland_Gym_EventScript_OpenDoor1
+ call CinnabarIsland_Gym_EventScript_OpenDoor2
+ call CinnabarIsland_Gym_EventScript_OpenDoor3
+ call CinnabarIsland_Gym_EventScript_OpenDoor4
+ call CinnabarIsland_Gym_EventScript_OpenDoor5
+ call CinnabarIsland_Gym_EventScript_OpenDoor6
end
-EventScript_16D9B0:: @ 816D9B0
- call EventScript_16E117
+CinnabarIsland_Gym_OnLoadOpenDoor1:: @ 816D9B0
+ call CinnabarIsland_Gym_EventScript_OpenDoor1
return
-EventScript_16D9B6:: @ 816D9B6
- call EventScript_16E157
+CinnabarIsland_Gym_OnLoadOpenDoor2:: @ 816D9B6
+ call CinnabarIsland_Gym_EventScript_OpenDoor2
return
-EventScript_16D9BC:: @ 816D9BC
- call EventScript_16E197
+CinnabarIsland_Gym_OnLoadOpenDoor3:: @ 816D9BC
+ call CinnabarIsland_Gym_EventScript_OpenDoor3
return
-EventScript_16D9C2:: @ 816D9C2
- call EventScript_16E1D7
+CinnabarIsland_Gym_OnLoadOpenDoor4:: @ 816D9C2
+ call CinnabarIsland_Gym_EventScript_OpenDoor4
return
-EventScript_16D9C8:: @ 816D9C8
- call EventScript_16E1F3
+CinnabarIsland_Gym_OnLoadOpenDoor5:: @ 816D9C8
+ call CinnabarIsland_Gym_EventScript_OpenDoor5
return
-EventScript_16D9CE:: @ 816D9CE
- call EventScript_16E233
+CinnabarIsland_Gym_OnLoadOpenDoor6:: @ 816D9CE
+ call CinnabarIsland_Gym_EventScript_OpenDoor6
return
-CinnabarIsland_Gym_EventScript_16D9D4:: @ 816D9D4
+CinnabarIsland_Gym_EventScript_Blaine:: @ 816D9D4
famechecker FAMECHECKER_BLAINE, FCPICKSTATE_COLORED, UpdatePickStateFromSpecialVar8005
- trainerbattle_single TRAINER_LEADER_BLAINE, Text_199543, Text_1995FA, EventScript_16DA06, NO_MUSIC
- goto_if_unset FLAG_GOT_TM38_FROM_BLAINE, EventScript_16DA34
- msgbox gUnknown_819971D
+ trainerbattle_single TRAINER_LEADER_BLAINE, CinnabarIsland_Gym_Text_BlaineIntro, CinnabarIsland_Gym_Text_BlaineDefeat, CinnabarIsland_Gym_EventScript_DefeatedBlaine, NO_MUSIC
+ goto_if_unset FLAG_GOT_TM38_FROM_BLAINE, CinnabarIsland_Gym_EventScript_GiveTM38
+ msgbox CinnabarIsland_Gym_Text_BlainePostBattle
release
end
-EventScript_16DA06:: @ 816DA06
+CinnabarIsland_Gym_EventScript_DefeatedBlaine:: @ 816DA06
famechecker FAMECHECKER_BLAINE, 1
setflag FLAG_DEFEATED_BLAINE
setflag FLAG_BADGE07_GET
@@ -61,675 +61,675 @@ EventScript_16DA06:: @ 816DA06
setvar VAR_MAP_SCENE_CINNABAR_ISLAND, 1
clearflag FLAG_HIDE_CINNABAR_BILL
set_gym_trainers 7
- goto EventScript_16DA34
+ goto CinnabarIsland_Gym_EventScript_GiveTM38
end
-EventScript_16DA34:: @ 816DA34
- msgbox gUnknown_819969E
+CinnabarIsland_Gym_EventScript_GiveTM38:: @ 816DA34
+ msgbox CinnabarIsland_Gym_Text_ExplainVolcanoBadge
checkitemspace ITEM_TM38, 1
compare VAR_RESULT, FALSE
- goto_if_eq EventScript_16DA75
- giveitem_msg gUnknown_81996FF, ITEM_TM38
+ goto_if_eq CinnabarIsland_Gym_EventScript_NoRoomForTM38
+ giveitem_msg CinnabarIsland_Gym_Text_ReceivedTM38FromBlaine, ITEM_TM38
setflag FLAG_GOT_TM38_FROM_BLAINE
- msgbox gUnknown_8199652
+ msgbox CinnabarIsland_Gym_Text_FireBlastIsUltimateFireMove
release
end
-EventScript_16DA75:: @ 816DA75
- msgbox gUnknown_8199789
+CinnabarIsland_Gym_EventScript_NoRoomForTM38:: @ 816DA75
+ msgbox CinnabarIsland_Gym_Text_MakeSpaceForThis
release
end
-CinnabarIsland_Gym_EventScript_16DA7F:: @ 816DA7F
- trainerbattle_single TRAINER_SUPER_NERD_ERIK, Text_1997A5, Text_1997D6
- msgbox gUnknown_81997EA, MSGBOX_AUTOCLOSE
+CinnabarIsland_Gym_EventScript_Erik:: @ 816DA7F
+ trainerbattle_single TRAINER_SUPER_NERD_ERIK, CinnabarIsland_Gym_Text_ErikIntro, CinnabarIsland_Gym_Text_ErikDefeat
+ msgbox CinnabarIsland_Gym_Text_ErikPostBattle, MSGBOX_AUTOCLOSE
end
-CinnabarIsland_Gym_EventScript_16DA96:: @ 816DA96
- trainerbattle_single TRAINER_SUPER_NERD_AVERY, Text_1998BD, Text_1998ED, EventScript_16DAB1
- msgbox gUnknown_8199911, MSGBOX_AUTOCLOSE
+CinnabarIsland_Gym_EventScript_Avery:: @ 816DA96
+ trainerbattle_single TRAINER_SUPER_NERD_AVERY, CinnabarIsland_Gym_Text_AveryIntro, CinnabarIsland_Gym_Text_AveryDefeat, CinnabarIsland_Gym_EventScript_DefeatedAvery
+ msgbox CinnabarIsland_Gym_Text_AveryPostBattle, MSGBOX_AUTOCLOSE
end
-EventScript_16DAB1:: @ 816DAB1
- call_if_unset FLAG_CINNABAR_GYM_QUIZ_2, EventScript_16DABC
+CinnabarIsland_Gym_EventScript_DefeatedAvery:: @ 816DAB1
+ call_if_unset FLAG_CINNABAR_GYM_QUIZ_2, CinnabarIsland_Gym_EventScript_Quiz2CompleteTrainer
release
end
-EventScript_16DABC:: @ 816DABC
- call EventScript_16DD31
+CinnabarIsland_Gym_EventScript_Quiz2CompleteTrainer:: @ 816DABC
+ call CinnabarIsland_Gym_EventScript_Quiz2Complete
return
-CinnabarIsland_Gym_EventScript_16DAC2:: @ 816DAC2
- trainerbattle_single TRAINER_SUPER_NERD_DEREK, Text_1999B7, Text_1999DB, EventScript_16DAEA
+CinnabarIsland_Gym_EventScript_Derek:: @ 816DAC2
+ trainerbattle_single TRAINER_SUPER_NERD_DEREK, CinnabarIsland_Gym_Text_DerekIntro, CinnabarIsland_Gym_Text_DerekDefeat, CinnabarIsland_Gym_EventScript_DefeatedDerek
famechecker FAMECHECKER_BLAINE, 2
- msgbox gUnknown_81999DF, MSGBOX_AUTOCLOSE
+ msgbox CinnabarIsland_Gym_Text_DerekPostBattle, MSGBOX_AUTOCLOSE
end
-EventScript_16DAEA:: @ 816DAEA
- call_if_unset FLAG_CINNABAR_GYM_QUIZ_4, EventScript_16DAF5
+CinnabarIsland_Gym_EventScript_DefeatedDerek:: @ 816DAEA
+ call_if_unset FLAG_CINNABAR_GYM_QUIZ_4, CinnabarIsland_Gym_EventScript_Quiz4CompleteTrainer
release
end
-EventScript_16DAF5:: @ 816DAF5
- call EventScript_16DEE6
+CinnabarIsland_Gym_EventScript_Quiz4CompleteTrainer:: @ 816DAF5
+ call CinnabarIsland_Gym_EventScript_Quiz4Complete
return
-CinnabarIsland_Gym_EventScript_16DAFB:: @ 816DAFB
- trainerbattle_single TRAINER_SUPER_NERD_ZAC, Text_199AFC, Text_199B16, EventScript_16DB16
- msgbox gUnknown_8199B27, MSGBOX_AUTOCLOSE
+CinnabarIsland_Gym_EventScript_Zac:: @ 816DAFB
+ trainerbattle_single TRAINER_SUPER_NERD_ZAC, CinnabarIsland_Gym_Text_ZacIntro, CinnabarIsland_Gym_Text_ZacDefeat, CinnabarIsland_Gym_EventScript_DefeatedZac
+ msgbox CinnabarIsland_Gym_Text_ZacPostBattle, MSGBOX_AUTOCLOSE
end
-EventScript_16DB16:: @ 816DB16
- call_if_unset FLAG_CINNABAR_GYM_QUIZ_6, EventScript_16DB21
+CinnabarIsland_Gym_EventScript_DefeatedZac:: @ 816DB16
+ call_if_unset FLAG_CINNABAR_GYM_QUIZ_6, CinnabarIsland_Gym_EventScript_Quiz6CompleteTrainer
release
end
-EventScript_16DB21:: @ 816DB21
- call EventScript_16E094
+CinnabarIsland_Gym_EventScript_Quiz6CompleteTrainer:: @ 816DB21
+ call CinnabarIsland_Gym_EventScript_Quiz6Complete
return
-CinnabarIsland_Gym_EventScript_16DB27:: @ 816DB27
- trainerbattle_single TRAINER_BURGLAR_QUINN, Text_19983F, Text_199870, EventScript_16DB42
- msgbox gUnknown_819987D, MSGBOX_AUTOCLOSE
+CinnabarIsland_Gym_EventScript_Quinn:: @ 816DB27
+ trainerbattle_single TRAINER_BURGLAR_QUINN, CinnabarIsland_Gym_Text_QuinnIntro, CinnabarIsland_Gym_Text_QuinnDefeat, CinnabarIsland_Gym_EventScript_DefeatedQuinn
+ msgbox CinnabarIsland_Gym_Text_QuinnPostBattle, MSGBOX_AUTOCLOSE
end
-EventScript_16DB42:: @ 816DB42
- call_if_unset FLAG_CINNABAR_GYM_QUIZ_1, EventScript_16DB4D
+CinnabarIsland_Gym_EventScript_DefeatedQuinn:: @ 816DB42
+ call_if_unset FLAG_CINNABAR_GYM_QUIZ_1, CinnabarIsland_Gym_EventScript_Quiz1CompleteTrainer
release
end
-EventScript_16DB4D:: @ 816DB4D
- call EventScript_16DC58
+CinnabarIsland_Gym_EventScript_Quiz1CompleteTrainer:: @ 816DB4D
+ call CinnabarIsland_Gym_EventScript_Quiz1Complete
return
-CinnabarIsland_Gym_EventScript_16DB53:: @ 816DB53
- trainerbattle_single TRAINER_BURGLAR_RAMON, Text_199948, Text_199973, EventScript_16DB6E
- msgbox gUnknown_8199986, MSGBOX_AUTOCLOSE
+CinnabarIsland_Gym_EventScript_Ramon:: @ 816DB53
+ trainerbattle_single TRAINER_BURGLAR_RAMON, CinnabarIsland_Gym_Text_RamonIntro, CinnabarIsland_Gym_Text_RamonDefeat, CinnabarIsland_Gym_EventScript_DefeatedRamon
+ msgbox CinnabarIsland_Gym_Text_RamonPostBattle, MSGBOX_AUTOCLOSE
end
-EventScript_16DB6E:: @ 816DB6E
- call_if_unset FLAG_CINNABAR_GYM_QUIZ_3, EventScript_16DB79
+CinnabarIsland_Gym_EventScript_DefeatedRamon:: @ 816DB6E
+ call_if_unset FLAG_CINNABAR_GYM_QUIZ_3, CinnabarIsland_Gym_EventScript_Quiz3CompleteTrainer
release
end
-EventScript_16DB79:: @ 816DB79
- call EventScript_16DE0F
+CinnabarIsland_Gym_EventScript_Quiz3CompleteTrainer:: @ 816DB79
+ call CinnabarIsland_Gym_EventScript_Quiz3Complete
return
-CinnabarIsland_Gym_EventScript_16DB7F:: @ 816DB7F
- trainerbattle_single TRAINER_BURGLAR_DUSTY, Text_199A7F, Text_199AB9, EventScript_16DB9A
- msgbox gUnknown_8199AC9, MSGBOX_AUTOCLOSE
+CinnabarIsland_Gym_EventScript_Dusty:: @ 816DB7F
+ trainerbattle_single TRAINER_BURGLAR_DUSTY, CinnabarIsland_Gym_Text_DustyIntro, CinnabarIsland_Gym_Text_DustyDefeat, CinnabarIsland_Gym_EventScript_DefeatedDusty
+ msgbox CinnabarIsland_Gym_Text_DustyPostBattle, MSGBOX_AUTOCLOSE
end
-EventScript_16DB9A:: @ 816DB9A
- call_if_unset FLAG_CINNABAR_GYM_QUIZ_5, EventScript_16DBA5
+CinnabarIsland_Gym_EventScript_DefeatedDusty:: @ 816DB9A
+ call_if_unset FLAG_CINNABAR_GYM_QUIZ_5, CinnabarIsland_Gym_EventScript_Quiz5CompleteTrainer
release
end
-EventScript_16DBA5:: @ 816DBA5
- call EventScript_16DFBD
+CinnabarIsland_Gym_EventScript_Quiz5CompleteTrainer:: @ 816DBA5
+ call CinnabarIsland_Gym_EventScript_Quiz5Complete
return
-CinnabarIsland_Gym_EventScript_16DBAB:: @ 816DBAB
+CinnabarIsland_Gym_EventScript_GymGuy:: @ 816DBAB
lock
faceplayer
- goto_if_set FLAG_DEFEATED_BLAINE, EventScript_16DBC0
- msgbox gUnknown_8199B81
+ goto_if_set FLAG_DEFEATED_BLAINE, CinnabarIsland_Gym_EventScript_GymGuyPostVictory
+ msgbox CinnabarIsland_Gym_Text_GymGuyAdvice
release
end
-EventScript_16DBC0:: @ 816DBC0
- msgbox gUnknown_8199C0C
+CinnabarIsland_Gym_EventScript_GymGuyPostVictory:: @ 816DBC0
+ msgbox CinnabarIsland_Gym_Text_GymGuyPostVictory
release
end
-CinnabarIsland_Gym_EventScript_16DBCA:: @ 816DBCA
+CinnabarIsland_Gym_EventScript_GymStatue:: @ 816DBCA
lockall
- goto_if_set FLAG_BADGE07_GET, EventScript_16DBDE
- msgbox gUnknown_8199C29
+ goto_if_set FLAG_BADGE07_GET, CinnabarIsland_Gym_EventScript_GymStatuePostVictory
+ msgbox CinnabarIsland_Gym_Text_GymStatue
releaseall
end
-EventScript_16DBDE:: @ 816DBDE
- msgbox gUnknown_8199C62
+CinnabarIsland_Gym_EventScript_GymStatuePostVictory:: @ 816DBDE
+ msgbox CinnabarIsland_Gym_Text_GymStatuePlayerWon
releaseall
end
-CinnabarIsland_Gym_EventScript_16DBE8:: @ 816DBE8
+CinnabarIsland_Gym_EventScript_Quz1Left:: @ 816DBE8
lockall
setvar VAR_TEMP_1, 0
- goto EventScript_16DC00
+ goto CinnabarIsland_Gym_EventScript_Quiz1
end
-CinnabarIsland_Gym_EventScript_16DBF4:: @ 816DBF4
+CinnabarIsland_Gym_EventScript_Quz1Right:: @ 816DBF4
lockall
setvar VAR_TEMP_1, 1
- goto EventScript_16DC00
+ goto CinnabarIsland_Gym_EventScript_Quiz1
end
-EventScript_16DC00:: @ 816DC00
- msgbox gUnknown_8199C9F
- msgbox gUnknown_8199D5A, MSGBOX_YESNO
+CinnabarIsland_Gym_EventScript_Quiz1:: @ 816DC00
+ msgbox CinnabarIsland_Gym_Text_PokemonQuizRules
+ msgbox CinnabarIsland_Gym_Text_QuizQuestion1, MSGBOX_YESNO
compare VAR_RESULT, YES
- goto_if_eq EventScript_16DC43
+ goto_if_eq CinnabarIsland_Gym_EventScript_Quiz1Correct
compare VAR_RESULT, NO
- goto_if_eq EventScript_16DC6A
+ goto_if_eq CinnabarIsland_Gym_EventScript_Quiz1Incorrect
end
-EventScript_16DC27:: @ 816DC27
+CinnabarIsland_Gym_EventScript_CorrectAnswer:: @ 816DC27
playfanfare MUS_FANFA1
waitfanfare
- msgbox gUnknown_8199E4F
+ msgbox CinnabarIsland_Gym_Text_CorrectGoOnThrough
return
-EventScript_16DC34:: @ 816DC34
+CinnabarIsland_Gym_EventScript_IncorrectAnswer:: @ 816DC34
waitse
playse SE_BOO
waitse
- msgbox gUnknown_8199E79
+ msgbox CinnabarIsland_Gym_Text_SorryBadCall
closemessage
return
-EventScript_16DC43:: @ 816DC43
- call EventScript_16DC27
- goto_if_set FLAG_CINNABAR_GYM_QUIZ_1, EventScript_16DC68
- call EventScript_16DC58
+CinnabarIsland_Gym_EventScript_Quiz1Correct:: @ 816DC43
+ call CinnabarIsland_Gym_EventScript_CorrectAnswer
+ goto_if_set FLAG_CINNABAR_GYM_QUIZ_1, CinnabarIsland_Gym_EventScript_DoorAlreadyOpen
+ call CinnabarIsland_Gym_EventScript_Quiz1Complete
releaseall
end
-EventScript_16DC58:: @ 816DC58
+CinnabarIsland_Gym_EventScript_Quiz1Complete:: @ 816DC58
playse SE_KI_GASYAN
waitse
- call EventScript_16E117
+ call CinnabarIsland_Gym_EventScript_OpenDoor1
special DrawWholeMapView
setflag FLAG_CINNABAR_GYM_QUIZ_1
return
-EventScript_16DC68:: @ 816DC68
+CinnabarIsland_Gym_EventScript_DoorAlreadyOpen:: @ 816DC68
releaseall
end
-EventScript_16DC6A:: @ 816DC6A
- call EventScript_16DC34
- goto_if_not_defeated TRAINER_BURGLAR_QUINN, EventScript_16DC7A
+CinnabarIsland_Gym_EventScript_Quiz1Incorrect:: @ 816DC6A
+ call CinnabarIsland_Gym_EventScript_IncorrectAnswer
+ goto_if_not_defeated TRAINER_BURGLAR_QUINN, CinnabarIsland_Gym_EventScript_BattleQuinn
releaseall
end
-EventScript_16DC7A:: @ 816DC7A
+CinnabarIsland_Gym_EventScript_BattleQuinn:: @ 816DC7A
compare VAR_TEMP_1, 0
- call_if_eq EventScript_16DCB4
+ call_if_eq CinnabarIsland_Gym_EventScript_QuinnApproachLeft
compare VAR_TEMP_1, 1
- call_if_eq EventScript_16DCC6
+ call_if_eq CinnabarIsland_Gym_EventScript_QuinnApproachRight
textcolor 0
- msgbox gUnknown_819983F
- trainerbattle_no_intro TRAINER_BURGLAR_QUINN, Text_199870
- goto_if_set FLAG_CINNABAR_GYM_QUIZ_1, EventScript_16DC68
- call EventScript_16DC58
+ msgbox CinnabarIsland_Gym_Text_QuinnIntro
+ trainerbattle_no_intro TRAINER_BURGLAR_QUINN, CinnabarIsland_Gym_Text_QuinnDefeat
+ goto_if_set FLAG_CINNABAR_GYM_QUIZ_1, CinnabarIsland_Gym_EventScript_DoorAlreadyOpen
+ call CinnabarIsland_Gym_EventScript_Quiz1Complete
releaseall
end
-EventScript_16DCB4:: @ 816DCB4
+CinnabarIsland_Gym_EventScript_QuinnApproachLeft:: @ 816DCB4
applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestRight
- applymovement 1, Movement_16DCD8
+ applymovement 1, CinnabarIsland_Gym_Movement_QuinnApproachLeft
waitmovement 0
return
-EventScript_16DCC6:: @ 816DCC6
+CinnabarIsland_Gym_EventScript_QuinnApproachRight:: @ 816DCC6
applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestRight
- applymovement 1, Movement_16DCDB
+ applymovement 1, CinnabarIsland_Gym_Movement_QuinnApproachRight
waitmovement 0
return
-Movement_16DCD8:: @ 816DCD8
+CinnabarIsland_Gym_Movement_QuinnApproachLeft:: @ 816DCD8
walk_left
walk_left
step_end
-Movement_16DCDB:: @ 816DCDB
+CinnabarIsland_Gym_Movement_QuinnApproachRight:: @ 816DCDB
walk_left
step_end
-CinnabarIsland_Gym_EventScript_16DCDD:: @ 816DCDD
+CinnabarIsland_Gym_EventScript_Quiz2Left:: @ 816DCDD
lockall
setvar VAR_TEMP_1, 0
- goto EventScript_16DCF5
+ goto CinnabarIsland_Gym_EventScript_Quiz2
end
-CinnabarIsland_Gym_EventScript_16DCE9:: @ 816DCE9
+CinnabarIsland_Gym_EventScript_Quiz2Right:: @ 816DCE9
lockall
setvar VAR_TEMP_1, 1
- goto EventScript_16DCF5
+ goto CinnabarIsland_Gym_EventScript_Quiz2
end
-EventScript_16DCF5:: @ 816DCF5
- msgbox gUnknown_8199C9F
- msgbox gUnknown_8199D79, MSGBOX_YESNO
+CinnabarIsland_Gym_EventScript_Quiz2:: @ 816DCF5
+ msgbox CinnabarIsland_Gym_Text_PokemonQuizRules
+ msgbox CinnabarIsland_Gym_Text_QuizQuestion2, MSGBOX_YESNO
compare VAR_RESULT, YES
- goto_if_eq EventScript_16DD41
+ goto_if_eq CinnabarIsland_Gym_EventScript_Quiz2Incorrect
compare VAR_RESULT, NO
- goto_if_eq EventScript_16DD1C
+ goto_if_eq CinnabarIsland_Gym_EventScript_Quiz2Correct
end
-EventScript_16DD1C:: @ 816DD1C
- call EventScript_16DC27
- goto_if_set FLAG_CINNABAR_GYM_QUIZ_2, EventScript_16DC68
- call EventScript_16DD31
+CinnabarIsland_Gym_EventScript_Quiz2Correct:: @ 816DD1C
+ call CinnabarIsland_Gym_EventScript_CorrectAnswer
+ goto_if_set FLAG_CINNABAR_GYM_QUIZ_2, CinnabarIsland_Gym_EventScript_DoorAlreadyOpen
+ call CinnabarIsland_Gym_EventScript_Quiz2Complete
releaseall
end
-EventScript_16DD31:: @ 816DD31
+CinnabarIsland_Gym_EventScript_Quiz2Complete:: @ 816DD31
playse SE_KI_GASYAN
waitse
- call EventScript_16E157
+ call CinnabarIsland_Gym_EventScript_OpenDoor2
special DrawWholeMapView
setflag FLAG_CINNABAR_GYM_QUIZ_2
return
-EventScript_16DD41:: @ 816DD41
- call EventScript_16DC34
- goto_if_not_defeated TRAINER_SUPER_NERD_AVERY, EventScript_16DD51
+CinnabarIsland_Gym_EventScript_Quiz2Incorrect:: @ 816DD41
+ call CinnabarIsland_Gym_EventScript_IncorrectAnswer
+ goto_if_not_defeated TRAINER_SUPER_NERD_AVERY, CinnabarIsland_Gym_EventScript_BattleAvery
releaseall
end
-EventScript_16DD51:: @ 816DD51
+CinnabarIsland_Gym_EventScript_BattleAvery:: @ 816DD51
compare VAR_TEMP_1, 0
- call_if_eq EventScript_16DD8B
+ call_if_eq CinnabarIsland_Gym_EventScript_AveryApproachLeft
compare VAR_TEMP_1, 1
- call_if_eq EventScript_16DD9D
+ call_if_eq CinnabarIsland_Gym_EventScript_AveryApproachRight
textcolor 0
- msgbox gUnknown_81998BD
- trainerbattle_no_intro TRAINER_SUPER_NERD_AVERY, Text_1998ED
- goto_if_set FLAG_CINNABAR_GYM_QUIZ_2, EventScript_16DC68
- call EventScript_16DD31
+ msgbox CinnabarIsland_Gym_Text_AveryIntro
+ trainerbattle_no_intro TRAINER_SUPER_NERD_AVERY, CinnabarIsland_Gym_Text_AveryDefeat
+ goto_if_set FLAG_CINNABAR_GYM_QUIZ_2, CinnabarIsland_Gym_EventScript_DoorAlreadyOpen
+ call CinnabarIsland_Gym_EventScript_Quiz2Complete
releaseall
end
-EventScript_16DD8B:: @ 816DD8B
- applymovement OBJ_EVENT_ID_PLAYER, Movement_16DDB7
- applymovement 3, Movement_16DDAF
+CinnabarIsland_Gym_EventScript_AveryApproachLeft:: @ 816DD8B
+ applymovement OBJ_EVENT_ID_PLAYER, CinnabarIsland_Gym_Movement_PlayerFaceAvery
+ applymovement 3, CinnabarIsland_Gym_Movement_AveryApproachLeft
waitmovement 0
return
-EventScript_16DD9D:: @ 816DD9D
- applymovement OBJ_EVENT_ID_PLAYER, Movement_16DDB7
- applymovement 3, Movement_16DDB3
+CinnabarIsland_Gym_EventScript_AveryApproachRight:: @ 816DD9D
+ applymovement OBJ_EVENT_ID_PLAYER, CinnabarIsland_Gym_Movement_PlayerFaceAvery
+ applymovement 3, CinnabarIsland_Gym_Movement_AveryApproachRight
waitmovement 0
return
-Movement_16DDAF:: @ 816DDAF
+CinnabarIsland_Gym_Movement_AveryApproachLeft:: @ 816DDAF
walk_up
walk_up
walk_left
step_end
-Movement_16DDB3:: @ 816DDB3
+CinnabarIsland_Gym_Movement_AveryApproachRight:: @ 816DDB3
walk_up
walk_up
walk_in_place_fastest_left
step_end
-Movement_16DDB7:: @ 816DDB7
+CinnabarIsland_Gym_Movement_PlayerFaceAvery:: @ 816DDB7
delay_16
delay_16
walk_in_place_fastest_right
step_end
-CinnabarIsland_Gym_EventScript_16DDBB:: @ 816DDBB
+CinnabarIsland_Gym_EventScript_Quiz3Left:: @ 816DDBB
lockall
setvar VAR_TEMP_1, 0
- goto EventScript_16DDD3
+ goto CinnabarIsland_Gym_EventScript_Quiz3
end
-CinnabarIsland_Gym_EventScript_16DDC7:: @ 816DDC7
+CinnabarIsland_Gym_EventScript_Quiz3Right:: @ 816DDC7
lockall
setvar VAR_TEMP_1, 1
- goto EventScript_16DDD3
+ goto CinnabarIsland_Gym_EventScript_Quiz3
end
-EventScript_16DDD3:: @ 816DDD3
- msgbox gUnknown_8199C9F
- msgbox gUnknown_8199DA9, MSGBOX_YESNO
+CinnabarIsland_Gym_EventScript_Quiz3:: @ 816DDD3
+ msgbox CinnabarIsland_Gym_Text_PokemonQuizRules
+ msgbox CinnabarIsland_Gym_Text_QuizQuestion3, MSGBOX_YESNO
compare VAR_RESULT, YES
- goto_if_eq EventScript_16DE1F
+ goto_if_eq CinnabarIsland_Gym_EventScript_Quiz3Incorrect
compare VAR_RESULT, NO
- goto_if_eq EventScript_16DDFA
+ goto_if_eq CinnabarIsland_Gym_EventScript_Quiz3Correct
end
-EventScript_16DDFA:: @ 816DDFA
- call EventScript_16DC27
- goto_if_set FLAG_CINNABAR_GYM_QUIZ_3, EventScript_16DC68
- call EventScript_16DE0F
+CinnabarIsland_Gym_EventScript_Quiz3Correct:: @ 816DDFA
+ call CinnabarIsland_Gym_EventScript_CorrectAnswer
+ goto_if_set FLAG_CINNABAR_GYM_QUIZ_3, CinnabarIsland_Gym_EventScript_DoorAlreadyOpen
+ call CinnabarIsland_Gym_EventScript_Quiz3Complete
releaseall
end
-EventScript_16DE0F:: @ 816DE0F
+CinnabarIsland_Gym_EventScript_Quiz3Complete:: @ 816DE0F
playse SE_KI_GASYAN
waitse
- call EventScript_16E197
+ call CinnabarIsland_Gym_EventScript_OpenDoor3
special DrawWholeMapView
setflag FLAG_CINNABAR_GYM_QUIZ_3
return
-EventScript_16DE1F:: @ 816DE1F
- call EventScript_16DC34
- goto_if_not_defeated TRAINER_BURGLAR_RAMON, EventScript_16DE2F
+CinnabarIsland_Gym_EventScript_Quiz3Incorrect:: @ 816DE1F
+ call CinnabarIsland_Gym_EventScript_IncorrectAnswer
+ goto_if_not_defeated TRAINER_BURGLAR_RAMON, CinnabarIsland_Gym_EventScript_BattleRamon
releaseall
end
-EventScript_16DE2F:: @ 816DE2F
+CinnabarIsland_Gym_EventScript_BattleRamon:: @ 816DE2F
compare VAR_TEMP_1, 0
- call_if_eq EventScript_16DE69
+ call_if_eq CinnabarIsland_Gym_EventScript_RamonApproachLeft
compare VAR_TEMP_1, 1
- call_if_eq EventScript_16DE7B
+ call_if_eq CinnabarIsland_Gym_EventScript_RamonApproachRight
textcolor 0
- msgbox gUnknown_8199948
- trainerbattle_no_intro TRAINER_BURGLAR_RAMON, Text_199973
- goto_if_set FLAG_CINNABAR_GYM_QUIZ_3, EventScript_16DC68
- call EventScript_16DE0F
+ msgbox CinnabarIsland_Gym_Text_RamonIntro
+ trainerbattle_no_intro TRAINER_BURGLAR_RAMON, CinnabarIsland_Gym_Text_RamonDefeat
+ goto_if_set FLAG_CINNABAR_GYM_QUIZ_3, CinnabarIsland_Gym_EventScript_DoorAlreadyOpen
+ call CinnabarIsland_Gym_EventScript_Quiz3Complete
releaseall
end
-EventScript_16DE69:: @ 816DE69
+CinnabarIsland_Gym_EventScript_RamonApproachLeft:: @ 816DE69
applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestRight
- applymovement 4, Movement_16DE8D
+ applymovement 4, CinnabarIsland_Gym_Movement_RamonApproachLeft
waitmovement 0
return
-EventScript_16DE7B:: @ 816DE7B
+CinnabarIsland_Gym_EventScript_RamonApproachRight:: @ 816DE7B
applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestRight
- applymovement 4, Movement_16DE90
+ applymovement 4, CinnabarIsland_Gym_Movement_RamonApproachRight
waitmovement 0
return
-Movement_16DE8D:: @ 816DE8D
+CinnabarIsland_Gym_Movement_RamonApproachLeft:: @ 816DE8D
walk_left
walk_left
step_end
-Movement_16DE90:: @ 816DE90
+CinnabarIsland_Gym_Movement_RamonApproachRight:: @ 816DE90
walk_left
step_end
-CinnabarIsland_Gym_EventScript_16DE92:: @ 816DE92
+CinnabarIsland_Gym_EventScript_Quiz4Left:: @ 816DE92
lockall
setvar VAR_TEMP_1, 0
- goto EventScript_16DEAA
+ goto CinnabarIsland_Gym_EventScript_Quiz4
end
-CinnabarIsland_Gym_EventScript_16DE9E:: @ 816DE9E
+CinnabarIsland_Gym_EventScript_Quiz4Right:: @ 816DE9E
lockall
setvar VAR_TEMP_1, 1
- goto EventScript_16DEAA
+ goto CinnabarIsland_Gym_EventScript_Quiz4
end
-EventScript_16DEAA:: @ 816DEAA
- msgbox gUnknown_8199C9F
- msgbox gUnknown_8199DC6, MSGBOX_YESNO
+CinnabarIsland_Gym_EventScript_Quiz4:: @ 816DEAA
+ msgbox CinnabarIsland_Gym_Text_PokemonQuizRules
+ msgbox CinnabarIsland_Gym_Text_QuizQuestion4, MSGBOX_YESNO
compare VAR_RESULT, YES
- goto_if_eq EventScript_16DEF6
+ goto_if_eq CinnabarIsland_Gym_EventScript_Quiz4Incorrect
compare VAR_RESULT, NO
- goto_if_eq EventScript_16DED1
+ goto_if_eq CinnabarIsland_Gym_EventScript_Quiz4Correct
end
-EventScript_16DED1:: @ 816DED1
- call EventScript_16DC27
- goto_if_set FLAG_CINNABAR_GYM_QUIZ_4, EventScript_16DC68
- call EventScript_16DEE6
+CinnabarIsland_Gym_EventScript_Quiz4Correct:: @ 816DED1
+ call CinnabarIsland_Gym_EventScript_CorrectAnswer
+ goto_if_set FLAG_CINNABAR_GYM_QUIZ_4, CinnabarIsland_Gym_EventScript_DoorAlreadyOpen
+ call CinnabarIsland_Gym_EventScript_Quiz4Complete
releaseall
end
-EventScript_16DEE6:: @ 816DEE6
+CinnabarIsland_Gym_EventScript_Quiz4Complete:: @ 816DEE6
playse SE_KI_GASYAN
waitse
- call EventScript_16E1D7
+ call CinnabarIsland_Gym_EventScript_OpenDoor4
special DrawWholeMapView
setflag FLAG_CINNABAR_GYM_QUIZ_4
return
-EventScript_16DEF6:: @ 816DEF6
- call EventScript_16DC34
- goto_if_not_defeated TRAINER_SUPER_NERD_DEREK, EventScript_16DF06
+CinnabarIsland_Gym_EventScript_Quiz4Incorrect:: @ 816DEF6
+ call CinnabarIsland_Gym_EventScript_IncorrectAnswer
+ goto_if_not_defeated TRAINER_SUPER_NERD_DEREK, CinnabarIsland_Gym_EventScript_BattleDerek
releaseall
end
-EventScript_16DF06:: @ 816DF06
+CinnabarIsland_Gym_EventScript_BattleDerek:: @ 816DF06
compare VAR_TEMP_1, 0
- call_if_eq EventScript_16DF40
+ call_if_eq CinnabarIsland_Gym_EventScript_DerekApproachLeft
compare VAR_TEMP_1, 1
- call_if_eq EventScript_16DF52
+ call_if_eq CinnabarIsland_Gym_EventScript_DerekApproachRight
textcolor 0
- msgbox gUnknown_81999B7
- trainerbattle_no_intro TRAINER_SUPER_NERD_DEREK, Text_1999DB
- goto_if_set FLAG_CINNABAR_GYM_QUIZ_4, EventScript_16DC68
- call EventScript_16DEE6
+ msgbox CinnabarIsland_Gym_Text_DerekIntro
+ trainerbattle_no_intro TRAINER_SUPER_NERD_DEREK, CinnabarIsland_Gym_Text_DerekDefeat
+ goto_if_set FLAG_CINNABAR_GYM_QUIZ_4, CinnabarIsland_Gym_EventScript_DoorAlreadyOpen
+ call CinnabarIsland_Gym_EventScript_Quiz4Complete
releaseall
end
-EventScript_16DF40:: @ 816DF40
+CinnabarIsland_Gym_EventScript_DerekApproachLeft:: @ 816DF40
applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestRight
- applymovement 5, Movement_16DF64
+ applymovement 5, CinnabarIsland_Gym_Movement_DerekApproachLeft
waitmovement 0
return
-EventScript_16DF52:: @ 816DF52
+CinnabarIsland_Gym_EventScript_DerekApproachRight:: @ 816DF52
applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestRight
- applymovement 5, Movement_16DF67
+ applymovement 5, CinnabarIsland_Gym_Movement_DerekApproachRight
waitmovement 0
return
-Movement_16DF64:: @ 816DF64
+CinnabarIsland_Gym_Movement_DerekApproachLeft:: @ 816DF64
walk_left
walk_left
step_end
-Movement_16DF67:: @ 816DF67
+CinnabarIsland_Gym_Movement_DerekApproachRight:: @ 816DF67
walk_left
step_end
-CinnabarIsland_Gym_EventScript_16DF69:: @ 816DF69
+CinnabarIsland_Gym_EventScript_Quiz5Left:: @ 816DF69
lockall
setvar VAR_TEMP_1, 0
- goto EventScript_16DF81
+ goto CinnabarIsland_Gym_EventScript_Quiz5
end
-CinnabarIsland_Gym_EventScript_16DF75:: @ 816DF75
+CinnabarIsland_Gym_EventScript_Quiz5Right:: @ 816DF75
lockall
setvar VAR_TEMP_1, 1
- goto EventScript_16DF81
+ goto CinnabarIsland_Gym_EventScript_Quiz5
end
-EventScript_16DF81:: @ 816DF81
- msgbox gUnknown_8199C9F
- msgbox gUnknown_8199E00, MSGBOX_YESNO
+CinnabarIsland_Gym_EventScript_Quiz5:: @ 816DF81
+ msgbox CinnabarIsland_Gym_Text_PokemonQuizRules
+ msgbox CinnabarIsland_Gym_Text_QuizQuestion5, MSGBOX_YESNO
compare VAR_RESULT, YES
- goto_if_eq EventScript_16DFA8
+ goto_if_eq CinnabarIsland_Gym_EventScript_Quiz5Correct
compare VAR_RESULT, NO
- goto_if_eq EventScript_16DFCD
+ goto_if_eq CinnabarIsland_Gym_EventScript_Quiz5Incorrect
end
-EventScript_16DFA8:: @ 816DFA8
- call EventScript_16DC27
- goto_if_set FLAG_CINNABAR_GYM_QUIZ_5, EventScript_16DC68
- call EventScript_16DFBD
+CinnabarIsland_Gym_EventScript_Quiz5Correct:: @ 816DFA8
+ call CinnabarIsland_Gym_EventScript_CorrectAnswer
+ goto_if_set FLAG_CINNABAR_GYM_QUIZ_5, CinnabarIsland_Gym_EventScript_DoorAlreadyOpen
+ call CinnabarIsland_Gym_EventScript_Quiz5Complete
releaseall
end
-EventScript_16DFBD:: @ 816DFBD
+CinnabarIsland_Gym_EventScript_Quiz5Complete:: @ 816DFBD
playse SE_KI_GASYAN
waitse
- call EventScript_16E1F3
+ call CinnabarIsland_Gym_EventScript_OpenDoor5
special DrawWholeMapView
setflag FLAG_CINNABAR_GYM_QUIZ_5
return
-EventScript_16DFCD:: @ 816DFCD
- call EventScript_16DC34
- goto_if_not_defeated TRAINER_BURGLAR_DUSTY, EventScript_16DFDD
+CinnabarIsland_Gym_EventScript_Quiz5Incorrect:: @ 816DFCD
+ call CinnabarIsland_Gym_EventScript_IncorrectAnswer
+ goto_if_not_defeated TRAINER_BURGLAR_DUSTY, CinnabarIsland_Gym_EventScript_BattleDusty
releaseall
end
-EventScript_16DFDD:: @ 816DFDD
+CinnabarIsland_Gym_EventScript_BattleDusty:: @ 816DFDD
compare VAR_TEMP_1, 0
- call_if_eq EventScript_16E017
+ call_if_eq CinnabarIsland_Gym_EventScript_DustyApproachLeft
compare VAR_TEMP_1, 1
- call_if_eq EventScript_16E029
+ call_if_eq CinnabarIsland_Gym_EventScript_DustyApproachRight
textcolor 0
- msgbox gUnknown_8199A7F
- trainerbattle_no_intro TRAINER_BURGLAR_DUSTY, Text_199AB9
- goto_if_set FLAG_CINNABAR_GYM_QUIZ_5, EventScript_16DC68
- call EventScript_16DFBD
+ msgbox CinnabarIsland_Gym_Text_DustyIntro
+ trainerbattle_no_intro TRAINER_BURGLAR_DUSTY, CinnabarIsland_Gym_Text_DustyDefeat
+ goto_if_set FLAG_CINNABAR_GYM_QUIZ_5, CinnabarIsland_Gym_EventScript_DoorAlreadyOpen
+ call CinnabarIsland_Gym_EventScript_Quiz5Complete
releaseall
end
-EventScript_16E017:: @ 816E017
+CinnabarIsland_Gym_EventScript_DustyApproachLeft:: @ 816E017
applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestRight
- applymovement 6, Movement_16E03B
+ applymovement 6, CinnabarIsland_Gym_Movement_DustyApproachLeft
waitmovement 0
return
-EventScript_16E029:: @ 816E029
+CinnabarIsland_Gym_EventScript_DustyApproachRight:: @ 816E029
applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestRight
- applymovement 6, Movement_16E03E
+ applymovement 6, CinnabarIsland_Gym_Movement_DustyApproachRight
waitmovement 0
return
-Movement_16E03B:: @ 816E03B
+CinnabarIsland_Gym_Movement_DustyApproachLeft:: @ 816E03B
walk_left
walk_left
step_end
-Movement_16E03E:: @ 816E03E
+CinnabarIsland_Gym_Movement_DustyApproachRight:: @ 816E03E
walk_left
step_end
-CinnabarIsland_Gym_EventScript_16E040:: @ 816E040
+CinnabarIsland_Gym_EventScript_Quiz6Left:: @ 816E040
lockall
setvar VAR_TEMP_1, 0
- goto EventScript_16E058
+ goto CinnabarIsland_Gym_EventScript_Quiz6
end
-CinnabarIsland_Gym_EventScript_16E04C:: @ 816E04C
+CinnabarIsland_Gym_EventScript_Quiz6Right:: @ 816E04C
lockall
setvar VAR_TEMP_1, 1
- goto EventScript_16E058
+ goto CinnabarIsland_Gym_EventScript_Quiz6
end
-EventScript_16E058:: @ 816E058
- msgbox gUnknown_8199C9F
- msgbox gUnknown_8199E36, MSGBOX_YESNO
+CinnabarIsland_Gym_EventScript_Quiz6:: @ 816E058
+ msgbox CinnabarIsland_Gym_Text_PokemonQuizRules
+ msgbox CinnabarIsland_Gym_Text_QuizQuestion6, MSGBOX_YESNO
compare VAR_RESULT, YES
- goto_if_eq EventScript_16E0A4
+ goto_if_eq CinnabarIsland_Gym_EventScript_Quiz6Incorrect
compare VAR_RESULT, NO
- goto_if_eq EventScript_16E07F
+ goto_if_eq CinnabarIsland_Gym_EventScript_Quiz6Correct
end
-EventScript_16E07F:: @ 816E07F
- call EventScript_16DC27
- goto_if_set FLAG_CINNABAR_GYM_QUIZ_6, EventScript_16DC68
- call EventScript_16E094
+CinnabarIsland_Gym_EventScript_Quiz6Correct:: @ 816E07F
+ call CinnabarIsland_Gym_EventScript_CorrectAnswer
+ goto_if_set FLAG_CINNABAR_GYM_QUIZ_6, CinnabarIsland_Gym_EventScript_DoorAlreadyOpen
+ call CinnabarIsland_Gym_EventScript_Quiz6Complete
releaseall
end
-EventScript_16E094:: @ 816E094
+CinnabarIsland_Gym_EventScript_Quiz6Complete:: @ 816E094
playse SE_KI_GASYAN
waitse
- call EventScript_16E233
+ call CinnabarIsland_Gym_EventScript_OpenDoor6
special DrawWholeMapView
setflag FLAG_CINNABAR_GYM_QUIZ_6
return
-EventScript_16E0A4:: @ 816E0A4
- call EventScript_16DC34
- goto_if_not_defeated TRAINER_SUPER_NERD_ZAC, EventScript_16E0B4
+CinnabarIsland_Gym_EventScript_Quiz6Incorrect:: @ 816E0A4
+ call CinnabarIsland_Gym_EventScript_IncorrectAnswer
+ goto_if_not_defeated TRAINER_SUPER_NERD_ZAC, CinnabarIsland_Gym_EventScript_BattleZac
releaseall
end
-EventScript_16E0B4:: @ 816E0B4
+CinnabarIsland_Gym_EventScript_BattleZac:: @ 816E0B4
compare VAR_TEMP_1, 0
- call_if_eq EventScript_16E0EE
+ call_if_eq CinnabarIsland_Gym_EventScript_ZacApproachLeft
compare VAR_TEMP_1, 1
- call_if_eq EventScript_16E100
+ call_if_eq CinnabarIsland_Gym_EventScript_ZacApproachRight
textcolor 0
- msgbox gUnknown_8199AFC
- trainerbattle_no_intro TRAINER_SUPER_NERD_ZAC, Text_199B16
- goto_if_set FLAG_CINNABAR_GYM_QUIZ_6, EventScript_16DC68
- call EventScript_16E094
+ msgbox CinnabarIsland_Gym_Text_ZacIntro
+ trainerbattle_no_intro TRAINER_SUPER_NERD_ZAC, CinnabarIsland_Gym_Text_ZacDefeat
+ goto_if_set FLAG_CINNABAR_GYM_QUIZ_6, CinnabarIsland_Gym_EventScript_DoorAlreadyOpen
+ call CinnabarIsland_Gym_EventScript_Quiz6Complete
releaseall
end
-EventScript_16E0EE:: @ 816E0EE
+CinnabarIsland_Gym_EventScript_ZacApproachLeft:: @ 816E0EE
applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestRight
- applymovement 7, Movement_16E112
+ applymovement 7, CinnabarIsland_Gym_Movement_ZacApproachLeft
waitmovement 0
return
-EventScript_16E100:: @ 816E100
+CinnabarIsland_Gym_EventScript_ZacApproachRight:: @ 816E100
applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestRight
- applymovement 7, Movement_16E115
+ applymovement 7, CinnabarIsland_Gym_Movement_ZacApproachRight
waitmovement 0
return
-Movement_16E112:: @ 816E112
+CinnabarIsland_Gym_Movement_ZacApproachLeft:: @ 816E112
walk_left
walk_left
step_end
-Movement_16E115:: @ 816E115
+CinnabarIsland_Gym_Movement_ZacApproachRight:: @ 816E115
walk_left
step_end
-EventScript_16E117:: @ 816E117
- setmetatile 26, 8, 711, 0
- setmetatile 27, 8, 710, 0
- setmetatile 26, 9, 719, 0
- setmetatile 27, 9, 718, 0
- setmetatile 26, 10, 649, 0
- setmetatile 27, 10, 641, 0
- setmetatile 28, 10, 642, 0
- return
-
-EventScript_16E157:: @ 816E157
- setmetatile 17, 8, 711, 0
- setmetatile 18, 8, 710, 0
- setmetatile 17, 9, 719, 0
- setmetatile 18, 9, 718, 0
- setmetatile 17, 10, 649, 0
- setmetatile 18, 10, 641, 0
- setmetatile 19, 10, 642, 0
- return
-
-EventScript_16E197:: @ 816E197
- setmetatile 17, 15, 711, 0
- setmetatile 18, 15, 710, 0
- setmetatile 17, 16, 719, 0
- setmetatile 18, 16, 718, 0
- setmetatile 17, 17, 649, 0
- setmetatile 18, 17, 641, 0
- setmetatile 19, 17, 642, 0
- return
-
-EventScript_16E1D7:: @ 816E1D7
- setmetatile 11, 21, 721, 1
- setmetatile 11, 22, 649, 0
- setmetatile 11, 23, 641, 0
- return
-
-EventScript_16E1F3:: @ 816E1F3
- setmetatile 5, 16, 711, 0
- setmetatile 6, 16, 710, 0
- setmetatile 5, 17, 719, 0
- setmetatile 6, 17, 718, 0
- setmetatile 5, 18, 649, 0
- setmetatile 6, 18, 641, 0
- setmetatile 7, 18, 642, 0
- return
-
-EventScript_16E233:: @ 816E233
- setmetatile 5, 8, 711, 0
- setmetatile 6, 8, 710, 0
- setmetatile 5, 9, 719, 0
- setmetatile 6, 9, 718, 0
- setmetatile 5, 10, 649, 0
- setmetatile 6, 10, 641, 0
- setmetatile 7, 10, 642, 0
+CinnabarIsland_Gym_EventScript_OpenDoor1:: @ 816E117
+ setmetatile 26, 8, METATILE_CinnabarGym_Floor_WallLeftCorner, 0
+ setmetatile 27, 8, METATILE_CinnabarGym_Floor_WallRightCorner, 0
+ setmetatile 26, 9, METATILE_CinnabarGym_Floor_WallLeftEdge, 0
+ setmetatile 27, 9, METATILE_CinnabarGym_Floor_WallRightEdge, 0
+ setmetatile 26, 10, METATILE_CinnabarGym_Floor_ShadeFull, 0
+ setmetatile 27, 10, METATILE_CinnabarGym_Floor, 0
+ setmetatile 28, 10, METATILE_CinnabarGym_Floor_ShadeDiagonal, 0
+ return
+
+CinnabarIsland_Gym_EventScript_OpenDoor2:: @ 816E157
+ setmetatile 17, 8, METATILE_CinnabarGym_Floor_WallLeftCorner, 0
+ setmetatile 18, 8, METATILE_CinnabarGym_Floor_WallRightCorner, 0
+ setmetatile 17, 9, METATILE_CinnabarGym_Floor_WallLeftEdge, 0
+ setmetatile 18, 9, METATILE_CinnabarGym_Floor_WallRightEdge, 0
+ setmetatile 17, 10, METATILE_CinnabarGym_Floor_ShadeFull, 0
+ setmetatile 18, 10, METATILE_CinnabarGym_Floor, 0
+ setmetatile 19, 10, METATILE_CinnabarGym_Floor_ShadeDiagonal, 0
+ return
+
+CinnabarIsland_Gym_EventScript_OpenDoor3:: @ 816E197
+ setmetatile 17, 15, METATILE_CinnabarGym_Floor_WallLeftCorner, 0
+ setmetatile 18, 15, METATILE_CinnabarGym_Floor_WallRightCorner, 0
+ setmetatile 17, 16, METATILE_CinnabarGym_Floor_WallLeftEdge, 0
+ setmetatile 18, 16, METATILE_CinnabarGym_Floor_WallRightEdge, 0
+ setmetatile 17, 17, METATILE_CinnabarGym_Floor_ShadeFull, 0
+ setmetatile 18, 17, METATILE_CinnabarGym_Floor, 0
+ setmetatile 19, 17, METATILE_CinnabarGym_Floor_ShadeDiagonal, 0
+ return
+
+CinnabarIsland_Gym_EventScript_OpenDoor4:: @ 816E1D7
+ setmetatile 11, 21, METATILE_CinnabarGym_Wall_RetractedBarrier, 1
+ setmetatile 11, 22, METATILE_CinnabarGym_Floor_ShadeFull, 0
+ setmetatile 11, 23, METATILE_CinnabarGym_Floor, 0
+ return
+
+CinnabarIsland_Gym_EventScript_OpenDoor5:: @ 816E1F3
+ setmetatile 5, 16, METATILE_CinnabarGym_Floor_WallLeftCorner, 0
+ setmetatile 6, 16, METATILE_CinnabarGym_Floor_WallRightCorner, 0
+ setmetatile 5, 17, METATILE_CinnabarGym_Floor_WallLeftEdge, 0
+ setmetatile 6, 17, METATILE_CinnabarGym_Floor_WallRightEdge, 0
+ setmetatile 5, 18, METATILE_CinnabarGym_Floor_ShadeFull, 0
+ setmetatile 6, 18, METATILE_CinnabarGym_Floor, 0
+ setmetatile 7, 18, METATILE_CinnabarGym_Floor_ShadeDiagonal, 0
+ return
+
+CinnabarIsland_Gym_EventScript_OpenDoor6:: @ 816E233
+ setmetatile 5, 8, METATILE_CinnabarGym_Floor_WallLeftCorner, 0
+ setmetatile 6, 8, METATILE_CinnabarGym_Floor_WallRightCorner, 0
+ setmetatile 5, 9, METATILE_CinnabarGym_Floor_WallLeftEdge, 0
+ setmetatile 6, 9, METATILE_CinnabarGym_Floor_WallRightEdge, 0
+ setmetatile 5, 10, METATILE_CinnabarGym_Floor_ShadeFull, 0
+ setmetatile 6, 10, METATILE_CinnabarGym_Floor, 0
+ setmetatile 7, 10, METATILE_CinnabarGym_Floor_ShadeDiagonal, 0
return
diff --git a/data/maps/CinnabarIsland_Gym/text.inc b/data/maps/CinnabarIsland_Gym/text.inc
index c09e8b791..4543ffcc8 100644
--- a/data/maps/CinnabarIsland_Gym/text.inc
+++ b/data/maps/CinnabarIsland_Gym/text.inc
@@ -1,4 +1,4 @@
-Text_199543:: @ 8199543
+CinnabarIsland_Gym_Text_BlaineIntro:: @ 8199543
.string "Hah!\p"
.string "I am BLAINE, the red-hot LEADER\n"
.string "of CINNABAR GYM!\p"
@@ -8,95 +8,91 @@ Text_199543:: @ 8199543
.string "Hah!\n"
.string "You better have BURN HEAL!{PLAY_BGM}{MUS_EXEYE}$"
-Text_1995FA:: @ 81995FA
+CinnabarIsland_Gym_Text_BlaineDefeat:: @ 81995FA
.string "I have burned down to nothing!\n"
.string "Not even ashes remain!\p"
.string "You have earned the VOLCANOBADGE.$"
-gUnknown_8199652:: @ 8199652
+CinnabarIsland_Gym_Text_FireBlastIsUltimateFireMove:: @ 8199652
.string "FIRE BLAST is the ultimate fire\n"
.string "technique.\p"
.string "Don't waste it on WATER POKéMON.$"
-gUnknown_819969E:: @ 819969E
+CinnabarIsland_Gym_Text_ExplainVolcanoBadge:: @ 819969E
.string "Hah!\p"
.string "The VOLCANOBADGE heightens the\n"
.string "SPECIAL stats of your POKéMON.\p"
.string "Here, you can have this, too!$"
-gUnknown_81996FF:: @ 81996FF
+CinnabarIsland_Gym_Text_ReceivedTM38FromBlaine:: @ 81996FF
.string "{PLAYER} received TM38\n"
.string "from BLAINE.$"
-gUnknown_819971D:: @ 819971D
+CinnabarIsland_Gym_Text_BlainePostBattle:: @ 819971D
.string "TM38 contains FIRE BLAST.\n"
.string "Teach it to FIRE-type POKéMON.\p"
.string "VULPIX or CHARMELEON would be\n"
.string "ideal for that move.$"
-gUnknown_8199789:: @ 8199789
+CinnabarIsland_Gym_Text_MakeSpaceForThis:: @ 8199789
.string "Make space for this, child!$"
-Text_1997A5:: @ 81997A5
+CinnabarIsland_Gym_Text_ErikIntro:: @ 81997A5
.string "Do you know how hot POKéMON fire\n"
.string "breath can get?$"
-Text_1997D6:: @ 81997D6
+CinnabarIsland_Gym_Text_ErikDefeat:: @ 81997D6
.string "Yow!\n"
.string "Hot, hot, hot!$"
-gUnknown_81997EA:: @ 81997EA
+CinnabarIsland_Gym_Text_ErikPostBattle:: @ 81997EA
.string "Fire, or to be more precise,\n"
.string "combustion…\p"
.string "…Oxygen in the air…\n"
.string "Blah, blah, blah, blah…$"
-Text_19983F:: @ 819983F
-gUnknown_819983F:: @ 819983F
+CinnabarIsland_Gym_Text_QuinnIntro:: @ 819983F
.string "I was a thief, but I went straight\n"
.string "as a TRAINER.$"
-Text_199870:: @ 8199870
+CinnabarIsland_Gym_Text_QuinnDefeat:: @ 8199870
.string "I surrender!$"
-gUnknown_819987D:: @ 819987D
+CinnabarIsland_Gym_Text_QuinnPostBattle:: @ 819987D
.string "I get this uncontrollable urge to\n"
.string "steal other people's POKéMON.$"
-Text_1998BD:: @ 81998BD
-gUnknown_81998BD:: @ 81998BD
+CinnabarIsland_Gym_Text_AveryIntro:: @ 81998BD
.string "I've studied POKéMON thoroughly.\n"
.string "You can't win!$"
-Text_1998ED:: @ 81998ED
+CinnabarIsland_Gym_Text_AveryDefeat:: @ 81998ED
.string "Waah!\n"
.string "My studies were insufficient!$"
-gUnknown_8199911:: @ 8199911
+CinnabarIsland_Gym_Text_AveryPostBattle:: @ 8199911
.string "My theories are too complicated\n"
.string "for you to understand.$"
-Text_199948:: @ 8199948
-gUnknown_8199948:: @ 8199948
+CinnabarIsland_Gym_Text_RamonIntro:: @ 8199948
.string "I like using FIRE-type POKéMON.\n"
.string "I just do.$"
-Text_199973:: @ 8199973
+CinnabarIsland_Gym_Text_RamonDefeat:: @ 8199973
.string "Too hot to handle!$"
-gUnknown_8199986:: @ 8199986
+CinnabarIsland_Gym_Text_RamonPostBattle:: @ 8199986
.string "I wish there were a thief POKéMON.\n"
.string "I'd use that!$"
-Text_1999B7:: @ 81999B7
-gUnknown_81999B7:: @ 81999B7
+CinnabarIsland_Gym_Text_DerekIntro:: @ 81999B7
.string "I know why BLAINE became a\n"
.string "TRAINER.$"
-Text_1999DB:: @ 81999DB
+CinnabarIsland_Gym_Text_DerekDefeat:: @ 81999DB
.string "Ow!$"
-gUnknown_81999DF:: @ 81999DF
+CinnabarIsland_Gym_Text_DerekPostBattle:: @ 81999DF
.string "Our LEADER, BLAINE, became lost\n"
.string "in the mountains but good.\p"
.string "Night fell when a fiery bird\n"
@@ -104,33 +100,31 @@ gUnknown_81999DF:: @ 81999DF
.string "Its light allowed BLAINE to find\n"
.string "his way down safely.$"
-Text_199A7F:: @ 8199A7F
-gUnknown_8199A7F:: @ 8199A7F
+CinnabarIsland_Gym_Text_DustyIntro:: @ 8199A7F
.string "I've been to many GYMS, but this\n"
.string "one best suits my style.$"
-Text_199AB9:: @ 8199AB9
+CinnabarIsland_Gym_Text_DustyDefeat:: @ 8199AB9
.string "Yowza!\n"
.string "Too hot!$"
-gUnknown_8199AC9:: @ 8199AC9
+CinnabarIsland_Gym_Text_DustyPostBattle:: @ 8199AC9
.string "PONYTA, NINETALES…\n"
.string "Those are popular FIRE POKéMON.$"
-Text_199AFC:: @ 8199AFC
-gUnknown_8199AFC:: @ 8199AFC
+CinnabarIsland_Gym_Text_ZacIntro:: @ 8199AFC
.string "Fire is weak against H2O.$"
-Text_199B16:: @ 8199B16
+CinnabarIsland_Gym_Text_ZacDefeat:: @ 8199B16
.string "Oh!\n"
.string "Snuffed out!$"
-gUnknown_8199B27:: @ 8199B27
+CinnabarIsland_Gym_Text_ZacPostBattle:: @ 8199B27
.string "Water beats fire, of course.\p"
.string "But fire melts ice, so the FIRE\n"
.string "type beats ICE-type POKéMON.$"
-gUnknown_8199B81:: @ 8199B81
+CinnabarIsland_Gym_Text_GymGuyAdvice:: @ 8199B81
.string "Yo!\n"
.string "Champ in the making!\p"
.string "The hotheaded BLAINE is a FIRE\n"
@@ -139,23 +133,23 @@ gUnknown_8199B81:: @ 8199B81
.string "You'd better take some\n"
.string "BURN HEALS, too.$"
-gUnknown_8199C0C:: @ 8199C0C
+CinnabarIsland_Gym_Text_GymGuyPostVictory:: @ 8199C0C
.string "{PLAYER}!\n"
.string "You beat that firebrand!$"
-gUnknown_8199C29:: @ 8199C29
+CinnabarIsland_Gym_Text_GymStatue:: @ 8199C29
.string "CINNABAR POKéMON GYM\n"
.string "LEADER: BLAINE\p"
.string "WINNING TRAINERS:\n"
.string "{RIVAL}$"
-gUnknown_8199C62:: @ 8199C62
+CinnabarIsland_Gym_Text_GymStatuePlayerWon:: @ 8199C62
.string "CINNABAR POKéMON GYM\n"
.string "LEADER: BLAINE\p"
.string "WINNING TRAINERS:\n"
.string "{RIVAL}, {PLAYER}$"
-gUnknown_8199C9F:: @ 8199C9F
+CinnabarIsland_Gym_Text_PokemonQuizRules:: @ 8199C9F
.string "POKéMON Quiz!\p"
.string "Get it right, and the door opens to\n"
.string "the next room.\p"
@@ -165,32 +159,32 @@ gUnknown_8199C9F:: @ 8199C9F
.string "Then get it right!\n"
.string "Here we go!$"
-gUnknown_8199D5A:: @ 8199D5A
+CinnabarIsland_Gym_Text_QuizQuestion1:: @ 8199D5A
.string "CATERPIE evolves into METAPOD?$"
-gUnknown_8199D79:: @ 8199D79
+CinnabarIsland_Gym_Text_QuizQuestion2:: @ 8199D79
.string "There are nine certified POKéMON\n"
.string "LEAGUE BADGES?$"
-gUnknown_8199DA9:: @ 8199DA9
+CinnabarIsland_Gym_Text_QuizQuestion3:: @ 8199DA9
.string "POLIWAG evolves three times?$"
-gUnknown_8199DC6:: @ 8199DC6
+CinnabarIsland_Gym_Text_QuizQuestion4:: @ 8199DC6
.string "Are electric moves effective\n"
.string "against GROUND-type POKéMON?$"
-gUnknown_8199E00:: @ 8199E00
+CinnabarIsland_Gym_Text_QuizQuestion5:: @ 8199E00
.string "POKéMON of the same kind and level\n"
.string "are not identical?$"
-gUnknown_8199E36:: @ 8199E36
+CinnabarIsland_Gym_Text_QuizQuestion6:: @ 8199E36
.string "TM28 contains TOMBSTONY?$"
-gUnknown_8199E4F:: @ 8199E4F
+CinnabarIsland_Gym_Text_CorrectGoOnThrough:: @ 8199E4F
.string "You're absolutely correct!\p"
.string "Go on through!$"
-gUnknown_8199E79:: @ 8199E79
+CinnabarIsland_Gym_Text_SorryBadCall:: @ 8199E79
.string "Sorry!\n"
.string "Bad call!$"
diff --git a/data/maps/CinnabarIsland_Mart/map.json b/data/maps/CinnabarIsland_Mart/map.json
index d0233f91e..7970cf732 100644
--- a/data/maps/CinnabarIsland_Mart/map.json
+++ b/data/maps/CinnabarIsland_Mart/map.json
@@ -23,7 +23,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "CinnabarIsland_Mart_EventScript_16EA22",
+ "script": "CinnabarIsland_Mart_EventScript_Clerk",
"flag": "0"
},
{
@@ -36,7 +36,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "CinnabarIsland_Mart_EventScript_16EA10",
+ "script": "CinnabarIsland_Mart_EventScript_Woman",
"flag": "0"
},
{
@@ -49,7 +49,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "CinnabarIsland_Mart_EventScript_16EA19",
+ "script": "CinnabarIsland_Mart_EventScript_Scientist",
"flag": "0"
}
],
diff --git a/data/maps/CinnabarIsland_Mart/scripts.inc b/data/maps/CinnabarIsland_Mart/scripts.inc
index f5ecf68d8..29b52627b 100644
--- a/data/maps/CinnabarIsland_Mart/scripts.inc
+++ b/data/maps/CinnabarIsland_Mart/scripts.inc
@@ -1,27 +1,27 @@
CinnabarIsland_Mart_MapScripts:: @ 816EA0F
.byte 0
-CinnabarIsland_Mart_EventScript_16EA10:: @ 816EA10
- msgbox gUnknown_819A7A0, MSGBOX_NPC
+CinnabarIsland_Mart_EventScript_Woman:: @ 816EA10
+ msgbox CinnabarIsland_Mart_Text_DontTheyHaveXAttack, MSGBOX_NPC
end
-CinnabarIsland_Mart_EventScript_16EA19:: @ 816EA19
- msgbox gUnknown_819A7F1, MSGBOX_NPC
+CinnabarIsland_Mart_EventScript_Scientist:: @ 816EA19
+ msgbox CinnabarIsland_Mart_Text_ExtraItemsNeverHurt, MSGBOX_NPC
end
-CinnabarIsland_Mart_EventScript_16EA22:: @ 816EA22
+CinnabarIsland_Mart_EventScript_Clerk:: @ 816EA22
goto_if_questlog EventScript_ReleaseEnd
lock
faceplayer
message Text_MayIHelpYou
waitmessage
- pokemart Items_16EA48
+ pokemart CinnabarIsland_Mart_Items
msgbox Text_PleaseComeAgain
release
end
.align 2
-Items_16EA48:: @ 816EA48
+CinnabarIsland_Mart_Items:: @ 816EA48
.2byte ITEM_ULTRA_BALL
.2byte ITEM_GREAT_BALL
.2byte ITEM_HYPER_POTION
diff --git a/data/maps/CinnabarIsland_Mart/text.inc b/data/maps/CinnabarIsland_Mart/text.inc
index 189baff6a..30c36bf08 100644
--- a/data/maps/CinnabarIsland_Mart/text.inc
+++ b/data/maps/CinnabarIsland_Mart/text.inc
@@ -1,9 +1,9 @@
-gUnknown_819A7A0:: @ 819A7A0
+CinnabarIsland_Mart_Text_DontTheyHaveXAttack:: @ 819A7A0
.string "Don't they have X ATTACK?\p"
.string "I like it because it raises the\n"
.string "ATTACK stat in battle.$"
-gUnknown_819A7F1:: @ 819A7F1
+CinnabarIsland_Mart_Text_ExtraItemsNeverHurt:: @ 819A7F1
.string "It never hurts to have extra items.\n"
.string "You never know what might happen.$"
diff --git a/data/maps/CinnabarIsland_PokemonCenter_1F/map.json b/data/maps/CinnabarIsland_PokemonCenter_1F/map.json
index 45ed90320..5cc12ab94 100644
--- a/data/maps/CinnabarIsland_PokemonCenter_1F/map.json
+++ b/data/maps/CinnabarIsland_PokemonCenter_1F/map.json
@@ -23,7 +23,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "CinnabarIsland_PokemonCenter_1F_EventScript_16E8E6",
+ "script": "CinnabarIsland_PokemonCenter_1F_EventScript_Nurse",
"flag": "0"
},
{
@@ -36,7 +36,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "CinnabarIsland_PokemonCenter_1F_EventScript_16E8F8",
+ "script": "CinnabarIsland_PokemonCenter_1F_EventScript_CooltrainerF",
"flag": "0"
},
{
@@ -49,7 +49,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "CinnabarIsland_PokemonCenter_1F_EventScript_16E8EF",
+ "script": "CinnabarIsland_PokemonCenter_1F_EventScript_Gentleman",
"flag": "0"
},
{
@@ -62,7 +62,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "CinnabarIsland_PokemonCenter_1F_EventScript_16E901",
+ "script": "CinnabarIsland_PokemonCenter_1F_EventScript_Youngster",
"flag": "0"
},
{
@@ -75,7 +75,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "CinnabarIsland_PokemonCenter_1F_EventScript_1AD0B9",
+ "script": "CinnabarIsland_PokemonCenter_1F_EventScript_PokemonJournalMrFuji",
"flag": "FLAG_HIDE_POSTGAME_GOSSIPERS"
},
{
@@ -88,7 +88,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "CinnabarIsland_PokemonCenter_1F_EventScript_1AD0B9",
+ "script": "CinnabarIsland_PokemonCenter_1F_EventScript_PokemonJournalMrFuji",
"flag": "FLAG_HIDE_POSTGAME_GOSSIPERS"
},
{
@@ -101,7 +101,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "CinnabarIsland_PokemonCenter_1F_EventScript_16E90A",
+ "script": "CinnabarIsland_PokemonCenter_1F_EventScript_Bill",
"flag": "FLAG_HIDE_CINNABAR_POKECENTER_BILL"
}
],
diff --git a/data/maps/CinnabarIsland_PokemonCenter_1F/scripts.inc b/data/maps/CinnabarIsland_PokemonCenter_1F/scripts.inc
index 626263f76..c96169d1d 100644
--- a/data/maps/CinnabarIsland_PokemonCenter_1F/scripts.inc
+++ b/data/maps/CinnabarIsland_PokemonCenter_1F/scripts.inc
@@ -7,32 +7,32 @@ CinnabarIsland_PokemonCenter_1F_OnTransition:: @ 816E8E2
setrespawn SPAWN_CINNABAR_ISLAND
end
-CinnabarIsland_PokemonCenter_1F_EventScript_16E8E6:: @ 816E8E6
+CinnabarIsland_PokemonCenter_1F_EventScript_Nurse:: @ 816E8E6
lock
faceplayer
call EventScript_PkmnCenterNurse
release
end
-CinnabarIsland_PokemonCenter_1F_EventScript_16E8EF:: @ 816E8EF
- msgbox gUnknown_819A5BE, MSGBOX_NPC
+CinnabarIsland_PokemonCenter_1F_EventScript_Gentleman:: @ 816E8EF
+ msgbox CinnabarIsland_PokemonCenter_1F_Text_VisitUnionRoom, MSGBOX_NPC
end
-CinnabarIsland_PokemonCenter_1F_EventScript_16E8F8:: @ 816E8F8
- msgbox gUnknown_819A4F8, MSGBOX_NPC
+CinnabarIsland_PokemonCenter_1F_EventScript_CooltrainerF:: @ 816E8F8
+ msgbox CinnabarIsland_PokemonCenter_1F_Text_CinnabarGymLocked, MSGBOX_NPC
end
-CinnabarIsland_PokemonCenter_1F_EventScript_16E901:: @ 816E901
- msgbox gUnknown_819A6B1, MSGBOX_NPC
+CinnabarIsland_PokemonCenter_1F_EventScript_Youngster:: @ 816E901
+ msgbox CinnabarIsland_PokemonCenter_1F_Text_EvolutionCanWaitForNewMoves, MSGBOX_NPC
end
-CinnabarIsland_PokemonCenter_1F_EventScript_16E90A:: @ 816E90A
+CinnabarIsland_PokemonCenter_1F_EventScript_Bill:: @ 816E90A
lock
faceplayer
- msgbox gUnknown_819A725, MSGBOX_YESNO
+ msgbox CinnabarIsland_PokemonCenter_1F_Text_ReadyToSailToOneIsland, MSGBOX_YESNO
compare VAR_RESULT, NO
- goto_if_eq EventScript_16E9A5
- msgbox gUnknown_819A785
+ goto_if_eq CinnabarIsland_PokemonCenter_1F_EventScript_NotReadyToSail
+ msgbox CinnabarIsland_PokemonCenter_1F_Text_LetsGo
closemessage
playbgm MUS_ANNAI, 1
savebgm MUS_ANNAI
@@ -40,11 +40,11 @@ CinnabarIsland_PokemonCenter_1F_EventScript_16E90A:: @ 816E90A
setflag FLAG_HIDE_CINNABAR_POKECENTER_BILL
delay 20
compare VAR_FACING, DIR_SOUTH
- call_if_eq EventScript_16E96F
+ call_if_eq CinnabarIsland_PokemonCenter_1F_EventScript_ExitWithBillSouth
compare VAR_FACING, DIR_EAST
- call_if_eq EventScript_16E981
+ call_if_eq CinnabarIsland_PokemonCenter_1F_EventScript_ExitWithBillEast
compare VAR_FACING, DIR_WEST
- call_if_eq EventScript_16E993
+ call_if_eq CinnabarIsland_PokemonCenter_1F_EventScript_ExitWithBillWest
removeobject 7
setvar VAR_MAP_SCENE_CINNABAR_ISLAND_2, 1
clearflag FLAG_HIDE_CINNABAR_BILL
@@ -53,30 +53,30 @@ CinnabarIsland_PokemonCenter_1F_EventScript_16E90A:: @ 816E90A
release
end
-EventScript_16E96F:: @ 816E96F
- applymovement 7, Movement_16E9AF
- applymovement OBJ_EVENT_ID_PLAYER, Movement_16E9B9
+CinnabarIsland_PokemonCenter_1F_EventScript_ExitWithBillSouth:: @ 816E96F
+ applymovement 7, CinnabarIsland_PokemonCenter_1F_Movement_BillExit
+ applymovement OBJ_EVENT_ID_PLAYER, CinnabarIsland_PokemonCenter_1F_Movement_PlayerExitSouth
waitmovement 0
return
-EventScript_16E981:: @ 816E981
- applymovement 7, Movement_16E9C3
- applymovement OBJ_EVENT_ID_PLAYER, Movement_16E9CF
+CinnabarIsland_PokemonCenter_1F_EventScript_ExitWithBillEast:: @ 816E981
+ applymovement 7, CinnabarIsland_PokemonCenter_1F_Movement_BillExitEast
+ applymovement OBJ_EVENT_ID_PLAYER, CinnabarIsland_PokemonCenter_1F_Movement_PlayerExitEast
waitmovement 0
return
-EventScript_16E993:: @ 816E993
- applymovement 7, Movement_16E9AF
- applymovement OBJ_EVENT_ID_PLAYER, Movement_16E9DE
+CinnabarIsland_PokemonCenter_1F_EventScript_ExitWithBillWest:: @ 816E993
+ applymovement 7, CinnabarIsland_PokemonCenter_1F_Movement_BillExit
+ applymovement OBJ_EVENT_ID_PLAYER, CinnabarIsland_PokemonCenter_1F_Movement_PlayerExitWest
waitmovement 0
return
-EventScript_16E9A5:: @ 816E9A5
- msgbox gUnknown_819A766
+CinnabarIsland_PokemonCenter_1F_EventScript_NotReadyToSail:: @ 816E9A5
+ msgbox CinnabarIsland_PokemonCenter_1F_Text_OhNotDoneYet
release
end
-Movement_16E9AF:: @ 816E9AF
+CinnabarIsland_PokemonCenter_1F_Movement_BillExit:: @ 816E9AF
walk_left
walk_left
walk_left
@@ -88,7 +88,7 @@ Movement_16E9AF:: @ 816E9AF
set_invisible
step_end
-Movement_16E9B9:: @ 816E9B9
+CinnabarIsland_PokemonCenter_1F_Movement_PlayerExitSouth:: @ 816E9B9
walk_down
walk_left
walk_left
@@ -100,7 +100,7 @@ Movement_16E9B9:: @ 816E9B9
walk_down
step_end
-Movement_16E9C3:: @ 816E9C3
+CinnabarIsland_PokemonCenter_1F_Movement_BillExitEast:: @ 816E9C3
walk_up
walk_left
walk_left
@@ -114,7 +114,7 @@ Movement_16E9C3:: @ 816E9C3
set_invisible
step_end
-Movement_16E9CF:: @ 816E9CF
+CinnabarIsland_PokemonCenter_1F_Movement_PlayerExitEast:: @ 816E9CF
delay_16
delay_16
delay_16
@@ -131,7 +131,7 @@ Movement_16E9CF:: @ 816E9CF
set_invisible
step_end
-Movement_16E9DE:: @ 816E9DE
+CinnabarIsland_PokemonCenter_1F_Movement_PlayerExitWest:: @ 816E9DE
walk_left
walk_left
walk_left
diff --git a/data/maps/CinnabarIsland_PokemonCenter_1F/text.inc b/data/maps/CinnabarIsland_PokemonCenter_1F/text.inc
index c88fbbf28..74d2f1bc1 100644
--- a/data/maps/CinnabarIsland_PokemonCenter_1F/text.inc
+++ b/data/maps/CinnabarIsland_PokemonCenter_1F/text.inc
@@ -1,4 +1,4 @@
-gUnknown_819A4F8:: @ 819A4F8
+CinnabarIsland_PokemonCenter_1F_Text_CinnabarGymLocked:: @ 819A4F8
.string "I came to visit the CINNABAR GYM,\n"
.string "but the door is locked tight.\p"
.string "There should be a key for it\n"
@@ -8,7 +8,7 @@ gUnknown_819A4F8:: @ 819A4F8
.string "The GYM LEADER's friend used to\n"
.string "live there, they say.$"
-gUnknown_819A5BE:: @ 819A5BE
+CinnabarIsland_PokemonCenter_1F_Text_VisitUnionRoom:: @ 819A5BE
.string "Do you have lots of friends?\p"
.string "Linking up with the usual friends\n"
.string "is fun, of course.\p"
@@ -19,20 +19,20 @@ gUnknown_819A5BE:: @ 819A5BE
.string "I think it would be worth your time\n"
.string "to check the UNION ROOM.$"
-gUnknown_819A6B1:: @ 819A6B1
+CinnabarIsland_PokemonCenter_1F_Text_EvolutionCanWaitForNewMoves:: @ 819A6B1
.string "POKéMON can still learn techniques\n"
.string "after canceling evolution.\p"
.string "Evolution can wait until new moves\n"
.string "have been learned.$"
-gUnknown_819A725:: @ 819A725
+CinnabarIsland_PokemonCenter_1F_Text_ReadyToSailToOneIsland:: @ 819A725
.string "BILL: Hey, you kept me waiting!\n"
.string "Ready to set sail to ONE ISLAND?$"
-gUnknown_819A766:: @ 819A766
+CinnabarIsland_PokemonCenter_1F_Text_OhNotDoneYet:: @ 819A766
.string "Oh, you're still not done yet?$"
-gUnknown_819A785:: @ 819A785
+CinnabarIsland_PokemonCenter_1F_Text_LetsGo:: @ 819A785
.string "Well, that's it.\n"
.string "Let's go!$"
diff --git a/data/maps/CinnabarIsland_PokemonLab_Entrance/map.json b/data/maps/CinnabarIsland_PokemonLab_Entrance/map.json
index cb2aa4d61..20aa48378 100644
--- a/data/maps/CinnabarIsland_PokemonLab_Entrance/map.json
+++ b/data/maps/CinnabarIsland_PokemonLab_Entrance/map.json
@@ -23,7 +23,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "CinnabarIsland_PokemonLab_Entrance_EventScript_16E28B",
+ "script": "CinnabarIsland_PokemonLab_Entrance_EventScript_Scientist",
"flag": "0"
}
],
@@ -78,28 +78,28 @@
"x": 4,
"y": 1,
"elevation": 0,
- "script": "CinnabarIsland_PokemonLab_Entrance_EventScript_16E294"
+ "script": "CinnabarIsland_PokemonLab_Entrance_EventScript_DrFujiPhoto"
},
{
"type": "bg_event_type_0",
"x": 12,
"y": 5,
"elevation": 0,
- "script": "CinnabarIsland_PokemonLab_Entrance_EventScript_16E29D"
+ "script": "CinnabarIsland_PokemonLab_Entrance_EventScript_MeetingRoomSign"
},
{
"type": "bg_event_type_0",
"x": 18,
"y": 5,
"elevation": 0,
- "script": "CinnabarIsland_PokemonLab_Entrance_EventScript_16E2A6"
+ "script": "CinnabarIsland_PokemonLab_Entrance_EventScript_RAndDRoomSign"
},
{
"type": "bg_event_type_0",
"x": 24,
"y": 5,
"elevation": 0,
- "script": "CinnabarIsland_PokemonLab_Entrance_EventScript_16E2AF"
+ "script": "CinnabarIsland_PokemonLab_Entrance_EventScript_TestingRoomSign"
}
]
}
diff --git a/data/maps/CinnabarIsland_PokemonLab_Entrance/scripts.inc b/data/maps/CinnabarIsland_PokemonLab_Entrance/scripts.inc
index caf07f29d..8aea98ace 100644
--- a/data/maps/CinnabarIsland_PokemonLab_Entrance/scripts.inc
+++ b/data/maps/CinnabarIsland_PokemonLab_Entrance/scripts.inc
@@ -4,29 +4,29 @@ CinnabarIsland_PokemonLab_Entrance_MapScripts:: @ 816E273
CinnabarIsland_PokemonLab_Entrance_OnTransition:: @ 816E279
compare VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_REVIVE_STATE, 1
- call_if_eq EventScript_16E285
+ call_if_eq CinnabarIsland_PokemonLab_Entrance_EventScript_ReadyFossil
end
-EventScript_16E285:: @ 816E285
+CinnabarIsland_PokemonLab_Entrance_EventScript_ReadyFossil:: @ 816E285
setvar VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_REVIVE_STATE, 2
return
-CinnabarIsland_PokemonLab_Entrance_EventScript_16E28B:: @ 816E28B
- msgbox gUnknown_8199EE5, MSGBOX_NPC
+CinnabarIsland_PokemonLab_Entrance_EventScript_Scientist:: @ 816E28B
+ msgbox CinnabarIsland_PokemonLab_Entrance_Text_StudyMonsExtensively, MSGBOX_NPC
end
-CinnabarIsland_PokemonLab_Entrance_EventScript_16E294:: @ 816E294
- msgbox gUnknown_8199F41, MSGBOX_SIGN
+CinnabarIsland_PokemonLab_Entrance_EventScript_DrFujiPhoto:: @ 816E294
+ msgbox CinnabarIsland_PokemonLab_Entrance_Text_PhotoOfLabFounderDrFuji, MSGBOX_SIGN
end
-CinnabarIsland_PokemonLab_Entrance_EventScript_16E29D:: @ 816E29D
- msgbox gUnknown_8199F6A, MSGBOX_SIGN
+CinnabarIsland_PokemonLab_Entrance_EventScript_MeetingRoomSign:: @ 816E29D
+ msgbox CinnabarIsland_PokemonLab_Entrance_Text_MeetingRoomSign, MSGBOX_SIGN
end
-CinnabarIsland_PokemonLab_Entrance_EventScript_16E2A6:: @ 816E2A6
- msgbox gUnknown_8199F83, MSGBOX_SIGN
+CinnabarIsland_PokemonLab_Entrance_EventScript_RAndDRoomSign:: @ 816E2A6
+ msgbox CinnabarIsland_PokemonLab_Entrance_Text_RAndDRoomSign, MSGBOX_SIGN
end
-CinnabarIsland_PokemonLab_Entrance_EventScript_16E2AF:: @ 816E2AF
- msgbox gUnknown_8199F9A, MSGBOX_SIGN
+CinnabarIsland_PokemonLab_Entrance_EventScript_TestingRoomSign:: @ 816E2AF
+ msgbox CinnabarIsland_PokemonLab_Entrance_Text_TestingRoomSign, MSGBOX_SIGN
end
diff --git a/data/maps/CinnabarIsland_PokemonLab_Entrance/text.inc b/data/maps/CinnabarIsland_PokemonLab_Entrance/text.inc
index a14866bd4..2c51769bc 100644
--- a/data/maps/CinnabarIsland_PokemonLab_Entrance/text.inc
+++ b/data/maps/CinnabarIsland_PokemonLab_Entrance/text.inc
@@ -1,28 +1,28 @@
-Text_199E8A:: @ 8199E8A
+CinnabarIsland_Gym_Text_PhotoOfBlaineAndFuji:: @ 8199E8A
.string "It's a photo of BLAINE and\n"
.string "MR. FUJI.\p"
.string "They're standing shoulder to\n"
.string "shoulder with big grins.$"
-gUnknown_8199EE5:: @ 8199EE5
+CinnabarIsland_PokemonLab_Entrance_Text_StudyMonsExtensively:: @ 8199EE5
.string "We study POKéMON extensively\n"
.string "every day.\p"
.string "People often bring us rare POKéMON\n"
.string "for examination.$"
-gUnknown_8199F41:: @ 8199F41
+CinnabarIsland_PokemonLab_Entrance_Text_PhotoOfLabFounderDrFuji:: @ 8199F41
.string "A photo of the LAB's founder…\n"
.string "DR. FUJI?!$"
-gUnknown_8199F6A:: @ 8199F6A
+CinnabarIsland_PokemonLab_Entrance_Text_MeetingRoomSign:: @ 8199F6A
.string "POKéMON LAB\n"
.string "Meeting Room$"
-gUnknown_8199F83:: @ 8199F83
+CinnabarIsland_PokemonLab_Entrance_Text_RAndDRoomSign:: @ 8199F83
.string "POKéMON LAB\n"
.string "R & D Room$"
-gUnknown_8199F9A:: @ 8199F9A
+CinnabarIsland_PokemonLab_Entrance_Text_TestingRoomSign:: @ 8199F9A
.string "POKéMON LAB\n"
.string "Testing Room$"
diff --git a/data/maps/CinnabarIsland_PokemonLab_ExperimentRoom/map.json b/data/maps/CinnabarIsland_PokemonLab_ExperimentRoom/map.json
index 1a50f1208..2189361a9 100644
--- a/data/maps/CinnabarIsland_PokemonLab_ExperimentRoom/map.json
+++ b/data/maps/CinnabarIsland_PokemonLab_ExperimentRoom/map.json
@@ -23,7 +23,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_16E401",
+ "script": "CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_Garett",
"flag": "0"
},
{
@@ -36,7 +36,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_16E47D",
+ "script": "CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_FossilScientist",
"flag": "0"
}
],
diff --git a/data/maps/CinnabarIsland_PokemonLab_ExperimentRoom/scripts.inc b/data/maps/CinnabarIsland_PokemonLab_ExperimentRoom/scripts.inc
index dc1bd697a..08fe9acb8 100644
--- a/data/maps/CinnabarIsland_PokemonLab_ExperimentRoom/scripts.inc
+++ b/data/maps/CinnabarIsland_PokemonLab_ExperimentRoom/scripts.inc
@@ -1,309 +1,313 @@
+.equ HELIX_FOSSIL, 1
+.equ DOME_FOSSIL, 2
+.equ OLD_AMBER, 3
+
CinnabarIsland_PokemonLab_ExperimentRoom_MapScripts:: @ 816E400
.byte 0
-CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_16E401:: @ 816E401
+CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_Garett:: @ 816E401
lock
faceplayer
setvar VAR_0x8008, INGAME_TRADE_SEEL
call EventScript_GetInGameTradeSpeciesInfo
- goto_if_set FLAG_DID_SEELOR_TRADE, EventScript_16E473
- msgbox gUnknown_81A597B, MSGBOX_YESNO
+ goto_if_set FLAG_DID_SEELOR_TRADE, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_AlreadyTraded
+ msgbox Trade_Text_LookingForMonWannaTradeForMon, MSGBOX_YESNO
compare VAR_RESULT, NO
- goto_if_eq EventScript_16E45B
+ goto_if_eq CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DeclineTrade
call EventScript_ChooseMonForInGameTrade
compare VAR_0x8004, PARTY_SIZE
- goto_if_ge EventScript_16E45B
+ goto_if_ge CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DeclineTrade
call EventScript_GetInGameTradeSpecies
compare VAR_RESULT, VAR_0x8009
- goto_if_ne EventScript_16E465
+ goto_if_ne CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_NotRequestedMon
call EventScript_DoInGameTrade
- msgbox gUnknown_81A59DA
+ msgbox Trade_Text_HeyThanks
setflag FLAG_DID_SEELOR_TRADE
release
end
-EventScript_16E45B:: @ 816E45B
- msgbox gUnknown_81A59B6
+CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DeclineTrade:: @ 816E45B
+ msgbox Trade_Text_AwwOhWell
release
end
-EventScript_16E465:: @ 816E465
+CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_NotRequestedMon:: @ 816E465
getspeciesname 0, VAR_0x8009
- msgbox gUnknown_81A59C6
+ msgbox Trade_Text_WhatThatsNoMon
release
end
-EventScript_16E473:: @ 816E473
- msgbox gUnknown_81A59E7
+CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_AlreadyTraded:: @ 816E473
+ msgbox Trade_Text_IsntMyOldMonGreat
release
end
-CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_16E47D:: @ 816E47D
+CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_FossilScientist:: @ 816E47D
lock
faceplayer
- setvar VAR_RESULT, 0
- call_if_set FLAG_REVIVED_AMBER, EventScript_16E8A1
- compare VAR_RESULT, 1
- goto_if_eq EventScript_16E897
+ setvar VAR_RESULT, FALSE
+ call_if_set FLAG_REVIVED_AMBER, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_CheckRevivedMtMoonFossil
+ compare VAR_RESULT, TRUE
+ goto_if_eq CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_RevivedAllFossils
compare VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_REVIVE_STATE, 2
- goto_if_eq EventScript_16E736
+ goto_if_eq CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_GiveRevivedMon
compare VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_REVIVE_STATE, 1
- goto_if_eq EventScript_16E72C
- call EventScript_16E4EC
- compare VAR_RESULT, 1
- goto_if_eq EventScript_16E544
- call EventScript_16E504
- compare VAR_RESULT, 1
- goto_if_eq EventScript_16E586
- call EventScript_16E51C
- compare VAR_RESULT, 1
- goto_if_eq EventScript_16E5C8
- msgbox gUnknown_819A282
- goto EventScript_16E53A
+ goto_if_eq CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_FossilStillReviving
+ call CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_CheckAddHelixFossilToList
+ compare VAR_RESULT, TRUE
+ goto_if_eq CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ChooseFossilHelix
+ call CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_CheckAddDomeFossilToList
+ compare VAR_RESULT, TRUE
+ goto_if_eq CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ChooseFossilDome
+ call CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_CheckAddOldAmberToList
+ compare VAR_RESULT, TRUE
+ goto_if_eq CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ChooseFossilAmber
+ msgbox CinnabarIsland_PokemonLab_ExperimentRoom_Text_HaveYouAFossilForMe
+ goto CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DontShowFossil
end
-EventScript_16E4EC:: @ 816E4EC
- goto_if_unset FLAG_GOT_HELIX_FOSSIL, EventScript_16E534
- goto_if_set FLAG_REVIVED_HELIX, EventScript_16E534
- setvar VAR_RESULT, 1
+CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_CheckAddHelixFossilToList:: @ 816E4EC
+ goto_if_unset FLAG_GOT_HELIX_FOSSIL, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_SetResultFalse
+ goto_if_set FLAG_REVIVED_HELIX, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_SetResultFalse
+ setvar VAR_RESULT, TRUE
return
-EventScript_16E504:: @ 816E504
- goto_if_unset FLAG_GOT_DOME_FOSSIL, EventScript_16E534
- goto_if_set FLAG_REVIVED_DOME, EventScript_16E534
- setvar VAR_RESULT, 1
+CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_CheckAddDomeFossilToList:: @ 816E504
+ goto_if_unset FLAG_GOT_DOME_FOSSIL, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_SetResultFalse
+ goto_if_set FLAG_REVIVED_DOME, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_SetResultFalse
+ setvar VAR_RESULT, TRUE
return
-EventScript_16E51C:: @ 816E51C
- goto_if_unset FLAG_GOT_OLD_AMBER, EventScript_16E534
- goto_if_set FLAG_REVIVED_AMBER, EventScript_16E534
- setvar VAR_RESULT, 1
+CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_CheckAddOldAmberToList:: @ 816E51C
+ goto_if_unset FLAG_GOT_OLD_AMBER, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_SetResultFalse
+ goto_if_set FLAG_REVIVED_AMBER, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_SetResultFalse
+ setvar VAR_RESULT, TRUE
return
-EventScript_16E534:: @ 816E534
- setvar VAR_RESULT, 0
+CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_SetResultFalse:: @ 816E534
+ setvar VAR_RESULT, FALSE
return
-EventScript_16E53A:: @ 816E53A
- msgbox gUnknown_819A314
+CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DontShowFossil:: @ 816E53A
+ msgbox CinnabarIsland_PokemonLab_ExperimentRoom_Text_NoIsTooBad
release
end
-EventScript_16E544:: @ 816E544
- message Text_19A282
+CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ChooseFossilHelix:: @ 816E544
+ message CinnabarIsland_PokemonLab_ExperimentRoom_Text_HaveYouAFossilForMe
waitmessage
- call EventScript_16E51C
- compare VAR_RESULT, 1
- goto_if_eq EventScript_16E5FA
+ call CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_CheckAddOldAmberToList
+ compare VAR_RESULT, TRUE
+ goto_if_eq CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ChooseFossilHelixAmber
multichoice 0, 0, MULTICHOICE_HELIX, FALSE
switch VAR_RESULT
- case 0, EventScript_16E668
- case 1, EventScript_16E53A
- case 127, EventScript_16E53A
+ case 0, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ShowHelixFossil
+ case 1, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DontShowFossil
+ case 127, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DontShowFossil
end
-EventScript_16E586:: @ 816E586
- message Text_19A282
+CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ChooseFossilDome:: @ 816E586
+ message CinnabarIsland_PokemonLab_ExperimentRoom_Text_HaveYouAFossilForMe
waitmessage
- call EventScript_16E51C
- compare VAR_RESULT, 1
- goto_if_eq EventScript_16E631
+ call CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_CheckAddOldAmberToList
+ compare VAR_RESULT, TRUE
+ goto_if_eq CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ChooseFossilDomeAmber
multichoice 0, 0, MULTICHOICE_DOME, FALSE
switch VAR_RESULT
- case 0, EventScript_16E6A6
- case 1, EventScript_16E53A
- case 127, EventScript_16E53A
+ case 0, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ShowDomeFossil
+ case 1, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DontShowFossil
+ case 127, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DontShowFossil
end
-EventScript_16E5C8:: @ 816E5C8
- message Text_19A282
+CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ChooseFossilAmber:: @ 816E5C8
+ message CinnabarIsland_PokemonLab_ExperimentRoom_Text_HaveYouAFossilForMe
waitmessage
multichoice 0, 0, MULTICHOICE_AMBER, FALSE
switch VAR_RESULT
- case 0, EventScript_16E6E4
- case 1, EventScript_16E53A
- case 127, EventScript_16E53A
+ case 0, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ShowOldAmber
+ case 1, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DontShowFossil
+ case 127, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DontShowFossil
end
-EventScript_16E5FA:: @ 816E5FA
+CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ChooseFossilHelixAmber:: @ 816E5FA
multichoice 0, 0, MULTICHOICE_HELIX_AMBER, FALSE
switch VAR_RESULT
- case 0, EventScript_16E668
- case 1, EventScript_16E6E4
- case 2, EventScript_16E53A
- case 127, EventScript_16E53A
+ case 0, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ShowHelixFossil
+ case 1, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ShowOldAmber
+ case 2, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DontShowFossil
+ case 127, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DontShowFossil
end
-EventScript_16E631:: @ 816E631
+CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ChooseFossilDomeAmber:: @ 816E631
multichoice 0, 0, MULTICHOICE_DOME_AMBER, FALSE
switch VAR_RESULT
- case 0, EventScript_16E6A6
- case 1, EventScript_16E6E4
- case 2, EventScript_16E53A
- case 127, EventScript_16E53A
+ case 0, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ShowDomeFossil
+ case 1, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ShowOldAmber
+ case 2, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DontShowFossil
+ case 127, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DontShowFossil
end
-EventScript_16E668:: @ 816E668
+CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ShowHelixFossil:: @ 816E668
getspeciesname 0, SPECIES_OMANYTE
getitemname 1, ITEM_HELIX_FOSSIL
- msgbox gUnknown_819A3D4, MSGBOX_YESNO
+ msgbox CinnabarIsland_PokemonLab_ExperimentRoom_Text_ThatFossilIsOfMonMakeItLiveAgain, MSGBOX_YESNO
compare VAR_RESULT, NO
- goto_if_eq EventScript_16E722
- msgbox gUnknown_819A45D
+ goto_if_eq CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DeclineReviveFossil
+ msgbox CinnabarIsland_PokemonLab_ExperimentRoom_Text_HandedFossilToWeirdDoctor
textcolor 0
- removeitem ITEM_HELIX_FOSSIL, 1
- msgbox gUnknown_819A4AB
+ removeitem ITEM_HELIX_FOSSIL
+ msgbox CinnabarIsland_PokemonLab_ExperimentRoom_Text_TakesTimeGoForWalk
setvar VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_REVIVE_STATE, 1
- setvar VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_WHICH_FOSSIL, 1
+ setvar VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_WHICH_FOSSIL, HELIX_FOSSIL
release
end
-EventScript_16E6A6:: @ 816E6A6
+CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ShowDomeFossil:: @ 816E6A6
getspeciesname 0, SPECIES_KABUTO
getitemname 1, ITEM_DOME_FOSSIL
- msgbox gUnknown_819A3D4, MSGBOX_YESNO
+ msgbox CinnabarIsland_PokemonLab_ExperimentRoom_Text_ThatFossilIsOfMonMakeItLiveAgain, MSGBOX_YESNO
compare VAR_RESULT, NO
- goto_if_eq EventScript_16E722
- msgbox gUnknown_819A45D
+ goto_if_eq CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DeclineReviveFossil
+ msgbox CinnabarIsland_PokemonLab_ExperimentRoom_Text_HandedFossilToWeirdDoctor
textcolor 0
- removeitem ITEM_DOME_FOSSIL, 1
- msgbox gUnknown_819A4AB
+ removeitem ITEM_DOME_FOSSIL
+ msgbox CinnabarIsland_PokemonLab_ExperimentRoom_Text_TakesTimeGoForWalk
setvar VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_REVIVE_STATE, 1
- setvar VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_WHICH_FOSSIL, 2
+ setvar VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_WHICH_FOSSIL, DOME_FOSSIL
release
end
-EventScript_16E6E4:: @ 816E6E4
+CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_ShowOldAmber:: @ 816E6E4
getspeciesname 0, SPECIES_AERODACTYL
getitemname 1, ITEM_OLD_AMBER
- msgbox gUnknown_819A3D4, MSGBOX_YESNO
+ msgbox CinnabarIsland_PokemonLab_ExperimentRoom_Text_ThatFossilIsOfMonMakeItLiveAgain, MSGBOX_YESNO
compare VAR_RESULT, NO
- goto_if_eq EventScript_16E722
- msgbox gUnknown_819A45D
+ goto_if_eq CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DeclineReviveFossil
+ msgbox CinnabarIsland_PokemonLab_ExperimentRoom_Text_HandedFossilToWeirdDoctor
textcolor 0
- removeitem ITEM_OLD_AMBER, 1
- msgbox gUnknown_819A4AB
+ removeitem ITEM_OLD_AMBER
+ msgbox CinnabarIsland_PokemonLab_ExperimentRoom_Text_TakesTimeGoForWalk
setvar VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_REVIVE_STATE, 1
- setvar VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_WHICH_FOSSIL, 3
+ setvar VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_WHICH_FOSSIL, OLD_AMBER
release
end
-EventScript_16E722:: @ 816E722
- msgbox gUnknown_819A4E1
+CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_DeclineReviveFossil:: @ 816E722
+ msgbox CinnabarIsland_PokemonLab_ExperimentRoom_Text_YouComeAgain
release
end
-EventScript_16E72C:: @ 816E72C
- msgbox gUnknown_819A4AB
+CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_FossilStillReviving:: @ 816E72C
+ msgbox CinnabarIsland_PokemonLab_ExperimentRoom_Text_TakesTimeGoForWalk
release
end
-EventScript_16E736:: @ 816E736
- compare VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_WHICH_FOSSIL, 1
- goto_if_eq EventScript_16E758
- compare VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_WHICH_FOSSIL, 2
- goto_if_eq EventScript_16E79D
- compare VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_WHICH_FOSSIL, 3
- goto_if_eq EventScript_16E7E2
+CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_GiveRevivedMon:: @ 816E736
+ compare VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_WHICH_FOSSIL, HELIX_FOSSIL
+ goto_if_eq CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_GiveOmanyte
+ compare VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_WHICH_FOSSIL, DOME_FOSSIL
+ goto_if_eq CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_GiveKabuto
+ compare VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_WHICH_FOSSIL, OLD_AMBER
+ goto_if_eq CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_GiveAerodactyl
end
-EventScript_16E758:: @ 816E758
+CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_GiveOmanyte:: @ 816E758
setvar VAR_TEMP_1, SPECIES_OMANYTE
getspeciesname 0, SPECIES_OMANYTE
- msgbox gUnknown_819A34F
+ msgbox CinnabarIsland_PokemonLab_ExperimentRoom_Text_FossilMonBackToLife
givemon SPECIES_OMANYTE, 5, ITEM_NONE
compare VAR_RESULT, 2
- goto_if_eq EventScript_1A927C
+ goto_if_eq EventScript_NoMoreRoomForPokemon
setflag FLAG_REVIVED_HELIX
compare VAR_RESULT, 0
- goto_if_eq EventScript_16E827
+ goto_if_eq CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_NicknameMonParty
compare VAR_RESULT, 1
- goto_if_eq EventScript_16E85B
+ goto_if_eq CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_NicknameMonPC
end
-EventScript_16E79D:: @ 816E79D
+CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_GiveKabuto:: @ 816E79D
setvar VAR_TEMP_1, SPECIES_KABUTO
getspeciesname 0, SPECIES_KABUTO
- msgbox gUnknown_819A34F
+ msgbox CinnabarIsland_PokemonLab_ExperimentRoom_Text_FossilMonBackToLife
givemon SPECIES_KABUTO, 5, ITEM_NONE
compare VAR_RESULT, 2
- goto_if_eq EventScript_1A927C
+ goto_if_eq EventScript_NoMoreRoomForPokemon
setflag FLAG_REVIVED_DOME
compare VAR_RESULT, 0
- goto_if_eq EventScript_16E827
+ goto_if_eq CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_NicknameMonParty
compare VAR_RESULT, 1
- goto_if_eq EventScript_16E85B
+ goto_if_eq CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_NicknameMonPC
end
-EventScript_16E7E2:: @ 816E7E2
+CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_GiveAerodactyl:: @ 816E7E2
setvar VAR_TEMP_1, SPECIES_AERODACTYL
getspeciesname 0, SPECIES_AERODACTYL
- msgbox gUnknown_819A34F
+ msgbox CinnabarIsland_PokemonLab_ExperimentRoom_Text_FossilMonBackToLife
givemon SPECIES_AERODACTYL, 5, ITEM_NONE
compare VAR_RESULT, 2
- goto_if_eq EventScript_1A927C
+ goto_if_eq EventScript_NoMoreRoomForPokemon
setflag FLAG_REVIVED_AMBER
compare VAR_RESULT, 0
- goto_if_eq EventScript_16E827
+ goto_if_eq CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_NicknameMonParty
compare VAR_RESULT, 1
- goto_if_eq EventScript_16E85B
+ goto_if_eq CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_NicknameMonPC
end
-EventScript_16E827:: @ 816E827
+CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_NicknameMonParty:: @ 816E827
textcolor 3
playfanfare MUS_FANFA1
- message Text_19A39E
+ message CinnabarIsland_PokemonLab_ExperimentRoom_Text_ReceivedMonFromDoctor
waitmessage
waitfanfare
setvar VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_REVIVE_STATE, 0
- msgbox gUnknown_81A56A7, MSGBOX_YESNO
+ msgbox Text_GiveNicknameToThisMon, MSGBOX_YESNO
compare VAR_RESULT, NO
- goto_if_eq EventScript_16E895
- call EventScript_1A8C27
+ goto_if_eq CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_EndGiveMon
+ call EventScript_GetGiftMonPartySlot
call EventScript_ChangePokemonNickname
- goto EventScript_16E895
+ goto CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_EndGiveMon
end
-EventScript_16E85B:: @ 816E85B
+CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_NicknameMonPC:: @ 816E85B
textcolor 3
playfanfare MUS_FANFA1
- message Text_19A39E
+ message CinnabarIsland_PokemonLab_ExperimentRoom_Text_ReceivedMonFromDoctor
waitmessage
waitfanfare
setvar VAR_MAP_SCENE_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM_REVIVE_STATE, 0
- msgbox gUnknown_81A56A7, MSGBOX_YESNO
+ msgbox Text_GiveNicknameToThisMon, MSGBOX_YESNO
compare VAR_RESULT, NO
- goto_if_eq EventScript_16E88A
- call EventScript_1A8C33
- goto EventScript_16E88A
+ goto_if_eq CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_MonSentToPC
+ call EventScript_NameReceivedBoxMon
+ goto CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_MonSentToPC
end
-EventScript_16E88A:: @ 816E88A
- call EventScript_1A8C3C
- goto EventScript_16E895
+CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_MonSentToPC:: @ 816E88A
+ call EventScript_TransferredToPC
+ goto CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_EndGiveMon
end
-EventScript_16E895:: @ 816E895
+CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_EndGiveMon:: @ 816E895
release
end
-EventScript_16E897:: @ 816E897
- msgbox gUnknown_819A4E1
+CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_RevivedAllFossils:: @ 816E897
+ msgbox CinnabarIsland_PokemonLab_ExperimentRoom_Text_YouComeAgain
release
end
-EventScript_16E8A1:: @ 816E8A1
- goto_if_set FLAG_GOT_HELIX_FOSSIL, EventScript_16E8B9
- goto_if_set FLAG_GOT_DOME_FOSSIL, EventScript_16E8C8
- goto EventScript_16E534
+CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_CheckRevivedMtMoonFossil:: @ 816E8A1
+ goto_if_set FLAG_GOT_HELIX_FOSSIL, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_CheckRevivedHelix
+ goto_if_set FLAG_GOT_DOME_FOSSIL, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_CheckRevivedDome
+ goto CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_SetResultFalse
end
-EventScript_16E8B9:: @ 816E8B9
- goto_if_unset FLAG_REVIVED_HELIX, EventScript_16E534
- setvar VAR_RESULT, 1
+CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_CheckRevivedHelix:: @ 816E8B9
+ goto_if_unset FLAG_REVIVED_HELIX, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_SetResultFalse
+ setvar VAR_RESULT, TRUE
return
-EventScript_16E8C8:: @ 816E8C8
- goto_if_unset FLAG_REVIVED_DOME, EventScript_16E534
- setvar VAR_RESULT, 1
+CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_CheckRevivedDome:: @ 816E8C8
+ goto_if_unset FLAG_REVIVED_DOME, CinnabarIsland_PokemonLab_ExperimentRoom_EventScript_SetResultFalse
+ setvar VAR_RESULT, TRUE
return
diff --git a/data/maps/CinnabarIsland_PokemonLab_ExperimentRoom/text.inc b/data/maps/CinnabarIsland_PokemonLab_ExperimentRoom/text.inc
index 6b36fd1a3..9a19c16f7 100644
--- a/data/maps/CinnabarIsland_PokemonLab_ExperimentRoom/text.inc
+++ b/data/maps/CinnabarIsland_PokemonLab_ExperimentRoom/text.inc
@@ -19,8 +19,7 @@ Text_MetronomeTaught:: @ 819A20E
.string "It tweaks your POKéMON's brain into\n"
.string "using moves it doesn't even know.$"
-Text_19A282:: @ 819A282
-gUnknown_819A282:: @ 819A282
+CinnabarIsland_PokemonLab_ExperimentRoom_Text_HaveYouAFossilForMe:: @ 819A282
.string "Hiya!\p"
.string "I am important doctor.\n"
.string "Yes, very much so, indeed.\p"
@@ -29,29 +28,31 @@ gUnknown_819A282:: @ 819A282
.string "You!\n"
.string "Have you a fossil for me?$"
-gUnknown_819A314:: @ 819A314
+CinnabarIsland_PokemonLab_ExperimentRoom_Text_NoIsTooBad:: @ 819A314
.string "No!\n"
.string "Is too bad!$"
-Text_19A324:: @ 819A324
+@ Unused
+CinnabarIsland_PokemonLab_ExperimentRoom_Text_TakesTimeGoForWalkJP:: @ 819A324
.string "ちょっと じかん かかるよ!\p"
.string "そこらへんを すこし\n"
.string "ブラブラ してくると よろしー!$"
-gUnknown_819A34F:: @ 819A34F
+CinnabarIsland_PokemonLab_ExperimentRoom_Text_FossilMonBackToLife:: @ 819A34F
.string "You late.\n"
.string "Where were you?\p"
.string "Your fossil is back to life!\n"
.string "It was {STR_VAR_1} like I think!$"
-Text_19A39E:: @ 819A39E
+CinnabarIsland_PokemonLab_ExperimentRoom_Text_ReceivedMonFromDoctor:: @ 819A39E
.string "{PLAYER} received the {STR_VAR_1}\n"
.string "from the doctor.$"
-Text_19A3C2:: @ 819A3C2
+@ Unused
+CinnabarIsland_PokemonLab_ExperimentRoom_Text_NoRoomForPokemon:: @ 819A3C2
.string "ポケモン いっぱいで もてないね!$"
-gUnknown_819A3D4:: @ 819A3D4
+CinnabarIsland_PokemonLab_ExperimentRoom_Text_ThatFossilIsOfMonMakeItLiveAgain:: @ 819A3D4
.string "Oh!\n"
.string "That is {STR_VAR_2}, it is!\p"
.string "It is fossil of {STR_VAR_1},\n"
@@ -59,17 +60,18 @@ gUnknown_819A3D4:: @ 819A3D4
.string "My Resurrection Machine will make\n"
.string "that POKéMON live again!$"
-gUnknown_819A45D:: @ 819A45D
+@ TODO: Resolve text dump error below?
+CinnabarIsland_PokemonLab_ExperimentRoom_Text_HandedFossilToWeirdDoctor:: @ 819A45D
.string "So!\n"
.string "You hurry and give me that!\p"
.string "{SIZE}Á{PLAYER} handed over the\n"
.string "{STR_VAR_2} to the weird doctor.$"
-gUnknown_819A4AB:: @ 819A4AB
+CinnabarIsland_PokemonLab_ExperimentRoom_Text_TakesTimeGoForWalk:: @ 819A4AB
.string "I take a little time!\n"
.string "You go for walk a little while!$"
-gUnknown_819A4E1:: @ 819A4E1
+CinnabarIsland_PokemonLab_ExperimentRoom_Text_YouComeAgain:: @ 819A4E1
.string "Aiyah!\n"
.string "You come again!$"
diff --git a/data/maps/CinnabarIsland_PokemonLab_Lounge/map.json b/data/maps/CinnabarIsland_PokemonLab_Lounge/map.json
index fedab09af..5761ffe0c 100644
--- a/data/maps/CinnabarIsland_PokemonLab_Lounge/map.json
+++ b/data/maps/CinnabarIsland_PokemonLab_Lounge/map.json
@@ -23,7 +23,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "CinnabarIsland_PokemonLab_Lounge_EventScript_16E2B9",
+ "script": "CinnabarIsland_PokemonLab_Lounge_EventScript_Scientist",
"flag": "0"
},
{
@@ -36,7 +36,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "CinnabarIsland_PokemonLab_Lounge_EventScript_16E2C2",
+ "script": "CinnabarIsland_PokemonLab_Lounge_EventScript_Clifton",
"flag": "0"
},
{
@@ -49,7 +49,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "CinnabarIsland_PokemonLab_Lounge_EventScript_16E33E",
+ "script": "CinnabarIsland_PokemonLab_Lounge_EventScript_Norma",
"flag": "0"
}
],
diff --git a/data/maps/CinnabarIsland_PokemonLab_Lounge/scripts.inc b/data/maps/CinnabarIsland_PokemonLab_Lounge/scripts.inc
index 1282a3b38..bcf1f17c9 100644
--- a/data/maps/CinnabarIsland_PokemonLab_Lounge/scripts.inc
+++ b/data/maps/CinnabarIsland_PokemonLab_Lounge/scripts.inc
@@ -1,90 +1,90 @@
CinnabarIsland_PokemonLab_Lounge_MapScripts:: @ 816E2B8
.byte 0
-CinnabarIsland_PokemonLab_Lounge_EventScript_16E2B9:: @ 816E2B9
- msgbox gUnknown_8199FB3, MSGBOX_NPC
+CinnabarIsland_PokemonLab_Lounge_EventScript_Scientist:: @ 816E2B9
+ msgbox CinnabarIsland_PokemonLab_Lounge_Text_FoundFossilInMtMoon, MSGBOX_NPC
end
-CinnabarIsland_PokemonLab_Lounge_EventScript_16E2C2:: @ 816E2C2
+CinnabarIsland_PokemonLab_Lounge_EventScript_Clifton:: @ 816E2C2
lock
faceplayer
setvar VAR_0x8008, INGAME_TRADE_ELECTRODE
call EventScript_GetInGameTradeSpeciesInfo
- goto_if_set FLAG_DID_ESPHERE_TRADE, EventScript_16E334
+ goto_if_set FLAG_DID_ESPHERE_TRADE, CinnabarIsland_PokemonLab_Lounge_EventScript_CliftonAlreadyTraded
msgbox Trade_Text_DoYouHaveMonWouldYouTradeForMon, MSGBOX_YESNO
compare VAR_RESULT, NO
- goto_if_eq EventScript_16E31C
+ goto_if_eq CinnabarIsland_PokemonLab_Lounge_EventScript_CliftonDeclineTrade
call EventScript_ChooseMonForInGameTrade
compare VAR_0x8004, PARTY_SIZE
- goto_if_ge EventScript_16E31C
+ goto_if_ge CinnabarIsland_PokemonLab_Lounge_EventScript_CliftonDeclineTrade
call EventScript_GetInGameTradeSpecies
compare VAR_RESULT, VAR_0x8009
- goto_if_ne EventScript_16E326
+ goto_if_ne CinnabarIsland_PokemonLab_Lounge_EventScript_CliftonNotRequestedMon
call EventScript_DoInGameTrade
msgbox Trade_Text_Thanks
setflag FLAG_DID_ESPHERE_TRADE
release
end
-EventScript_16E31C:: @ 816E31C
+CinnabarIsland_PokemonLab_Lounge_EventScript_CliftonDeclineTrade:: @ 816E31C
msgbox Trade_Text_WellIfYouDontWantTo
release
end
-EventScript_16E326:: @ 816E326
+CinnabarIsland_PokemonLab_Lounge_EventScript_CliftonNotRequestedMon:: @ 816E326
getspeciesname 0, VAR_0x8009
msgbox Trade_Text_ThisIsntMon
release
end
-EventScript_16E334:: @ 816E334
+CinnabarIsland_PokemonLab_Lounge_EventScript_CliftonAlreadyTraded:: @ 816E334
msgbox Trade_Text_HasTradedMonGrownStronger
release
end
-CinnabarIsland_PokemonLab_Lounge_EventScript_16E33E:: @ 816E33E
+CinnabarIsland_PokemonLab_Lounge_EventScript_Norma:: @ 816E33E
lock
faceplayer
setvar VAR_0x8008, INGAME_TRADE_TANGELA
copyvar VAR_0x8004, VAR_0x8008
specialvar VAR_RESULT, GetInGameTradeSpeciesInfo
copyvar VAR_0x8009, VAR_RESULT
- goto_if_set FLAG_DID_TANGENY_TRADE, EventScript_16E3D4
- msgbox gUnknown_81A5AD6, MSGBOX_YESNO
+ goto_if_set FLAG_DID_TANGENY_TRADE, CinnabarIsland_PokemonLab_Lounge_EventScript_NormaAlreadyTraded
+ msgbox Trade_Text_DoYouHaveMonWantToTradeForMon, MSGBOX_YESNO
compare VAR_RESULT, NO
- goto_if_eq EventScript_16E3BC
+ goto_if_eq CinnabarIsland_PokemonLab_Lounge_EventScript_NormaDeclineTrade
special Special_ChooseMonFromParty
waitstate
copyvar VAR_0x800A, VAR_0x8004
compare VAR_0x8004, PARTY_SIZE
- goto_if_ge EventScript_16E3BC
+ goto_if_ge CinnabarIsland_PokemonLab_Lounge_EventScript_NormaDeclineTrade
copyvar VAR_0x8005, VAR_0x800A
specialvar VAR_RESULT, GetTradeSpecies
copyvar VAR_0x800B, VAR_RESULT
compare VAR_RESULT, VAR_0x8009
- goto_if_ne EventScript_16E3C6
+ goto_if_ne CinnabarIsland_PokemonLab_Lounge_EventScript_NormaNotRequestedMon
copyvar VAR_0x8004, VAR_0x8008
copyvar VAR_0x8005, VAR_0x800A
special CreateInGameTradePokemon
special DoInGameTradeScene
waitstate
- msgbox gUnknown_81A5B4A
+ msgbox Trade_Text_ThanksYoureAPal
setflag FLAG_DID_TANGENY_TRADE
release
end
-EventScript_16E3BC:: @ 816E3BC
- msgbox gUnknown_81A5B08
+CinnabarIsland_PokemonLab_Lounge_EventScript_NormaDeclineTrade:: @ 816E3BC
+ msgbox Trade_Text_ThatsTooBad
release
end
-EventScript_16E3C6:: @ 816E3C6
+CinnabarIsland_PokemonLab_Lounge_EventScript_NormaNotRequestedMon:: @ 816E3C6
getspeciesname 0, VAR_0x8009
- msgbox gUnknown_81A5B18
+ msgbox Trade_Text_ThisIsNoMon
release
end
-EventScript_16E3D4:: @ 816E3D4
- msgbox gUnknown_81A5B60
+CinnabarIsland_PokemonLab_Lounge_EventScript_NormaAlreadyTraded:: @ 816E3D4
+ msgbox Trade_Text_HowIsMyOldMon
release
end
diff --git a/data/maps/CinnabarIsland_PokemonLab_Lounge/text.inc b/data/maps/CinnabarIsland_PokemonLab_Lounge/text.inc
index 24d539c13..7ea854e1f 100644
--- a/data/maps/CinnabarIsland_PokemonLab_Lounge/text.inc
+++ b/data/maps/CinnabarIsland_PokemonLab_Lounge/text.inc
@@ -1,4 +1,4 @@
-gUnknown_8199FB3:: @ 8199FB3
+CinnabarIsland_PokemonLab_Lounge_Text_FoundFossilInMtMoon:: @ 8199FB3
.string "I found this most remarkable fossil\n"
.string "inside MT. MOON.\p"
.string "I think it's of a rare, prehistoric\n"
diff --git a/data/maps/CinnabarIsland_PokemonLab_ResearchRoom/map.json b/data/maps/CinnabarIsland_PokemonLab_ResearchRoom/map.json
index 247b09136..1464d0db7 100644
--- a/data/maps/CinnabarIsland_PokemonLab_ResearchRoom/map.json
+++ b/data/maps/CinnabarIsland_PokemonLab_ResearchRoom/map.json
@@ -36,7 +36,7 @@
"movement_range_y": 1,
"trainer_type": 0,
"trainer_sight_or_berry_tree_id": 0,
- "script": "CinnabarIsland_PokemonLab_ResearchRoom_EventScript_16E3E5",
+ "script": "CinnabarIsland_PokemonLab_ResearchRoom_EventScript_Scientist",
"flag": "0"
}
],
@@ -56,14 +56,14 @@
"x": 6,
"y": 1,
"elevation": 0,
- "script": "CinnabarIsland_PokemonLab_ResearchRoom_EventScript_16E3F7"
+ "script": "CinnabarIsland_PokemonLab_ResearchRoom_EventScript_AmberPipe"
},
{
"type": "bg_event_type_0",
"x": 3,
"y": 1,
"elevation": 0,
- "script": "CinnabarIsland_PokemonLab_ResearchRoom_EventScript_16E3EE"
+ "script": "CinnabarIsland_PokemonLab_ResearchRoom_EventScript_Computer"
}
]
}
diff --git a/data/maps/CinnabarIsland_PokemonLab_ResearchRoom/scripts.inc b/data/maps/CinnabarIsland_PokemonLab_ResearchRoom/scripts.inc
index 3dcd07733..1619d9df3 100644
--- a/data/maps/CinnabarIsland_PokemonLab_ResearchRoom/scripts.inc
+++ b/data/maps/CinnabarIsland_PokemonLab_ResearchRoom/scripts.inc
@@ -5,14 +5,14 @@ CinnabarIsland_PokemonLab_ResearchRoom_EventScript_MetronomeTutor:: @ 816E3DF
goto EventScript_MetronomeTutor
end
-CinnabarIsland_PokemonLab_ResearchRoom_EventScript_16E3E5:: @ 816E3E5
- msgbox gUnknown_819A015, MSGBOX_NPC
+CinnabarIsland_PokemonLab_ResearchRoom_EventScript_Scientist:: @ 816E3E5
+ msgbox CinnabarIsland_PokemonLab_ResearchRoom_Text_EeveeCanEvolveIntroThreeMons, MSGBOX_NPC
end
-CinnabarIsland_PokemonLab_ResearchRoom_EventScript_16E3EE:: @ 816E3EE
- msgbox gUnknown_819A04A, MSGBOX_SIGN
+CinnabarIsland_PokemonLab_ResearchRoom_EventScript_Computer:: @ 816E3EE
+ msgbox CinnabarIsland_PokemonLab_ResearchRoom_Text_LegendaryBirdEmail, MSGBOX_SIGN
end
-CinnabarIsland_PokemonLab_ResearchRoom_EventScript_16E3F7:: @ 816E3F7
- msgbox gUnknown_819A128, MSGBOX_SIGN
+CinnabarIsland_PokemonLab_ResearchRoom_EventScript_AmberPipe:: @ 816E3F7
+ msgbox CinnabarIsland_PokemonLab_ResearchRoom_Text_AnAmberPipe, MSGBOX_SIGN
end
diff --git a/data/maps/CinnabarIsland_PokemonLab_ResearchRoom/text.inc b/data/maps/CinnabarIsland_PokemonLab_ResearchRoom/text.inc
index e3343e8e3..bdfd1f95c 100644
--- a/data/maps/CinnabarIsland_PokemonLab_ResearchRoom/text.inc
+++ b/data/maps/CinnabarIsland_PokemonLab_ResearchRoom/text.inc
@@ -1,8 +1,8 @@
-gUnknown_819A015:: @ 819A015
+CinnabarIsland_PokemonLab_ResearchRoom_Text_EeveeCanEvolveIntroThreeMons:: @ 819A015
.string "EEVEE can evolve into one of three\n"
.string "kinds of POKéMON.$"
-gUnknown_819A04A:: @ 819A04A
+CinnabarIsland_PokemonLab_ResearchRoom_Text_LegendaryBirdEmail:: @ 819A04A
.string "There's an e-mail message.\p"
.string "… … …\p"
.string "There are three legendary bird\n"
@@ -14,6 +14,6 @@ gUnknown_819A04A:: @ 819A04A
.string "close to CERULEAN.\p"
.string "From: POKéMON RESEARCH TEAM…$"
-gUnknown_819A128:: @ 819A128
+CinnabarIsland_PokemonLab_ResearchRoom_Text_AnAmberPipe:: @ 819A128
.string "An amber pipe!$"
diff --git a/data/maps/PalletTown_ProfessorOaksLab/scripts.inc b/data/maps/PalletTown_ProfessorOaksLab/scripts.inc
index 5694157cc..d28125f72 100644
--- a/data/maps/PalletTown_ProfessorOaksLab/scripts.inc
+++ b/data/maps/PalletTown_ProfessorOaksLab/scripts.inc
@@ -1206,7 +1206,7 @@ EventScript_ThisPokeIsRealyEnergetic:: @ 8169C74
waitmessage
playfanfare MUS_FAN5
waitfanfare
- msgbox gUnknown_81A56A7, MSGBOX_YESNO
+ msgbox Text_GiveNicknameToThisMon, MSGBOX_YESNO
compare VAR_RESULT, YES
goto_if_eq EventScript_GiveNicknameToStarter
compare VAR_RESULT, NO
diff --git a/data/maps/Route11_EastEntrance_2F/scripts.inc b/data/maps/Route11_EastEntrance_2F/scripts.inc
index 93a059d12..68b520e47 100644
--- a/data/maps/Route11_EastEntrance_2F/scripts.inc
+++ b/data/maps/Route11_EastEntrance_2F/scripts.inc
@@ -23,7 +23,7 @@ Route11_EastEntrance_2F_EventScript_16FD5C:: @ 816FD5C
setvar VAR_0x8008, INGAME_TRADE_NIDORINOA
call EventScript_GetInGameTradeSpeciesInfo
goto_if_set FLAG_DID_NINA_TRADE, EventScript_16FDCE
- msgbox gUnknown_81A597B, MSGBOX_YESNO
+ msgbox Trade_Text_LookingForMonWannaTradeForMon, MSGBOX_YESNO
compare VAR_RESULT, NO
goto_if_eq EventScript_16FDB6
call EventScript_ChooseMonForInGameTrade
@@ -33,24 +33,24 @@ Route11_EastEntrance_2F_EventScript_16FD5C:: @ 816FD5C
compare VAR_RESULT, VAR_0x8009
goto_if_ne EventScript_16FDC0
call EventScript_DoInGameTrade
- msgbox gUnknown_81A59DA
+ msgbox Trade_Text_HeyThanks
setflag FLAG_DID_NINA_TRADE
release
end
EventScript_16FDB6:: @ 816FDB6
- msgbox gUnknown_81A59B6
+ msgbox Trade_Text_AwwOhWell
release
end
EventScript_16FDC0:: @ 816FDC0
getspeciesname 0, VAR_0x8009
- msgbox gUnknown_81A59C6
+ msgbox Trade_Text_WhatThatsNoMon
release
end
EventScript_16FDCE:: @ 816FDCE
- msgbox gUnknown_81A59E7
+ msgbox Trade_Text_IsntMyOldMonGreat
release
end
diff --git a/data/maps/Route18_EastEntrance_2F/scripts.inc b/data/maps/Route18_EastEntrance_2F/scripts.inc
index 483aba832..ed29859ab 100644
--- a/data/maps/Route18_EastEntrance_2F/scripts.inc
+++ b/data/maps/Route18_EastEntrance_2F/scripts.inc
@@ -15,7 +15,7 @@ Route18_EastEntrance_2F_EventScript_17047E:: @ 817047E
setvar VAR_0x8008, INGAME_TRADE_LICKITUNG
call EventScript_GetInGameTradeSpeciesInfo
goto_if_set FLAG_DID_MARC_TRADE, EventScript_1704F0
- msgbox gUnknown_81A597B, MSGBOX_YESNO
+ msgbox Trade_Text_LookingForMonWannaTradeForMon, MSGBOX_YESNO
compare VAR_RESULT, NO
goto_if_eq EventScript_1704D8
call EventScript_ChooseMonForInGameTrade
@@ -25,23 +25,23 @@ Route18_EastEntrance_2F_EventScript_17047E:: @ 817047E
compare VAR_RESULT, VAR_0x8009
goto_if_ne EventScript_1704E2
call EventScript_DoInGameTrade
- msgbox gUnknown_81A59DA
+ msgbox Trade_Text_HeyThanks
setflag FLAG_DID_MARC_TRADE
release
end
EventScript_1704D8:: @ 81704D8
- msgbox gUnknown_81A59B6
+ msgbox Trade_Text_AwwOhWell
release
end
EventScript_1704E2:: @ 81704E2
getspeciesname 0, VAR_0x8009
- msgbox gUnknown_81A59C6
+ msgbox Trade_Text_WhatThatsNoMon
release
end
EventScript_1704F0:: @ 81704F0
- msgbox gUnknown_81A59E7
+ msgbox Trade_Text_IsntMyOldMonGreat
release
end
diff --git a/data/maps/Route2_House/scripts.inc b/data/maps/Route2_House/scripts.inc
index 641689dff..2cdc2d8ec 100644
--- a/data/maps/Route2_House/scripts.inc
+++ b/data/maps/Route2_House/scripts.inc
@@ -11,7 +11,7 @@ Route2_House_EventScript_16F602:: @ 816F602
setvar VAR_0x8008, INGAME_TRADE_MR_MIME
call EventScript_GetInGameTradeSpeciesInfo
goto_if_set FLAG_DID_MIMIEN_TRADE, EventScript_16F674
- msgbox gUnknown_81A597B, MSGBOX_YESNO
+ msgbox Trade_Text_LookingForMonWannaTradeForMon, MSGBOX_YESNO
compare VAR_RESULT, NO
goto_if_eq EventScript_16F65C
call EventScript_ChooseMonForInGameTrade
@@ -21,23 +21,23 @@ Route2_House_EventScript_16F602:: @ 816F602
compare VAR_RESULT, VAR_0x8009
goto_if_ne EventScript_16F666
call EventScript_DoInGameTrade
- msgbox gUnknown_81A59DA
+ msgbox Trade_Text_HeyThanks
setflag FLAG_DID_MIMIEN_TRADE
release
end
EventScript_16F65C:: @ 816F65C
- msgbox gUnknown_81A59B6
+ msgbox Trade_Text_AwwOhWell
release
end
EventScript_16F666:: @ 816F666
getspeciesname 0, VAR_0x8009
- msgbox gUnknown_81A59C6
+ msgbox Trade_Text_WhatThatsNoMon
release
end
EventScript_16F674:: @ 816F674
- msgbox gUnknown_81A59E7
+ msgbox Trade_Text_IsntMyOldMonGreat
release
end
diff --git a/data/maps/Route4_PokemonCenter_1F/scripts.inc b/data/maps/Route4_PokemonCenter_1F/scripts.inc
index 0f310b07d..ca2c5f611 100644
--- a/data/maps/Route4_PokemonCenter_1F/scripts.inc
+++ b/data/maps/Route4_PokemonCenter_1F/scripts.inc
@@ -59,10 +59,10 @@ EventScript_16F7A2:: @ 816F7A2
EventScript_16F7F6:: @ 816F7F6
call EventScript_16F86F
- msgbox gUnknown_81A56A7, MSGBOX_YESNO
+ msgbox Text_GiveNicknameToThisMon, MSGBOX_YESNO
compare VAR_RESULT, NO
goto_if_eq EventScript_16F861
- call EventScript_1A8C27
+ call EventScript_GetGiftMonPartySlot
fadescreen FADE_TO_BLACK
hidemoneybox 0, 0
special ChangePokemonNickname
@@ -72,7 +72,7 @@ EventScript_16F7F6:: @ 816F7F6
EventScript_16F822:: @ 816F822
call EventScript_16F86F
- msgbox gUnknown_81A56A7, MSGBOX_YESNO
+ msgbox Text_GiveNicknameToThisMon, MSGBOX_YESNO
compare VAR_RESULT, NO
goto_if_eq EventScript_16F84B
fadescreen FADE_TO_BLACK
@@ -85,12 +85,12 @@ EventScript_16F822:: @ 816F822
end
EventScript_16F84B:: @ 816F84B
- call EventScript_1A8C3C
+ call EventScript_TransferredToPC
goto EventScript_16F861
end
EventScript_16F856:: @ 816F856
- call EventScript_1A8C3C
+ call EventScript_TransferredToPC
goto EventScript_16F86A
end
diff --git a/data/maps/SaffronCity_Dojo/scripts.inc b/data/maps/SaffronCity_Dojo/scripts.inc
index 7a061860a..d5c3e6603 100644
--- a/data/maps/SaffronCity_Dojo/scripts.inc
+++ b/data/maps/SaffronCity_Dojo/scripts.inc
@@ -64,7 +64,7 @@ EventScript_16EC82:: @ 816EC82
compare VAR_RESULT, 1
goto_if_eq EventScript_16ECEC
compare VAR_RESULT, 2
- goto_if_eq EventScript_1A927C
+ goto_if_eq EventScript_NoMoreRoomForPokemon
release
end
@@ -76,10 +76,10 @@ EventScript_16ECB5:: @ 816ECB5
waitmessage
waitfanfare
setflag FLAG_GOT_HITMON_FROM_DOJO
- msgbox gUnknown_81A56A7, MSGBOX_YESNO
+ msgbox Text_GiveNicknameToThisMon, MSGBOX_YESNO
compare VAR_RESULT, NO
goto_if_eq EventScript_16ED29
- call EventScript_1A8C27
+ call EventScript_GetGiftMonPartySlot
call EventScript_ChangePokemonNickname
goto EventScript_16ED29
end
@@ -92,15 +92,15 @@ EventScript_16ECEC:: @ 816ECEC
waitmessage
waitfanfare
setflag FLAG_GOT_HITMON_FROM_DOJO
- msgbox gUnknown_81A56A7, MSGBOX_YESNO
+ msgbox Text_GiveNicknameToThisMon, MSGBOX_YESNO
compare VAR_RESULT, NO
goto_if_eq EventScript_16ED1E
- call EventScript_1A8C33
+ call EventScript_NameReceivedBoxMon
goto EventScript_16ED1E
end
EventScript_16ED1E:: @ 816ED1E
- call EventScript_1A8C3C
+ call EventScript_TransferredToPC
goto EventScript_16ED29
end
diff --git a/data/maps/SilphCo_7F/scripts.inc b/data/maps/SilphCo_7F/scripts.inc
index 19012f0e4..9ca4f31ec 100644
--- a/data/maps/SilphCo_7F/scripts.inc
+++ b/data/maps/SilphCo_7F/scripts.inc
@@ -136,7 +136,7 @@ SilphCo_7F_EventScript_161AC8:: @ 8161AC8
compare VAR_RESULT, 1
goto_if_eq EventScript_161B45
compare VAR_RESULT, 2
- goto_if_eq EventScript_1A927C
+ goto_if_eq EventScript_NoMoreRoomForPokemon
release
end
@@ -147,10 +147,10 @@ EventScript_161B12:: @ 8161B12
waitmessage
waitfanfare
getspeciesname 0, SPECIES_LAPRAS
- msgbox gUnknown_81A56A7, MSGBOX_YESNO
+ msgbox Text_GiveNicknameToThisMon, MSGBOX_YESNO
compare VAR_RESULT, NO
goto_if_eq EventScript_161B7E
- call EventScript_1A8C27
+ call EventScript_GetGiftMonPartySlot
call EventScript_ChangePokemonNickname
goto EventScript_161B7E
@@ -164,17 +164,17 @@ EventScript_161B45:: @ 8161B45
waitmessage
waitfanfare
getspeciesname 0, SPECIES_LAPRAS
- msgbox gUnknown_81A56A7, MSGBOX_YESNO
+ msgbox Text_GiveNicknameToThisMon, MSGBOX_YESNO
compare VAR_RESULT, NO
goto_if_eq EventScript_161B73
- call EventScript_1A8C33
+ call EventScript_NameReceivedBoxMon
goto EventScript_161B73
EventScript_161B72:: @ 8161B72
end
EventScript_161B73:: @ 8161B73
- call EventScript_1A8C3C
+ call EventScript_TransferredToPC
goto EventScript_161B7E
EventScript_161B7D:: @ 8161B7D
diff --git a/data/maps/UndergroundPath_NorthEntrance/scripts.inc b/data/maps/UndergroundPath_NorthEntrance/scripts.inc
index 70a690828..b34ef1e59 100644
--- a/data/maps/UndergroundPath_NorthEntrance/scripts.inc
+++ b/data/maps/UndergroundPath_NorthEntrance/scripts.inc
@@ -7,7 +7,7 @@ UndergroundPath_NorthEntrance_EventScript_Saige:: @ 8160E39
setvar VAR_0x8008, INGAME_TRADE_NIDORAN
call EventScript_GetInGameTradeSpeciesInfo
goto_if_set FLAG_DID_MS_NIDO_TRADE, UndergroundPath_NorthEntrance_EventScript_AlreadyTraded
- msgbox gUnknown_81A5AD6, MSGBOX_YESNO
+ msgbox Trade_Text_DoYouHaveMonWantToTradeForMon, MSGBOX_YESNO
compare VAR_RESULT, NO
goto_if_eq UndergroundPath_NorthEntrance_EventScript_DeclineTrade
call EventScript_ChooseMonForInGameTrade
@@ -17,23 +17,23 @@ UndergroundPath_NorthEntrance_EventScript_Saige:: @ 8160E39
compare VAR_RESULT, VAR_0x8009
goto_if_ne UndergroundPath_NorthEntrance_EventScript_NotRequestedMon
call EventScript_DoInGameTrade
- msgbox gUnknown_81A5B4A
+ msgbox Trade_Text_ThanksYoureAPal
setflag FLAG_DID_MS_NIDO_TRADE
release
end
UndergroundPath_NorthEntrance_EventScript_DeclineTrade:: @ 8160E93
- msgbox gUnknown_81A5B08
+ msgbox Trade_Text_ThatsTooBad
release
end
UndergroundPath_NorthEntrance_EventScript_NotRequestedMon:: @ 8160E9D
getspeciesname 0, VAR_0x8009
- msgbox gUnknown_81A5B18
+ msgbox Trade_Text_ThisIsNoMon
release
end
UndergroundPath_NorthEntrance_EventScript_AlreadyTraded:: @ 8160EAB
- msgbox gUnknown_81A5B60
+ msgbox Trade_Text_HowIsMyOldMon
release
end
diff --git a/data/naming_screen.s b/data/naming_screen.s
index 121d05c88..b7d348165 100644
--- a/data/naming_screen.s
+++ b/data/naming_screen.s
@@ -16,10 +16,10 @@ gUnknown_83E1980:: @ 83E1980
.incbin "graphics/interface/naming_screen_83E1980.4bpp"
gUnknown_83E2280:: @ 83E2280
- .4byte Text_1A5CF1
- .4byte Text_1A5D31
- .4byte Text_1A5D6E
- .4byte Text_1A5DB1
+ .4byte Text_MonSentToBoxInSomeonesPC
+ .4byte Text_MonSentToBoxInBillsPC
+ .4byte Text_MonSentToBoxSomeonesBoxFull
+ .4byte Text_MonSentToBoxBillsBoxFull
gUnknown_83E2290:: @ 83E2290
.4byte 0x000001e0
diff --git a/data/scripts/fame_checker.inc b/data/scripts/fame_checker.inc
index b9cbcac8c..6fe5607dd 100644
--- a/data/scripts/fame_checker.inc
+++ b/data/scripts/fame_checker.inc
@@ -127,11 +127,11 @@ SaffronCity_PokemonCenter_1F_EventScript_1ACEEC:: @ 81ACEEC
release
end
-CinnabarIsland_Gym_EventScript_1ACF07:: @ 81ACF07
+CinnabarIsland_Gym_EventScript_BlaineFujiPhoto:: @ 81ACF07
lockall
famechecker FAMECHECKER_BLAINE, 4
famechecker FAMECHECKER_MRFUJI, 4
- msgbox Text_199E8A
+ msgbox CinnabarIsland_Gym_Text_PhotoOfBlaineAndFuji
releaseall
end
@@ -260,12 +260,12 @@ LavenderTown_PokemonCenter_1F_EventScript_BaldingMan:: @ 81AD0A0
release
end
-CinnabarIsland_PokemonCenter_1F_EventScript_1AD0B9:: @ 81AD0B9
+CinnabarIsland_PokemonCenter_1F_EventScript_PokemonJournalMrFuji:: @ 81AD0B9
lock
faceplayer
famechecker FAMECHECKER_MRFUJI, 5
textcolor 3
- msgbox gUnknown_81B1BD1
+ msgbox PokemonJournal_Text_SpecialFeatureMrFuji
release
end
diff --git a/data/scripts/pc_transfer.inc b/data/scripts/pc_transfer.inc
new file mode 100644
index 000000000..c04c2d0cd
--- /dev/null
+++ b/data/scripts/pc_transfer.inc
@@ -0,0 +1,46 @@
+EventScript_GetGiftMonPartySlot:: @ 81A8C27
+ getpartysize
+ subvar VAR_RESULT, 1
+ copyvar VAR_0x8004, VAR_RESULT
+ return
+
+EventScript_NameReceivedBoxMon:: @ 81A8C33
+ fadescreen FADE_TO_BLACK
+ special ChangeBoxPokemonNickname
+ waitstate
+ lock
+ faceplayer
+ return
+
+EventScript_TransferredToPC:: @ 81A8C3C
+ bufferboxname 0, VAR_PC_BOX_TO_SEND_MON
+ getspeciesname 1, VAR_TEMP_1
+ call_if_unset FLAG_SYS_NOT_SOMEONES_PC, EventScript_TransferredSomeonesPC
+ call_if_set FLAG_SYS_NOT_SOMEONES_PC, EventScript_TransferredBillsPC
+ return
+
+EventScript_TransferredSomeonesPC:: @ 81A8C57
+ specialvar VAR_RESULT, ShouldShowBoxWasFullMessage
+ compare VAR_RESULT, TRUE
+ goto_if_eq EventScript_TransferredSomeonesPCBoxFull
+ msgbox Text_MonSentToBoxInSomeonesPC
+ return
+
+EventScript_TransferredSomeonesPCBoxFull:: @ 81A8C70
+ specialvar VAR_RESULT, GetPCBoxToSendMon
+ bufferboxname 2, VAR_RESULT
+ msgbox Text_MonSentToBoxSomeonesBoxFull
+ return
+
+EventScript_TransferredBillsPC:: @ 81A8C82
+ specialvar VAR_RESULT, ShouldShowBoxWasFullMessage
+ compare VAR_RESULT, TRUE
+ goto_if_eq EventScript_TransferredBillsPCBoxFull
+ msgbox Text_MonSentToBoxInBillsPC
+ return
+
+EventScript_TransferredBillsPCBoxFull:: @ 81A8C9B
+ specialvar VAR_RESULT, GetPCBoxToSendMon
+ bufferboxname 2, VAR_RESULT
+ msgbox Text_MonSentToBoxBillsBoxFull
+ return
diff --git a/data/strings.s b/data/strings.s
index d25e28e94..e77730429 100644
--- a/data/strings.s
+++ b/data/strings.s
@@ -4598,14 +4598,14 @@ gText_WhichMoveShouldBeForgotten:: @ 841E50C
gUnknown_841E52D:: @ 0x841E52D
.string "----------$"
-gUnknown_841E538:: @ 841E538
+gText_CommStandbyAwaitingOtherPlayer:: @ 841E538
.string "Communication standby‥\n"
.string "Awaiting another player to choose.$"
-gUnknown_841E572:: @ 841E572
+gText_BattleWasRefused:: @ 841E572
.string "The battle was refused.{PAUSE 0x3C}$"
-gUnknown_841E58D:: @ 841E58D
+gText_RefusedBattle:: @ 841E58D
.string "Refused the battle.{PAUSE 0x3C}$"
gFameCheckerText_MainScreenUI:: @ 841E5A4
diff --git a/data/text/fame_checker.inc b/data/text/fame_checker.inc
index 3c2cd5ece..8be9aec80 100644
--- a/data/text/fame_checker.inc
+++ b/data/text/fame_checker.inc
@@ -1477,7 +1477,7 @@ gUnknown_81B1B3D:: @ 81B1B3D
.string "Grand Champion is DAISY OAK of\l"
.string "PALLET TOWN!$"
-gUnknown_81B1BD1:: @ 81B1BD1
+PokemonJournal_Text_SpecialFeatureMrFuji:: @ 81B1BD1
.string "POKéMON JOURNAL\p"
.string "Special Feature:\n"
.string "MR. FUJI of POKéMON HOUSE!\p"
diff --git a/data/text/ingame_trade.inc b/data/text/ingame_trade.inc
index 861e2fc1a..0b84b96d6 100644
--- a/data/text/ingame_trade.inc
+++ b/data/text/ingame_trade.inc
@@ -1,21 +1,21 @@
-gUnknown_81A597B:: @ 81A597B
+Trade_Text_LookingForMonWannaTradeForMon:: @ 81A597B
.string "I'm looking for the POKéMON\n"
.string "{STR_VAR_1}!\p"
.string "Wanna trade one for my\n"
.string "{STR_VAR_2}?$"
-gUnknown_81A59B6:: @ 81A59B6
+Trade_Text_AwwOhWell:: @ 81A59B6
.string "Awww!\n"
.string "Oh, well…$"
-gUnknown_81A59C6:: @ 81A59C6
+Trade_Text_WhatThatsNoMon:: @ 81A59C6
.string "What?\n"
.string "That's no {STR_VAR_1}!$"
-gUnknown_81A59DA:: @ 81A59DA
+Trade_Text_HeyThanks:: @ 81A59DA
.string "Hey, thanks!$"
-gUnknown_81A59E7:: @ 81A59E7
+Trade_Text_IsntMyOldMonGreat:: @ 81A59E7
.string "Isn't my old {STR_VAR_2} great?$"
Trade_Text_DoYouHaveMonWouldYouTradeForMon:: @ 81A59FE
@@ -39,22 +39,22 @@ Trade_Text_HasTradedMonGrownStronger:: @ 81A5AA5
.string "The {STR_VAR_2} that I traded you,\n"
.string "has it grown stronger?$"
-gUnknown_81A5AD6:: @ 81A5AD6
+Trade_Text_DoYouHaveMonWantToTradeForMon:: @ 81A5AD6
.string "Hi!\n"
.string "Do you have a {STR_VAR_1}?\p"
.string "Want to trade it for my\n"
.string "{STR_VAR_2}?$"
-gUnknown_81A5B08:: @ 81A5B08
+Trade_Text_ThatsTooBad:: @ 81A5B08
.string "That's too bad.$"
-gUnknown_81A5B18:: @ 81A5B18
+Trade_Text_ThisIsNoMon:: @ 81A5B18
.string "…This is no {STR_VAR_1}.\p"
.string "If you get one, trade it with me.$"
-gUnknown_81A5B4A:: @ 81A5B4A
+Trade_Text_ThanksYoureAPal:: @ 81A5B4A
.string "Thanks, you're a pal!$"
-gUnknown_81A5B60:: @ 81A5B60
+Trade_Text_HowIsMyOldMon:: @ 81A5B60
.string "How is my old {STR_VAR_2}?\n"
.string "My {STR_VAR_1} is doing great!$"
diff --git a/data/text/pc_transfer.inc b/data/text/pc_transfer.inc
new file mode 100644
index 000000000..3e9b99ac8
--- /dev/null
+++ b/data/text/pc_transfer.inc
@@ -0,0 +1,39 @@
+Text_MonSentToBoxInSomeonesPC:: @ 81A5CF1
+ .string "{STR_VAR_2} was transferred to\n"
+ .string "Someone's PC.\p"
+ .string "It was placed in \n"
+ .string "BOX “{STR_VAR_1}.”$"
+
+Text_MonSentToBoxInBillsPC:: @ 81A5D31
+ .string "{STR_VAR_2} was transferred to\n"
+ .string "BILL'S PC.\p"
+ .string "It was placed in \n"
+ .string "BOX “{STR_VAR_1}.”$"
+
+Text_MonSentToBoxSomeonesBoxFull:: @ 81A5D6E
+ .string "BOX “{STR_VAR_3}” on\n"
+ .string "Someone's PC was full.\p"
+ .string "{STR_VAR_2} was transferred to\n"
+ .string "BOX “{STR_VAR_1}.”$"
+
+Text_MonSentToBoxBillsBoxFull:: @ 81A5DB1
+ .string "BOX “{STR_VAR_3}” on\n"
+ .string "BILL'S PC was full.\p"
+ .string "{STR_VAR_2} was transferred to\n"
+ .string "BOX “{STR_VAR_1}.”$"
+
+Text_PlayerObtainedTheMon:: @ 81A5DF1
+ .string "{PLAYER} obtained\n"
+ .string "the {STR_VAR_1}!$"
+
+@ Unused. Translated below
+@ You cannot carry any more Pokemon, so {STR_VAR_2} was sent to PC Box {STR_VAR_1}!
+Text_MonSentToBoxInPC:: @ 81A5E05
+ .string "ポケモンを もちきれないので\n"
+ .string "パソコンの ボックス“{STR_VAR_1}” に\l"
+ .string "{STR_VAR_2}を てんそうした!$"
+
+Text_NoMoreRoomForPokemon:: @ 81A5E31
+ .string "There's no more room for POKéMON!\p"
+ .string "The POKéMON BOXES are full and\n"
+ .string "can't accept any more!$"
diff --git a/data/union_room.s b/data/union_room.s
deleted file mode 100644
index 9bcc4a193..000000000
--- a/data/union_room.s
+++ /dev/null
@@ -1,1571 +0,0 @@
-#include "constants/region_map.h"
-#include "constants/flags.h"
-#include "constants/moves.h"
- .include "asm/macros.inc"
- .include "constants/constants.inc"
- .section .rodata
- .align 2
-
-gUnknown_8456C74:: @ 8456C74
- .word gUnknown_84571AC
- .word gUnknown_8459394
- .word gUnknown_84593A4
- .word gUnknown_84593B4
- .word gUnknown_84593C4
- .word gUnknown_84593D4
- .word gUnknown_84593E4
- .word gUnknown_84593F4
- .word gUnknown_84593DC
- .word gUnknown_8459400
- .word gUnknown_8459410
- .word gUnknown_845941C
- .word gUnknown_845942C
- .word gUnknown_8459434
- .word gUnknown_8459440
- .word gUnknown_84571AC
- .word gUnknown_84571AC
- .word gUnknown_84571AC
- .word gUnknown_84571AC
- .word gUnknown_84571AC
- .word gUnknown_84571AC
- .word gUnknown_84593E4
- .word gUnknown_84593F4
-
-gUnknown_8456CD0:: @ 8456CD0
- .byte 0x00, 0x00, 0x00, 0x1E, 0x02, 0x0F @ window template
- .2byte 0x0008
-
- @ pal table?
-gUnknown_8456CD8:: @ 8456CD8
- .2byte 0x0201, 0x0000
- .2byte 0x0202, 0x0000
- .2byte 0x0403, 0x0000
- .2byte 0x0204, 0x0000
- .2byte 0x2509, 0x0000
- .2byte 0x250A, 0x0000
- .2byte 0x350B, 0x0000
- .2byte 0x350D, 0x0000
- .2byte 0x350E, 0x0000
-
-gUnknown_8456CFC:: @ 8456CFC
- .byte 0x00, 0x01, 0x03, 0x0D, 0x0A, 0x0F @ window template
- .2byte 0x0044
-
-gUnknown_8456D04:: @ 8456D04
- .byte 0x00, 0x10, 0x03, 0x07, 0x04, 0x0F @ window template
- .2byte 0x00C6
-
-gUnknown_8456D0C:: @ 8456D0C
- .word gUnknown_84571AC, 0
- .word gUnknown_84571AC, 1
- .word gUnknown_84571AC, 2
- .word gUnknown_84571AC, 3
- .word gUnknown_84571AC, 4
-
-gUnknown_8456D34:: @ 8456D34
- .word gUnknown_8456D0C
- .word NULL
- .word sub_81164C8
- .2byte 0x0005
- .2byte 0x0005
- .byte 0x00, 0x00, 0x01, 0x00, 0x20, 0x31, 0x10, 0x42
-
-gUnknown_8456D4C:: @ 8456D4C
- .byte 0x00, 0x01, 0x03, 0x11, 0x0A, 0x0F @ window template
- .2byte 0x0044
-
-gUnknown_8456D54:: @ 8456D54
- .byte 0x00, 0x14, 0x03, 0x07, 0x04, 0x0F @ window template
- .2byte 0x00EE
-
-gUnknown_8456D5C:: @ 8456D5C
- .word gUnknown_84571AC, 0
- .word gUnknown_84571AC, 1
- .word gUnknown_84571AC, 2
- .word gUnknown_84571AC, 3
- .word gUnknown_84571AC, 4
- .word gUnknown_84571AC, 5
- .word gUnknown_84571AC, 6
- .word gUnknown_84571AC, 7
- .word gUnknown_84571AC, 8
- .word gUnknown_84571AC, 9
- .word gUnknown_84571AC, 10
- .word gUnknown_84571AC, 11
- .word gUnknown_84571AC, 12
- .word gUnknown_84571AC, 13
- .word gUnknown_84571AC, 14
- .word gUnknown_84571AC, 15
-
-gUnknown_8456DDC:: @ 8456DDC
- .word gUnknown_8456D5C
- .word ListMenuDefaultCursorMoveFunc
- .word sub_8116F94
- .2byte 0x0010
- .2byte 0x0005
- .byte 0x00, 0x00, 0x08, 0x00, 0x20, 0x31, 0x50, 0x02
-
-gUnknown_8456DF4:: @ 8456DF4
- .byte 0x00, 0x14, 0x06, 0x08, 0x07, 0x0F @ window template?
- .2byte 0x0001
-
-gUnknown_8456DFC:: @ 8456DFC
- .word gUnknown_8459354, 0x00000208
- .word gUnknown_8459344, 0x00000241
- .word gUnknown_845934C, 0x00000245
- .word gUnknown_8459360, 0x00000040
-
-gUnknown_8456E1C:: @ 8456E1C
- .word gUnknown_8456DFC
- .word ListMenuDefaultCursorMoveFunc
- .word NULL
- .2byte 0x0004
- .2byte 0x0004
- .byte 0x00, 0x00, 0x08, 0x00, 0x20, 0x31, 0x01, 0x02
-
-gUnknown_8456E34:: @ 8456E34
- .byte 0x00, 0x12, 0x08, 0x0B, 0x05, 0x0F @ window template
- .2byte 0x0001
-
-gUnknown_8456E3C:: @ 8456E3C
- .word gText_Register, 1
- .word gUnknown_8459370, 2
- .word gUnknown_8459360, 3
-
-gUnknown_8456E54:: @ 8456E54
- .word gUnknown_8456E3C
- .word ListMenuDefaultCursorMoveFunc
- .word NULL
- .2byte 0x0003
- .2byte 0x0003
- .byte 0x00, 0x00, 0x08, 0x00, 0x20, 0x31, 0x01, 0x02
-
-gUnknown_8456E6C:: @ 8456E6C
- .byte 0x00, 0x14, 0x02, 0x09, 0x0B, 0x0F @ window template
- .2byte 0x0001
-
-gUnknown_8456E74:: @ 8456E74
- .word gTypeNames + 0x00, 0
- .word gTypeNames + 0x46, 10
- .word gTypeNames + 0x4D, 11
- .word gTypeNames + 0x5B, 13
- .word gTypeNames + 0x54, 12
- .word gTypeNames + 0x69, 15
- .word gTypeNames + 0x1C, 4
- .word gTypeNames + 0x23, 5
- .word gTypeNames + 0x0E, 2
- .word gTypeNames + 0x62, 14
- .word gTypeNames + 0x07, 1
- .word gTypeNames + 0x15, 3
- .word gTypeNames + 0x2A, 6
- .word gTypeNames + 0x31, 7
- .word gTypeNames + 0x70, 16
- .word gTypeNames + 0x38, 8
- .word gTypeNames + 0x77, 17
- .word gUnknown_8459360, 18
-
-gUnknown_8456F04:: @ 8456F04
- .word gUnknown_8456E74
- .word ListMenuDefaultCursorMoveFunc
- .word NULL
- .2byte 0x0012
- .2byte 0x0006
- .byte 0x00, 0x00, 0x08, 0x00, 0x22, 0x31, 0x01, 0x02
-
-gUnknown_8456F1C:: @ 8456F1C
- .byte 0x00, 0x01, 0x01, 0x1C, 0x02, 0x0D @ window template
- .2byte 0x0001
-
-gUnknown_8456F24:: @ 8456F24
- .byte 0x00, 0x01, 0x05, 0x1C, 0x0A, 0x0D @ window template
- .2byte 0x0039
-
-gUnknown_8456F2C:: @ 8456F2C
- .word gUnknown_84571AC, -3
- .word gUnknown_84571AC, 0
- .word gUnknown_84571AC, 1
- .word gUnknown_84571AC, 2
- .word gUnknown_84571AC, 3
- .word gUnknown_84571AC, 4
- .word gUnknown_84571AC, 5
- .word gUnknown_84571AC, 6
- .word gUnknown_84571AC, 7
- .word gUnknown_8459368, 8
-
-gUnknown_8456F7C:: @ 8456F7C
- .word gUnknown_8456F2C
- .word ListMenuDefaultCursorMoveFunc
- .word sub_811ACA4
- .2byte 0x000A
- .2byte 0x0005
- .byte 0x00, 0x00, 0x0C, 0x00, 0xE2, 0xDF, 0x09, 0x02
-
- @ unused window template?
- .byte 0x00, 0x01, 0x05, 0x1C, 0x0A, 0x0D
- .2byte 0x0039
-
-gUnknown_8456F9C:: @ 8456F9C
- .word gUnknown_84571AC, 0
- .word gUnknown_84571AC, 1
- .word gUnknown_84571AC, 2
- .word gUnknown_84571AC, 3
- .word gUnknown_84571AC, 4
- .word gUnknown_84571AC, 5
- .word gUnknown_84571AC, 6
- .word gUnknown_84571AC, 7
- .word gUnknown_84571AC, 8
- .word gUnknown_84571AC, 9
- .word gUnknown_84571AC, 10
- .word gUnknown_84571AC, 11
- .word gUnknown_84571AC, 12
- .word gUnknown_84571AC, 13
- .word gUnknown_84571AC, 14
- .word gUnknown_84571AC, 15
-
-gUnknown_845701C:: @ 845701C
- .word gUnknown_8456F9C
- .word ListMenuDefaultCursorMoveFunc
- .word nullsub_92
- .2byte 0x0010
- .2byte 0x0004
- .byte 0x00, 0x00, 0x08, 0x01, 0x20, 0x31, 0x41, 0x02
-
-gUnknown_8457034:: @ 8457034
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-
- @ starts at gUnknown_082F0474 in pokeemerald, union link groups
-gUnknown_845704C:: @ 845704C
- .byte 0x01, 0xFF, 0x00, 0x00
-gUnknown_8457050:: @ 8457050
- .byte 0x02, 0xFF, 0x00, 0x00
-gUnknown_8457054:: @ 8457054
- .byte 0x03, 0xFF, 0x00, 0x00
-gUnknown_8457058:: @ 8457058
- .byte 0x04, 0xFF, 0x00, 0x00
-gUnknown_845705C:: @ 845705C
- .byte 0x09, 0xFF, 0x00, 0x00
-gUnknown_8457060:: @ 8457060
- .byte 0x0A, 0xFF, 0x00, 0x00
-gUnknown_8457064:: @ 8457064
- .byte 0x0B, 0xFF, 0x00, 0x00
-gUnknown_8457068:: @ 8457068
- .byte 0x15, 0xFF, 0x00, 0x00
-gUnknown_845706C:: @ 845706C
- .byte 0x16, 0xFF, 0x00, 0x00
-gUnknown_8457070:: @ 8457070
- .byte 0x40, 0x41, 0x44, 0x45, 0x48, 0x51, 0x52, 0x53, 0x54, 0xFF, 0x00, 0x00
-gUnknown_845707C:: @ 845707C
- .byte 0x0C, 0xFF, 0x00, 0x00
-gUnknown_8457080:: @ 8457080
- .byte 0x01, 0x02, 0x03, 0x04, 0x09, 0x0A, 0x0B, 0x15, 0x16, 0x0D, 0xFF, 0x00
-gUnknown_845708C:: @ 845708C
- .byte 0x01, 0x02, 0x03, 0x04, 0x0A, 0xFF, 0x00, 0x00
-
-gUnknown_8457094:: @ 8457094
- .word gUnknown_845704C
- .word gUnknown_8457050
- .word gUnknown_8457054
- .word gUnknown_8457058
- .word gUnknown_845705C
- .word gUnknown_8457060
- .word gUnknown_8457064
- .word gUnknown_8457068
- .word gUnknown_845706C
- .word gUnknown_8457070
- .word gUnknown_845707C
- .word gUnknown_8457080
- .word gUnknown_845708C
-
-gUnknown_84570C8:: @ 84570C8
- .byte 0x01, 0x02, 0x03, 0x04, 0x09, 0x0A, 0x0B, 0x15, 0x16, 0xF7, 0x00, 0xAF, 0xF7, 0x01, 0xFF, 0x00
-
-gUnknown_84570D8:: @ 84570D8
- .byte 0x29, 0x36, 0x27, 0x12, 0x13, 0x14, 0x19, 0x1A, 0x00, 0x00, 0x2A, 0x3A, 0x28, 0x16, 0x17, 0x18, 0x1C, 0x1D, 0x00, 0x00
-
-gUnknown_84570EC:: @ 84570EC
- .2byte 0x0004
- .2byte 0x0006
- .2byte 0x000D
- .2byte 0x0008
- .2byte 0x000A
- .2byte 0x0006
- .2byte 0x0001
- .2byte 0x0008
- .2byte 0x000D
- .2byte 0x0004
- .2byte 0x0007
- .2byte 0x0004
- .2byte 0x0001
- .2byte 0x0004
- .2byte 0x0007
- .2byte 0x0008
-
-gUnknown_845710C:: @ 845710C
- .byte 0x00, 0x00, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x01
-
-gUnknown_8457116:: @ 8457116
- .byte 0x00, 0x02, 0x01, 0x04, 0x03
-
-gUnknown_845711B:: @ 845711B
- .byte 0x01, 0x03, 0x01, 0x04, 0x02
-
-gUnknown_8457120:: @ 8457120
- .byte 0x09, 0x08, 0x07, 0x02, 0x06, 0x05, 0x04, 0x03, 0x63, 0x00, 0x64, 0x00, 0x65, 0x00, 0x66, 0x00, 0x67, 0x00, 0x68, 0x00, 0x69, 0x00, 0x6A, 0x00
-
- .align 2
-gUnknown_8457138:: @ 8457138
- abspath "rfu_union_tool.c"
-
- .align 2
-gUnknown_8457174:: @ 8457174
- .asciz "0"
-
- .align 2
-gUnknown_8457178:: @ 8457178
- .asciz "UnionObjWork != NULL"
-
-gUnknown_845718D:: @ 845718D
- .byte 0xA4, 0xFE
-
-gUnknown_845718F:: @ 845718F
- .byte 0xA5, 0xFE, 0x00, 0x00, 0x00
-
-gUnknown_8457194:: @ 8457194
- .2byte 0x01FC, 0x0000 @ BgTemplate
-
-gUnknown_8457198:: @ 8457198
- .byte 0x00, 0x02, 0x0F, 0x1A, 0x04, 0x0E @ window template
- .2byte 0x0014
-
- @ ???
- .byte -1, 0, 0, 0
- .byte 0, 0, 0, 0
-
-gUnknown_84571A8:: @ 84571A8
- .byte 0x01, 0x02, 0x03, 0x00
-
-gUnknown_84571AC:: @ 84571AC
- .string "$"
-
- .align 2
-gUnknown_84571B0:: @ 84571B0
- .string ":$"
-
- .align 2
-gUnknown_84571B4:: @ 84571B4
- .string "{EXTRA 7}$"
-
- .align 2
-gUnknown_84571B8:: @ 84571B8
- .string "Please start over from the beginning.$"
-
- .align 2
-gUnknown_84571E0:: @ 84571E0
- .string "The WIRELESS COMMUNICATION\n"
- .string "SYSTEM search has been canceled.$"
-
- .align 2
- .string "ともだちからの れんらくを\n" @ something about waiting for a friend to connect?
- .string "まっています$"
-
- .align 2
-gUnknown_8457234:: @ 8457234
- .string "{STR_VAR_1}! Awaiting\n"
- .string "communication from another player.$"
-
- .align 2
-gUnknown_8457264:: @ 8457264
- .string "{STR_VAR_1}! Awaiting link!\n"
- .string "Press START when everyone's ready.$"
-
- .align 2
-gJPText_SingleBattle::
- .string "シングルバトルを かいさいする$"
-
- .align 2
-gJPText_DoubleBattle::
- .string "ダブルバトルを かいさいする$"
-
- .align 2
-gJPText_MultiBattle::
- .string "マルチバトルを かいさいする$"
-
- .align 2
-gJPText_TradePokemon::
- .string "ポケモンこうかんを かいさいする$"
-
- .align 2
-gJPText_Chat::
- .string "チャットを かいさいする$"
-
- .align 2
-gJPText_DistWonderCard::
- .string "ふしぎなカードをくばる$"
-
- .align 2
-gJPText_DistWonderNews::
- .string "ふしぎなニュースをくばる$"
-
- .align 2
-unref_text_union_room_1::
- .string "ふしぎなできごとを かいさいする$"
-
- .align 2
-gJPText_HoldPokemonJump::
- .string "なわとびを かいさいする$"
-
- .align 2
-gJPText_HoldBerryCrush::
- .string "きのみマッシャーを かいさいする$"
-
- .align 2
-gJPText_HoldBerryPicking::
- .string "きのみどりを かいさいする$"
-
- .align 2
-gJPText_HoldSpinTrade::
- .string "ぐるぐるこうかんを かいさいする$"
-
- .align 2
-gJPText_HoldSpinShop::
- .string "ぐるぐるショップを かいさいする$"
-
- .align 2
-unref_text_ptrs_union_room_0::
- .word gJPText_SingleBattle
- .word gJPText_DoubleBattle
- .word gJPText_MultiBattle
- .word gJPText_TradePokemon
- .word gJPText_Chat
- .word gJPText_DistWonderCard
- .word gJPText_DistWonderNews
- .word gJPText_DistWonderCard
- .word gJPText_HoldPokemonJump
- .word gJPText_HoldBerryCrush
- .word gJPText_HoldBerryPicking
- .word gJPText_HoldBerryPicking
- .word gJPText_HoldSpinTrade
- .word gJPText_HoldSpinShop
-
-gText_1PlayerNeeded::
- .string "1 player\n"
- .string "needed.$"
-gText_2PlayersNeeded::
- .string "2 players\n"
- .string "needed.$"
-gText_3PlayersNeeded::
- .string "3 players\n"
- .string "needed.$"
-gText_4PlayersNeeded:: @ uhhhh this one is JP but not the others??? but its english in emerald???
- .string "あと4にん\n"
- .string "ひつよう$"
-gText_2PlayerMode::
- .string "2-PLAYER\n"
- .string "MODE$"
-gText_3PlayerMode::
- .string "3-PLAYER\n"
- .string "MODE$"
-gText_4PlayerMode::
- .string "4-PLAYER\n"
- .string "MODE$"
-gText_5PlayerMode::
- .string "5-PLAYER\n"
- .string "MODE$"
-
-gUnknown_845742C:: @ 845742C
- .word gText_1PlayerNeeded
- .word gText_2PlayerMode
- .word NULL
- .word NULL
- .word NULL
-
- .word gText_3PlayersNeeded
- .word gText_2PlayersNeeded
- .word gText_1PlayerNeeded
- .word gText_4PlayerMode
- .word NULL
-
- .word gText_1PlayerNeeded
- .word gText_2PlayerMode
- .word gText_3PlayerMode
- .word gText_4PlayerMode
- .word gText_5PlayerMode
-
- .word gText_2PlayersNeeded
- .word gText_1PlayerNeeded
- .word gText_3PlayerMode
- .word gText_4PlayerMode
- .word gText_5PlayerMode
-
- @ Huh? No 4 ptrs here from pokeemerald?
-
- .align 2
-gUnknown_845747C:: @ 845747C
- .string "{B_BUTTON}CANCEL$"
-
- .align 2
-unref_text_union_room_2::
- .string "ため\nさんかしゃ ぼしゅうちゅう です!$"
-
- .align 2
-gUnknown_84574A0:: @ 84574A0
- .string "{STR_VAR_2} contacted you for\n{STR_VAR_1}. Accept?$"
-
- .align 2
-gUnknown_84574C4:: @ 84574C4
- .string "{STR_VAR_2} contacted you.\nWill you share {STR_VAR_1}?$"
-
- .align 2
-gUnknown_84574EC:: @ 84574EC
- .string "{STR_VAR_2} contacted you.\nAdd to the members?$"
-
- .align 2
-gUnknown_8457514:: @ 8457514
- .string "{STR_VAR_1}!\nAre these members OK?$"
-
- .align 2
-gUnknown_8457530:: @ 8457530
- .string "Cancel {STR_VAR_1} MODE\nwith these members?$"
-
- .align 2
-gUnknown_8457554:: @ 8457554
- .string "An “OK” was sent\nto {STR_VAR_1}.$"
-
- .align 2
-gUnknown_845756C:: @ 845756C
- .string "The other TRAINER doesn't appear\nto be available now…\p$"
-
- .align 2
-gUnknown_84575A4:: @ 84575A4
- .string "You can't transmit with a TRAINER\nwho is too far away.\p$"
-
- .align 2
-gUnknown_84575DC:: @ 84575DC
- .string "The other TRAINER(S) is/are not\nready yet.\p$"
-
- .align 2
-gUnknown_8457608:: @ 8457608
- .word gUnknown_84575A4
- .word gUnknown_84575DC
-
- .align 2
-gUnknown_8457610:: @ 8457610
- .string "The {STR_VAR_1} MODE with\nthese members will be canceled.{PAUSE 90}$"
-
- .align 2
-gUnknown_8457644:: @ 8457644
- .string "There is a member who can no\nlonger remain available.\p$"
-
- .align 2
-gUnknown_845767C:: @ 845767C
- .word gUnknown_845756C
- .word gUnknown_8457644
-
- .align 2
-gUnknown_8457684:: @ 8457684
- .string "The other TRAINER appears\nunavailable…\p$"
-
- .align 2
-gUnknown_84576AC:: @ 84576AC
- .string "{STR_VAR_1} sent back an “OK”!$"
-
- .align 2
-gUnknown_84576C4:: @ 84576C4
- .string "{STR_VAR_1} OK'd your registration as\na member.$"
-
- .align 2
-gUnknown_84576EC:: @ 84576EC
- .string "{STR_VAR_1} replied, “No…”\p$"
-
- .align 2
-gUnknown_8457700:: @ 8457700
- .string "{STR_VAR_1}!\nAwaiting other members!$"
-
- .align 2
-gUnknown_845771C:: @ 845771C
- .string "Quit being a member?$"
-
- .align 2
-gUnknown_8457734:: @ 8457734
- .string "You stopped being a member.\p$"
-
- .align 2
-gUnknown_8457754:: @ 8457754
- .word NULL
- .word gUnknown_8457644
- .word gUnknown_8457684
- .word NULL
- .word NULL
- .word NULL
- .word gUnknown_84576EC
- .word NULL
- .word NULL
- .word gUnknown_8457734
-
- .align 2
-gUnknown_845777C:: @ 845777C
- .string "The WIRELESS COMMUNICATION\nSYSTEM link has been established.$"
-
- .align 2
-gUnknown_84577BC:: @ 84577BC
- .string "The WIRELESS COMMUNICATION\nSYSTEM link has been dropped…$"
-
- .align 2
-gUnknown_84577F8:: @ 84577F8
- .string "The link with your friend has been\ndropped…$"
-
- .align 2
-gUnknown_8457824:: @ 8457824
- .string "{STR_VAR_1} replied, “No…”$"
-
- .align 2
-gUnknown_8457838:: @ 8457838
- .word NULL
- .word gUnknown_84577F8
- .word gUnknown_84577F8
- .word NULL
- .word NULL
- .word NULL
- .word gUnknown_8457824
- .word NULL
- .word NULL
- .word NULL
-
- .align 2
-gUnknown_8457860:: @ 8457860
- .string "Do you want the {STR_VAR_2}\nMODE?$"
-
- .align 2
-gUnknown_845787C:: @ 845787C
- .string "Do you want the {STR_VAR_2}\nMODE?$"
-
- .align 2
-gUnknown_8457898:: @ 8457898
- .word gUnknown_8457860
- .word gUnknown_845787C
-
- .align 2
-gUnknown_84578A0:: @ 84578A0
- .string "はなしかけています…\n" @ Communicating... please wait
- .string "しょうしょう おまちください$"
-
- .align 2
-gUnknown_84578BC:: @ 84578BC
- .string "Awaiting {STR_VAR_1}'s response about\nthe trade…$"
-
- .align 2
-gUnknown_84578E4:: @ 84578E4
- .string "Communicating{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.$"
-
- .align 2
-gUnknown_8457950:: @ 8457950
- .string "Communicating with {STR_VAR_1}{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.$"
-
- .align 2
-gUnknown_84579BC:: @ 84579BC
- .string "Please wait a while{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.$"
-
- .align 2
-gUnknown_8457A34:: @ 8457A34
- .word gUnknown_84578E4
- .word gUnknown_8457950
- .word gUnknown_84579BC
-
- .align 2
-gUnknown_8457A40:: @ 8457A40
- .string "Hiya! Is there something that you\nwanted to do?$"
-
- .align 2
-gUnknown_8457A70:: @ 8457A70
- .string "Hello!\nWould you like to do something?$"
-
- .align 2
-gUnknown_8457A98:: @ 8457A98
- .string "{STR_VAR_1}: Hiya, we meet again!\nWhat are you up for this time?$"
-
- .align 2
-gUnknown_8457AD0:: @ 8457AD0
- .string "{STR_VAR_1}: Oh! {PLAYER}, hello!\nWould you like to do something?$"
-
- .align 2
-gUnknown_8457B04:: @ 8457B04
- .word gUnknown_8457A40
- .word gUnknown_8457A70
- .word gUnknown_8457A98
- .word gUnknown_8457AD0
-
- .align 2
-gUnknown_8457B14:: @ 8457B14
- .string "Want to do something?$"
-
- .align 2
-gUnknown_8457B2C:: @ 8457B2C
- .string "Would you like to do something?$"
-
- .align 2
-gUnknown_8457B4C:: @ 8457B4C
- .string "{STR_VAR_1}: What would you like to\ndo now?$"
-
- .align 2
-gUnknown_8457B70:: @ 8457B70
- .string "{STR_VAR_1}‘また なにかする?$" @ Want to do anything else?
-
- .align 2
-gUnknown_8457B80:: @ 8457B80
- .word gUnknown_8457B14
- .word gUnknown_8457B2C
- .word gUnknown_8457B4C
- .word gUnknown_8457B4C
-
- .align 2
-gUnknown_8457B90:: @ 8457B90
- .string "Somebody has contacted you.{PAUSE 60}$"
-
- .align 2
-gUnknown_8457BA0:: @ 8457BA0
- .string "{STR_VAR_1} has contacted you.{PAUSE 60}$"
-
- .align 2
-gUnknown_8457BCC:: @ 8457BCC
- .word gUnknown_8457B90
- .word gUnknown_8457BA0
-
- .align 2
-gUnknown_8457BD4:: @ 8457BD4
- .string "Awaiting a response from\nthe other TRAINER…$"
-
- .align 2
-gUnknown_8457C00:: @ 8457C00
- .string "Awaiting a response from\n{STR_VAR_1}…$"
-
- .align 2
-gUnknown_8457C20:: @ 8457C20
- .word gUnknown_8457BD4
- .word gUnknown_8457C00
-
- .align 2
-gUnknown_8457C28:: @ 8457C28
- .string "あいての ていあんを まっています\n"
- .string "ビーボタンで キャンセル$"
-
- .align 2
-gUnknown_8457C48:: @ 8457C48
- .string "The other TRAINER showed\n"
- .string "you their TRAINER CARD.\p"
- .string "Would you like to show your\n"
- .string "TRAINER CARD?$"
-
- .align 2
-gUnknown_8457CA4:: @ 8457CA4
- .string "The other TRAINER challenges you\n"
- .string "to battle.\p"
- .string "Will you accept the battle\n"
- .string "challenge?$"
-
- .align 2
-gUnknown_8457CF8:: @ 8457CF8
- .string "The other TRAINER invites you\n"
- .string "to chat.\p"
- .string "Will you accept the chat\n"
- .string "invitation?$"
-
- .align 2
-gUnknown_8457D44:: @ 8457D44
- .string "There is an offer to trade your\n"
- .string "registered Lv. {DYNAMIC 0} {DYNAMIC 1}\p"
- .string "in exchange for a\n"
- .string "Lv. {DYNAMIC 2} {DYNAMIC 3}.\p"
- .string "Will you accept this trade\n"
- .string "offer?$"
-
- .align 2
-gUnknown_8457DB8:: @ 8457DB8
- .string "There is an offer to trade your\n"
- .string "registered EGG.\l"
- .string "Will you accept this trade offer?$"
-
- .align 2
-gUnknown_8457E0C:: @ 8457E0C
- .string "The chat has been dropped.\p$"
-
-gUnknown_8457E28:: @ 8457E28
- .string "You declined the offer.\p$"
-
- .align 2
-gUnknown_8457E44:: @ 8457E44
- .string "You declined the offer.\p$"
-
- .align 2
-gUnknown_8457E60:: @ 8457E60
- .string "The chat was ended.\p$"
- .align 2
-
-gUnknown_8457E78::
- .4byte gUnknown_8457C48
- .4byte gUnknown_8457CA4
- .4byte gUnknown_8457CF8
- .4byte gUnknown_8457D44
-
- .align 2
-gUnknown_8457E88::
- .string "Oh, hey! We're in a chat right now.\n"
- .string "Want to join us?$"
-
- .align 2
-gUnknown_8457EC0::
- .string "{STR_VAR_1}: Hey, {PLAYER}!\n"
- .string "We're having a chat right now.\l"
- .string "Want to join us?$"
-
- .align 2
-gUnknown_8457F00::
- .string "Oh, hi! We're having a chat now.\n"
- .string "Would you like to join us?$"
-
- .align 2
-gUnknown_8457F3C::
- .string "{STR_VAR_1}: Oh, hi, {PLAYER}!\n"
- .string "We're having a chat now.\l"
- .string "Would you like to join us?$"
-
- .align 2
-gUnknown_8457F80:: @ 8457F80
- .4byte gUnknown_8457E88
- .4byte gUnknown_8457F00
- .4byte gUnknown_8457EC0
- .4byte gUnknown_8457F3C
-
-gUnknown_8457F90:: @ 8457F90
- .string "……\n"
- .string "The TRAINER appears to be busy…\p$"
-
- .align 2
-gUnknown_8457FB4::
- .string "A battle, huh?\n"
- .string "All right, just give me some time.$"
-
- .align 2
-gUnknown_8457FE8::
- .string "You want to chat, huh?\n"
- .string "Sure, just wait a little.$"
-
- .align 2
-gUnknown_845801C::
- .string "Sure thing! As my “Greetings,”\n"
- .string "here's my TRAINER CARD.$"
-
- .align 2
-gUnknown_8458054::
- .string "A battle? Of course, but I need\n"
- .string "time to get ready.$"
-
- .align 2
-gUnknown_8458088::
- .string "Did you want to chat?\n"
- .string "Okay, but please wait a moment.$"
-
- .align 2
-gUnknown_84580C0::
- .string "As my introduction, I'll show you\n"
- .string "my TRAINER CARD.$"
-
- .align 2
-gUnknown_84580F4:: @ 84580F4
- .4byte gUnknown_8457FB4
- .4byte gUnknown_8457FE8
- .4byte 0
- .4byte gUnknown_845801C
- .4byte gUnknown_8458054
- .4byte gUnknown_8458088
- .4byte 0
- .4byte gUnknown_84580C0
-
- .align 2
- .string "チャットだね!\n" @ You want to chat, huh? Sure, just wait a little.
- .string "わかった ちょっと まってて!$"
-
- .align 2
-gUnknown_845812C::
- .string "Thanks for waiting!\n"
- .string "Let's get our battle started!{PAUSE 60}$"
-
- .align 2
-gUnknown_8458164::
- .string "All right!\n"
- .string "Let's chat!{PAUSE 60}$"
-
- .align 2
-gUnknown_8458180::
- .string "Sorry I made you wait!\n"
- .string "Let's get started!{PAUSE 60}$"
-
- .align 2
-gUnknown_84581B0::
- .string "Sorry I made you wait!\n"
- .string "Let's chat.{PAUSE 60}$"
-
- .align 2
-gUnknown_84581D8::
- .string "The trade will be started.{PAUSE 60}$"
-
- .align 2
-gUnknown_84581F8::
- .string "The battle will be started.{PAUSE 60}$"
-
- .align 2
-gUnknown_8458218::
- .string "Entering the chat…{PAUSE 60}$"
-
- .align 2
-gUnknown_8458230:: @ 8458230
- .4byte gUnknown_84581F8
- .4byte gUnknown_8458218
- .4byte gUnknown_84581D8
- .4byte gUnknown_84581F8
- .4byte gUnknown_8458218
- .4byte gUnknown_84581D8
- .4byte gUnknown_845812C
- .4byte gUnknown_8458164
- .4byte gUnknown_84581D8
- .4byte gUnknown_8458180
- .4byte gUnknown_84581B0
- .4byte gUnknown_84581D8
-
-gUnknown_8458260::
- .string "Sorry! My POKéMON don't seem to\n"
- .string "be feeling too well right now.\l"
- .string "Let me battle you another time.\p$"
-
-gUnknown_84582C0::
- .string "I'm terribly sorry, but my POKéMON\n"
- .string "aren't feeling well…\p"
- .string "Let's battle another time.\p$"
-
-gUnknown_8458314:: @ 8458314
- .4byte gUnknown_8458260
- .4byte gUnknown_84582C0
-
- .align 2
-gUnknown_845831C::
- .string "Huh? My TRAINER CARD…\n"
- .string "Where'd it go now?\l"
- .string "Sorry! I'll show you another time!\p$"
-
- .align 2
-gUnknown_845836C::
- .string "Oh? Now where did I put my\n"
- .string "TRAINER CARD?…\l"
- .string "Sorry! I'll show you later!\p$"
-
- .align 2
-gUnknown_84583B4:: @ 84583B4
- .4byte gUnknown_845831C
- .4byte gUnknown_845836C
-
- .align 2
-gUnknown_84583BC::
- .string "If you want to do something with\n"
- .string "me, just give me a shout!\p$"
- .align 2
-gUnknown_84583F8::
- .string "If you want to do something with\n"
- .string "me, don't be shy.\p$"
-
- .align 2
-gUnknown_845842C:: @ 845842C
- .4byte gUnknown_84583BC
- .4byte gUnknown_84583F8
-
-gUnknown_8458434:: @ 8458434
- .string "Whoops! Sorry, but I have to do\n"
- .string "something else.\l"
- .string "Another time, okay?\p$"
-
- .align 2
-gUnknown_845847C:: @ 845847C
- .string "If you want to battle, you need\n"
- .string "two POKéMON that are below\l"
- .string "Lv. 30.\p$"
-
-gUnknown_84584C0:: @ 84584C0
- .string "For a battle, you need two\n"
- .string "POKéMON that are below Lv. 30.\p$"
-
- .align 2
-gUnknown_84584FC::
- .string "Oh, all right.\n"
- .string "Come see me anytime, okay?\p$"
-
- .align 2
-gUnknown_8458528::
- .string "Oh…\n"
- .string "Please come by anytime.\p$"
-
- .align 2
-gUnknown_8458548:: @ 8458548
- .4byte gUnknown_84584FC
- .4byte gUnknown_8458528
-
- .align 2
-gUnknown_8458550::
- .string "Oh, sorry!\n"
- .string "I just can't right this instant.\l"
- .string "Let's chat another time.\p$"
-
- .align 2
-gUnknown_8458598::
- .string "Oh, I'm sorry.\n"
- .string "I have too much to do right now.\l"
- .string "Let's chat some other time.\p$"
-
- .align 2
-gUnknown_84585E8:: @ 84585E8
- .4byte gUnknown_8458550
- .4byte gUnknown_8458598
-
- .align 2
-gUnknown_84585F0::
- .string "Whoa!\n"
- .string "I can tell you're pretty tough!\p$"
-
- .align 2
-gUnknown_8458618::
- .string "You used that move?\n"
- .string "That's good strategy!\p$"
-
- .align 2
-gUnknown_8458644::
- .string "Way to go!\n"
- .string "That was an eye-opener!\p$"
-
- .align 2
-gUnknown_8458668::
- .string "Oh! How could you use that\n"
- .string "POKéMON in that situation?\p$"
-
- .align 2
-gUnknown_84586A0::
- .string "That POKéMON…\n"
- .string "It's been raised really well!\p$"
-
- .align 2
-gUnknown_84586D0::
- .string "That's it!\n"
- .string "This is the right move now!\p$"
-
- .align 2
-gUnknown_84586F8::
- .string "That's awesome!\n"
- .string "You can battle that way?\p$"
-
- .align 2
-gUnknown_8458724::
- .string "You have exquisite timing for\n"
- .string "switching POKéMON!\p$"
-
- .align 2
-gUnknown_8458758:: @ 8458758
- .4byte gUnknown_84585F0
- .4byte gUnknown_8458618
- .4byte gUnknown_8458644
- .4byte gUnknown_8458668
- .4byte gUnknown_84586A0
- .4byte gUnknown_84586D0
- .4byte gUnknown_84586F8
- .4byte gUnknown_8458724
-
- .align 2
-gUnknown_8458778::
- .string "Oh, I see!\n"
- .string "This is educational!\p$"
-
- .align 2
-gUnknown_845879C::
- .string "Don't say anything funny anymore!\n"
- .string "I'm sore from laughing!\p$"
-
- .align 2
-gUnknown_84587D8::
- .string "Oh?\n"
- .string "Something like that happened.\p$"
-
- .align 2
-gUnknown_84587FC::
- .string "Hmhm… What?\n"
- .string "So is this what you're saying?\p$"
-
- .align 2
-gUnknown_8458828::
- .string "Is that right?\n"
- .string "I didn't know that.\p$"
-
- .align 2
-gUnknown_845884C::
- .string "Ahaha!\n"
- .string "What is that about?\p$"
-
- .align 2
-gUnknown_8458868::
- .string "Yes, that's exactly it!\n"
- .string "That's what I meant.\p$"
-
- .align 2
-gUnknown_8458898::
- .string "In other words…\n"
- .string "Yes! That's right!\p$"
-
- .align 2
-gUnknown_84588BC:: @ 84588BC
- .4byte gUnknown_8458778
- .4byte gUnknown_845879C
- .4byte gUnknown_84587D8
- .4byte gUnknown_84587FC
- .4byte gUnknown_8458828
- .4byte gUnknown_845884C
- .4byte gUnknown_8458868
- .4byte gUnknown_8458898
-
- .align 2
-gUnknown_84588DC::
- .string "I'm just showing my TRAINER CARD\n"
- .string "as my way of greeting.\p$"
-
- .align 2
-gUnknown_8458918::
- .string "I hope I get to know you better!\p$"
-
- .align 2
-gUnknown_845893C::
- .string "We're showing each other our\n"
- .string "TRAINER CARDS to get acquainted.\p$"
-
- .align 2
-gUnknown_845897C::
- .string "Glad to meet you.\n"
- .string "Please don't be a stranger!\p$"
-
- .align 2
-gUnknown_84589AC:: @ 84589AC
- .4byte gUnknown_84588DC
- .4byte gUnknown_8458918
- .4byte gUnknown_845893C
- .4byte gUnknown_845897C
-
- .align 2
-gUnknown_84589BC::
- .string "Yeahah!\n"
- .string "I really wanted this POKéMON!\p$"
-
- .align 2
-gUnknown_84589E4::
- .string "Finally, a trade got me that\n"
- .string "POKéMON I'd wanted a long time.\p$"
-
- .align 2
-gUnknown_8458A24::
- .string "I'm trading POKéMON right now.\p$"
-
- .align 2
-gUnknown_8458A44::
- .string "I finally got that POKéMON I\n"
- .string "wanted in a trade!\p$"
-
- .align 2
-gUnknown_8458A78:: @ 8458A78
- .4byte gUnknown_84589BC
- .4byte gUnknown_84589E4
- .4byte NULL
- .4byte NULL
- .4byte gUnknown_8458A24
- .4byte gUnknown_8458A44
- .4byte NULL
- .4byte NULL
-
-gUnknown_8458A98:: @ 8458A98
- .string "{STR_VAR_1} checked the\n"
- .string "TRADING BOARD.\p$"
-
- .align 2
-gUnknown_8458AB8:: @ 8458AB8
- .string "Welcome to the TRADING BOARD.\p"
- .string "You may register your POKéMON\n"
- .string "and offer it up for a trade.\p"
- .string "Would you like to register one of\n"
- .string "your POKéMON?$"
-
- .align 2
-gUnknown_8458B44:: @ 8458B44
- .string "This TRADING BOARD is used for\n"
- .string "offering a POKéMON for a trade.\p"
- .string "All you need to do is register a\n"
- .string "POKéMON for a trade.\p"
- .string "Another TRAINER may offer a party\n"
- .string "POKéMON in return for the trade.\p"
- .string "We hope you will register POKéMON\n"
- .string "and trade them with many, many\l"
- .string "other TRAINERS.\p"
- .string "Would you like to register one of\n"
- .string "your POKéMON?$"
-
- .align 2
- .string "こうかんけいじばん の とうろくが\n"
- .string "かんりょう しました\p"
- .string "ごりよう ありがとう\n"
- .string "ございました!\p$"
-
- .align 2
- .string "けいじばんに だれも ポケモンを\n"
- .string "とうろく していません\p\n$"
-
- .align 2
-gUnknown_8458CD4:: @ 8458CD4
- .string "Please choose the type of POKéMON\n"
- .string "that you would like in the trade.\n$"
-
- .align 2
-gUnknown_8458D1C:: @ 8458D1C
- .string "Which of your party POKéMON will\n"
- .string "you offer in trade?\p$"
-
- .align 2
-gUnknown_8458D54:: @ 8458D54
- .string "Registration has been canceled.\p$"
-
- .align 2
-gUnknown_8458D78:: @ 8458D78
- .string "Registration has been completed.\p$"
-
- .align 2
-gUnknown_8458D9C:: @ 8458D9C
- .string "The trade has been canceled.\p$"
-
- .align 2
-gUnknown_8458DBC:: @ 8458DBC
- .string "Cancel the registration of your\n"
- .string "Lv. {STR_VAR_2} {STR_VAR_1}?$"
-
- .align 2
-gUnknown_8458DE8:: @ 8458DE8
- .string "Cancel the registration of your\n"
- .string "EGG?$"
-
- .align 2
-gUnknown_8458E10:: @ 8458E10
- .string "The registration has been canceled.\p$"
-
- .align 2
- .string "こうかんを きぼうしているひとを\n"
- .string "ひょうじします$"
-
- .align 2
- .string "こうかん したい トレーナーを\n"
- .string "えらんで ください$"
-
- .align 2
-gUnknown_8458E70:: @ 8458E70
- .string "Would you like to ask {STR_VAR_1} to\n"
- .string "make a trade?$"
-
- .align 2
- .string "……\n"
- .string "あいての へんじを まっています$"
-
- .align 2
- .string "あなたが こうかんにだす\n"
- .string "ポケモンが とうろくされていません\p$"
-
- .align 2
-gUnknown_8458ED0:: @ 8458ED0
- .string "You don't have a {STR_VAR_2}-type\n"
- .string "POKéMON that {STR_VAR_1} wants.\p$"
-
- .align 2
-gUnknown_8458F04:: @ 8458F04
- .string "You don't have an EGG that\n"
- .string "{STR_VAR_1} wants.\p$"
-
- .align 2
-gUnknown_8458F2C:: @ 8458F2C
- .string "{STR_VAR_1} can't make a trade for\n"
- .string "your POKéMON right now.\p$"
-
- .align 2
-gUnknown_8458F60:: @ 8458F60
- .string "You can't make a trade for\n"
- .string "{STR_VAR_1}'s POKéMON right now.\p$"
-
- .align 2
-gUnknown_8458F94:: @ 8458F94
- .word gUnknown_8458F2C
- .word gUnknown_8458F60
-
-gUnknown_8458F9C:: @ 8458F9C
- .string "Your trade offer was rejected.\p$"
-
-gUnknown_8458FBC:: @ 8458FBC
- .string "EGG TRADE$"
-
- .align 2
-gUnknown_8458FC8:: @ 8458FC8
- .string "{DPAD_UPDOWN}CHOOSE {A_BUTTON}JOIN {B_BUTTON}CANCEL$"
-
- .align 2
-gUnknown_8458FE4:: @ 8458FE4
- .string "Please choose a TRAINER.$"
-
- .align 2
-gUnknown_8459000::
- .string "Please choose a TRAINER for\n"
- .string "a SINGLE BATTLE.$"
-
- .align 2
-gUnknown_8459030::
- .string "Please choose a TRAINER for\n"
- .string "a DOUBLE BATTLE.$"
-
- .align 2
-gUnknown_8459060::
- .string "Please choose the LEADER\n"
- .string "for a MULTI BATTLE.$"
-
- .align 2
-gUnknown_8459090::
- .string "Please choose the TRAINER to\n"
- .string "trade with.$"
-
- .align 2
-gUnknown_84590BC::
- .string "Please choose the TRAINER who is\n"
- .string "sharing WONDER CARDS.$"
-
- .align 2
-gUnknown_84590F4::
- .string "Please choose the TRAINER who is\n"
- .string "sharing WONDER NEWS.$"
-
- .align 2
-gUnknown_845912C::
- .string "Jump with mini POKéMON!\n"
- .string "Please choose the LEADER.$"
-
- .align 2
-gUnknown_8459160::
- .string "BERRY CRUSH!\n"
- .string "Please choose the LEADER.$"
-
- .align 2
-gUnknown_8459188::
- .string "DODRIO BERRY-PICKING!\n"
- .string "Please choose the LEADER.$"
-
- .align 2
-gUnknown_84591B8:: @ 84591B8
- .4byte gUnknown_8459000
- .4byte gUnknown_8459030
- .4byte gUnknown_8459060
- .4byte gUnknown_8459090
- .4byte gUnknown_845912C
- .4byte gUnknown_8459160
- .4byte gUnknown_8459188
- .4byte gUnknown_84590BC
- .4byte gUnknown_84590F4
-
- .align 2
-gUnknown_84591DC:: @ 84591DC
- .string "Searching for a WIRELESS\n"
- .string "COMMUNICATION SYSTEM. Wait...$"
-
- .align 2
- .string "ダブルバトルでは 2ひき いじょうの\n"
- .string "ポケモンが ひつようです\p$"
-
- .align 2
-gUnknown_8459238:: @ 8459238
- .string "Awaiting {STR_VAR_1}'s response…$"
-
- .align 2
-gUnknown_8459250:: @ 8459250
- .string "{STR_VAR_1} has been asked to register\n"
- .string "you as a member. Please wait.$"
-
- .align 2
-gUnknown_845928C:: @ 845928C
- .string "Awaiting a response from the\n"
- .string "WIRELESS COMMUNICATION SYSTEM.$"
-
- .align 2
- .string "ほかの さんかしゃが そろうまで\n"
- .string "しょうしょう おまちください$"
-
- .align 2
-gUnknown_84592E8:: @ 84592E8
- .string "No CARDS appear to be shared \n"
- .string "right now.$"
-
- .align 2
-gUnknown_8459314:: @ 8459314
- .string "No NEWS appears to be shared\n"
- .string "right now.$"
-
-gUnknown_845933C:: @ 845933C
- .word gUnknown_84592E8
- .word gUnknown_8459314
-
- .align 2
-gUnknown_8459344:: @ 8459344
- .string "BATTLE$"
-
- .align 2
-gUnknown_845934C:: @ 845934C
- .string "CHAT$"
-
- .align 2
-gUnknown_8459354:: @ 8459354
- .string "GREETINGS$"
-
- .align 2
-gUnknown_8459360:: @ 8459360
- .string "EXIT$"
-
- .align 2
-gUnknown_8459368:: @ 8459368
- .string "EXIT$"
-
- .align 2
-gUnknown_8459370:: @ 8459370
- .string "INFO$"
-
- .align 2
-gUnknown_8459378:: @ 8459378
- .string "NAME{CLEAR_TO 0x3C}WANTED{CLEAR_TO 0x6E}OFFER{CLEAR_TO 0xC6}LV.$"
-
- .align 2
-gUnknown_8459394:: @ 8459394
- .string "SINGLE BATTLE$"
-
- .align 2
-gUnknown_84593A4:: @ 84593A4
- .string "DOUBLE BATTLE$"
-
- .align 2
-gUnknown_84593B4:: @ 84593B4
- .string "MULTI BATTLE$"
-
- .align 2
-gUnknown_84593C4:: @ 84593C4
- .string "POKéMON TRADES$"
-
- .align 2
-gUnknown_84593D4:: @ 84593D4
- .string "CHAT$"
-
- .align 2
-gUnknown_84593DC:: @ 84593DC
- .string "CARDS$"
-
- .align 2
-gUnknown_84593E4:: @ 84593E4
- .string "WONDER CARDS$"
-
- .align 2
-gUnknown_84593F4:: @ 84593F4
- .string "WONDER NEWS$"
-
- .align 2
-gUnknown_8459400:: @ 8459400
- .string "POKéMON JUMP$"
-
- .align 2
-gUnknown_8459410:: @ 8459410
- .string "BERRY CRUSH$"
-
- .align 2
-gUnknown_845941C:: @ 845941C
- .string "BERRY-PICKING$"
-
- .align 2
-gUnknown_845942C:: @ 845942C
- .string "SEARCH$"
-
- .align 2
-gUnknown_8459434:: @ 8459434
- .string "ぐるぐるこうかん$"
-
- .align 2
-gUnknown_8459440:: @ 8459440
- .string "アイテムトレード$"
-
- .align 2
-gUnknown_845944C:: @ 845944C
- .string "It's a NORMAL CARD.$"
-
- .align 2
-gUnknown_8459460:: @ 459460
- .string "It's a BRONZE CARD!$"
-
- .align 2
-gUnknown_8459474:: @ 8459474
- .string "It's a COPPER CARD!$"
-
- .align 2
-gUnknown_8459488:: @ 8459488
- .string "It's a SILVER CARD!$"
-
- .align 2
-gUnknown_845949C:: @ 845949C
- .string "It's a GOLD CARD!$"
-
- .align 2
-gUnknown_84594B0:: @ 84594B0
- .word gUnknown_845944C
- .word gUnknown_8459460
- .word gUnknown_8459474
- .word gUnknown_8459488
- .word gUnknown_845949C
-
- .align 2
-gUnknown_84594C4:: @ 84594C4
- .string "This is {SPECIAL_F7 0x00} {SPECIAL_F7 0x01}'s\nTRAINER CARD…\l{SPECIAL_F7 0x02}\pPOKéDEX: {SPECIAL_F7 0x03}\nTIME: {SPECIAL_F7 0x04}:{SPECIAL_F7 0x05}\p$"
-
- .align 2
-gUnknown_8459504:: @ 8459504
- .string "BATTLES: {SPECIAL_F7 0x00} WINS {SPECIAL_F7 0x02} LOSSES\nTRADES: {SPECIAL_F7 0x03} TIMES\p“{SPECIAL_F7 0x04} {SPECIAL_F7 0x05}\n{SPECIAL_F7 0x06} {SPECIAL_F7 0x07}”\p$"
-
- .align 2
-gUnknown_8459544:: @ 8459544
- .string "{SPECIAL_F7 0x01}: Glad to have met you!{PAUSE 60}$"
-
- .align 2
-gUnknown_8459564:: @ 8459564
- .string "{SPECIAL_F7 0x01}: Glad to meet you!{PAUSE 60}$"
-
- .align 2
-gUnknown_8459580:: @ 8459580
- .word gUnknown_8459544
- .word gUnknown_8459564
-
- .align 2
-gUnknown_8459588:: @ 8459588
- .string "Finished checking {SPECIAL_F7 0x01}'s\nTRAINER CARD.{PAUSE 60}$"
-
- @ why is this data here of all places?
-
- .align 2
-gUnknown_84595B0::
- .string "Canceled reading the Card.$"
-
- .align 2
-gUnknown_84595CC::
- .4byte 0x02, 0x15 @ RECEIVE ID(0x15)
- .4byte 0x0c, 0x00 @ READ PACKET AND COMPUTER SOMETHING
- .4byte 0x14, 0x00 @ SEND ALL
- .4byte 0x01, 0x0e @ RETURN 0x0e
-
-gMEventSrvScript_OtherTrainerCanceled:: @ 84595EC @ referenced in mevent/script_common.inc
- .4byte 0x12, 0x20, gUnknown_84595CC @ SEND
- .4byte 0x01, 0x00, NULL @ WAIT SEND
- .4byte 0x14, 0x1b, gUnknown_84595B0 @ SEND_STR
- .4byte 0x01, 0x00, NULL @ WAIT SEND
- .4byte 0x02, 0x14, NULL @ RECV
- .4byte 0x00, 0x09, NULL @ RETURN (other trainer canceled)