diff options
Diffstat (limited to 'data')
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) |