summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/battle_4.c20332
1 files changed, 10166 insertions, 10166 deletions
diff --git a/src/battle_4.c b/src/battle_4.c
index 3c481921b..9ca75e4b9 100644
--- a/src/battle_4.c
+++ b/src/battle_4.c
@@ -288,10 +288,10 @@ extern u8 gUnknown_081D95DB[]; //bs payday money give
#define CMP_COMMON_BITS 0x4
#define CMP_NO_COMMON_BITS 0x5
-#define BATTLE_WON 0x1
-#define BATTLE_LOST 0x2
-#define BATTLE_DREW 0x3
-#define BATTLE_RAN 0x4
+#define BATTLE_WON 0x1
+#define BATTLE_LOST 0x2
+#define BATTLE_DREW 0x3
+#define BATTLE_RAN 0x4
#define BATTLE_PLAYER_TELEPORTED 0x5
#define BATTLE_POKE_FLED 0x6
#define BATTLE_CAUGHT 0x7
@@ -580,254 +580,254 @@ typedef void (*BattleCmdFunc)(void);
const BattleCmdFunc gBattleScriptingCommandsTable[] =
{
- atk00_attackcanceler,
- atk01_accuracycheck,
- atk02_attackstring,
- atk03_ppreduce,
- atk04_critcalc,
- atk05_damagecalc1,
- atk06_typecalc,
- atk07_dmg_adjustment,
- atk08_dmg_adjustment2,
- atk09_attackanimation,
- atk0A_waitanimation,
- atk0B_healthbarupdate,
- atk0C_datahpupdate,
- atk0D_critmessage,
- atk0E_effectiveness_sound,
- atk0F_resultmessage,
- atk10_printstring,
- atk11_printstring_playeronly,
- atk12_waitmessage,
- atk13_printfromtable,
- atk14_printfromtable_playeronly,
- atk15_seteffectwithchancetarget,
- atk16_seteffectprimary,
- atk17_seteffectsecondary,
- atk18_status_effect_clear,
- atk19_faint_pokemon,
- atk1A_faint_animation,
- atk1B_faint_effects_clear,
- atk1C_jumpifstatus,
- atk1D_jumpifstatus2,
- atk1E_jumpifability,
- atk1F_jumpifsideaffecting,
- atk20_jumpifstat,
- atk21_jumpifstatus3,
- atk22_jumpiftype,
- atk23_getexp,
- atk24,
- atk25_move_values_cleanup,
- atk26_set_multihit,
- atk27_decrement_multihit,
- atk28_goto,
- atk29_jumpifbyte,
- atk2A_jumpifhalfword,
- atk2B_jumpifword,
- atk2C_jumpifarrayequal,
- atk2D_jumpifarraynotequal,
- atk2E_setbyte,
- atk2F_addbyte,
- atk30_subbyte,
- atk31_copyarray,
- atk32_copyarray_withindex,
- atk33_orbyte,
- atk34_orhalfword,
- atk35_orword,
- atk36_bicbyte,
- atk37_bichalfword,
- atk38_bicword,
- atk39_pause,
- atk3A_waitstate,
- atk3B_healthbar_update,
- atk3C_return,
- atk3D_end,
- atk3E_end2,
- atk3F_end3,
- atk40_jump_if_move_affected_by_protect,
- atk41_call,
- atk42_jumpiftype2,
- atk43_jumpifabilitypresent,
- atk44,
- atk45_playanimation,
- atk46_playanimation2,
- atk47_setgraphicalstatchangevalues,
- atk48_playstatchangeanimation,
- atk49_moveendturn,
- atk4A_typecalc2,
- atk4B_return_atk_to_ball,
- atk4C_copy_poke_data,
- atk4D_switch_data_update,
- atk4E_switchin_anim,
- atk4F_jump_if_cannot_switch,
- atk50_openpartyscreen,
- atk51_switch_handle_order,
- atk52_switch_in_effects,
- atk53_trainer_slide,
- atk54_effectiveness_sound,
- atk55_play_sound,
- atk56_fainting_cry,
- atk57,
- atk58_return_to_ball,
- atk59_learnmove_inbattle,
- atk5A,
- atk5B_80256E0,
- atk5C_hitanimation,
- atk5D_getmoneyreward,
- atk5E_8025A70,
- atk5F_8025B24,
- atk60_increment_gamestat,
- atk61_8025BA4,
- atk62_08025C6C,
- atk63_jumptorandomattack,
- atk64_statusanimation,
- atk65_status2animation,
- atk66_chosenstatusanimation,
- atk67_8025ECC,
- atk68_80246A0,
- atk69_dmg_adjustment2,
- atk6A_removeitem,
- atk6B_atknameinbuff1,
- atk6C_lvlbox_display,
- atk6D_set_sentpokes_values,
- atk6E_set_atk_to_player0,
- atk6F_set_visible,
- atk70_record_ability,
- atk71_buffer_move_to_learn,
- atk72_jump_if_can_run_frombattle,
- atk73_hp_thresholds,
- atk74_hp_thresholds2,
- atk75_8026A58,
- atk76_various,
- atk77_setprotect,
- atk78_faintifabilitynotdamp,
- atk79_setatkhptozero,
- atk7A_jumpwhiletargetvalid,
- atk7B_healhalfHP_if_possible,
- atk7C_8025508,
- atk7D_set_rain,
- atk7E_setreflect,
- atk7F_setseeded,
- atk80_manipulatedamage,
- atk81_setrest,
- atk82_jumpifnotfirstturn,
- atk83_nop,
- atk84_jump_if_cant_sleep,
- atk85_stockpile,
- atk86_stockpiletobasedamage,
- atk87_stockpiletohpheal,
- atk88_negativedamage,
- atk89_statbuffchange,
- atk8A_normalisebuffs,
- atk8B_setbide,
- atk8C_confuseifrepeatingattackends,
- atk8D_setmultihit_counter,
- atk8E_prepare_multihit,
- atk8F_forcerandomswitch,
- atk90_conversion_type_change,
- atk91_givepaydaymoney,
- atk92_setlightscreen,
- atk93_ko_move,
- atk94_gethalfcurrentenemyhp,
- atk95_setsandstorm,
- atk96_weatherdamage,
- atk97_try_infatuation,
- atk98_status_icon_update,
- atk99_setmist,
- atk9A_set_focusenergy,
- atk9B_transformdataexecution,
- atk9C_set_substitute,
- atk9D_copyattack,
- atk9E_metronome,
- atk9F_dmgtolevel,
- atkA0_psywavedamageeffect,
- atkA1_counterdamagecalculator,
- atkA2_mirrorcoatdamagecalculator,
- atkA3_disablelastusedattack,
- atkA4_setencore,
- atkA5_painsplitdmgcalc,
- atkA6_settypetorandomresistance,
- atkA7_setalwayshitflag,
- atkA8_copymovepermanently,
- atkA9_sleeptalk_choose_move,
- atkAA_set_destinybond,
- atkAB_DestinyBondFlagUpdate,
- atkAC_remaininghptopower,
- atkAD_spite_ppreduce,
- atkAE_heal_party_status,
- atkAF_cursetarget,
- atkB0_set_spikes,
- atkB1_set_foresight,
- atkB2_setperishsong,
- atkB3_rolloutdamagecalculation,
- atkB4_jumpifconfusedandstatmaxed,
- atkB5_furycuttercalc,
- atkB6_happinesstodamagecalculation,
- atkB7_presentdamagecalculation,
- atkB8_set_safeguard,
- atkB9_magnitudedamagecalculation,
- atkBA_jumpifnopursuitswitchdmg,
- atkBB_setsunny,
- atkBC_maxattackhalvehp,
- atkBD_copyfoestats,
- atkBE_breakfree,
- atkBF_set_defense_curl,
- atkC0_recoverbasedonsunlight,
- atkC1_hidden_power,
- atkC2_selectnexttarget,
- atkC3_setfutureattack,
- atkC4_beat_up,
- atkC5_hidepreattack,
- atkC6_unhidepostattack,
- atkC7_setminimize,
- atkC8_sethail,
- atkC9_jumpifattackandspecialattackcannotfall,
- atkCA_setforcedtarget,
- atkCB_setcharge,
- atkCC_callterrainattack,
- atkCD_cureifburnedparalysedorpoisoned,
- atkCE_settorment,
- atkCF_jumpifnodamage,
- atkD0_settaunt,
- atkD1_set_helpinghand,
- atkD2_swap_items,
- atkD3_copy_ability,
- atkD4_wish_effect,
- atkD5_setroots,
- atkD6_doubledamagedealtifdamaged,
- atkD7_setyawn,
- atkD8_setdamagetohealthdifference,
- atkD9_scaledamagebyhealthratio,
- atkDA_abilityswap,
- atkDB_imprisoneffect,
- atkDC_setgrudge,
- atkDD_weightdamagecalculation,
- atkDE_asistattackselect,
- atkDF_setmagiccoat,
- atkE0_setstealstatchange,
- atkE1_intimidate_string_loader,
- atkE2_switchout_abilities,
- atkE3_jumpiffainted,
- atkE4_getsecretpowereffect,
- atkE5_pickup,
- atkE6_castform_change_animation,
- atkE7_castform_data_change,
- atkE8_settypebasedhalvers,
- atkE9_setweatherballtype,
- atkEA_recycleitem,
- atkEB_settypetoterrain,
- atkEC_pursuit_sth,
- atkED_802B4B4,
- atkEE_removelightscreenreflect,
- atkEF_pokeball_catch_calculation,
- atkF0_copy_caught_poke,
- atkF1_setpoke_as_caught,
- atkF2_display_dex_info,
- atkF3_nickname_caught_poke,
- atkF4_802BEF0,
- atkF5_removeattackerstatus1,
- atkF6_802BF48,
- atkF7_802BF54,
+ atk00_attackcanceler,
+ atk01_accuracycheck,
+ atk02_attackstring,
+ atk03_ppreduce,
+ atk04_critcalc,
+ atk05_damagecalc1,
+ atk06_typecalc,
+ atk07_dmg_adjustment,
+ atk08_dmg_adjustment2,
+ atk09_attackanimation,
+ atk0A_waitanimation,
+ atk0B_healthbarupdate,
+ atk0C_datahpupdate,
+ atk0D_critmessage,
+ atk0E_effectiveness_sound,
+ atk0F_resultmessage,
+ atk10_printstring,
+ atk11_printstring_playeronly,
+ atk12_waitmessage,
+ atk13_printfromtable,
+ atk14_printfromtable_playeronly,
+ atk15_seteffectwithchancetarget,
+ atk16_seteffectprimary,
+ atk17_seteffectsecondary,
+ atk18_status_effect_clear,
+ atk19_faint_pokemon,
+ atk1A_faint_animation,
+ atk1B_faint_effects_clear,
+ atk1C_jumpifstatus,
+ atk1D_jumpifstatus2,
+ atk1E_jumpifability,
+ atk1F_jumpifsideaffecting,
+ atk20_jumpifstat,
+ atk21_jumpifstatus3,
+ atk22_jumpiftype,
+ atk23_getexp,
+ atk24,
+ atk25_move_values_cleanup,
+ atk26_set_multihit,
+ atk27_decrement_multihit,
+ atk28_goto,
+ atk29_jumpifbyte,
+ atk2A_jumpifhalfword,
+ atk2B_jumpifword,
+ atk2C_jumpifarrayequal,
+ atk2D_jumpifarraynotequal,
+ atk2E_setbyte,
+ atk2F_addbyte,
+ atk30_subbyte,
+ atk31_copyarray,
+ atk32_copyarray_withindex,
+ atk33_orbyte,
+ atk34_orhalfword,
+ atk35_orword,
+ atk36_bicbyte,
+ atk37_bichalfword,
+ atk38_bicword,
+ atk39_pause,
+ atk3A_waitstate,
+ atk3B_healthbar_update,
+ atk3C_return,
+ atk3D_end,
+ atk3E_end2,
+ atk3F_end3,
+ atk40_jump_if_move_affected_by_protect,
+ atk41_call,
+ atk42_jumpiftype2,
+ atk43_jumpifabilitypresent,
+ atk44,
+ atk45_playanimation,
+ atk46_playanimation2,
+ atk47_setgraphicalstatchangevalues,
+ atk48_playstatchangeanimation,
+ atk49_moveendturn,
+ atk4A_typecalc2,
+ atk4B_return_atk_to_ball,
+ atk4C_copy_poke_data,
+ atk4D_switch_data_update,
+ atk4E_switchin_anim,
+ atk4F_jump_if_cannot_switch,
+ atk50_openpartyscreen,
+ atk51_switch_handle_order,
+ atk52_switch_in_effects,
+ atk53_trainer_slide,
+ atk54_effectiveness_sound,
+ atk55_play_sound,
+ atk56_fainting_cry,
+ atk57,
+ atk58_return_to_ball,
+ atk59_learnmove_inbattle,
+ atk5A,
+ atk5B_80256E0,
+ atk5C_hitanimation,
+ atk5D_getmoneyreward,
+ atk5E_8025A70,
+ atk5F_8025B24,
+ atk60_increment_gamestat,
+ atk61_8025BA4,
+ atk62_08025C6C,
+ atk63_jumptorandomattack,
+ atk64_statusanimation,
+ atk65_status2animation,
+ atk66_chosenstatusanimation,
+ atk67_8025ECC,
+ atk68_80246A0,
+ atk69_dmg_adjustment2,
+ atk6A_removeitem,
+ atk6B_atknameinbuff1,
+ atk6C_lvlbox_display,
+ atk6D_set_sentpokes_values,
+ atk6E_set_atk_to_player0,
+ atk6F_set_visible,
+ atk70_record_ability,
+ atk71_buffer_move_to_learn,
+ atk72_jump_if_can_run_frombattle,
+ atk73_hp_thresholds,
+ atk74_hp_thresholds2,
+ atk75_8026A58,
+ atk76_various,
+ atk77_setprotect,
+ atk78_faintifabilitynotdamp,
+ atk79_setatkhptozero,
+ atk7A_jumpwhiletargetvalid,
+ atk7B_healhalfHP_if_possible,
+ atk7C_8025508,
+ atk7D_set_rain,
+ atk7E_setreflect,
+ atk7F_setseeded,
+ atk80_manipulatedamage,
+ atk81_setrest,
+ atk82_jumpifnotfirstturn,
+ atk83_nop,
+ atk84_jump_if_cant_sleep,
+ atk85_stockpile,
+ atk86_stockpiletobasedamage,
+ atk87_stockpiletohpheal,
+ atk88_negativedamage,
+ atk89_statbuffchange,
+ atk8A_normalisebuffs,
+ atk8B_setbide,
+ atk8C_confuseifrepeatingattackends,
+ atk8D_setmultihit_counter,
+ atk8E_prepare_multihit,
+ atk8F_forcerandomswitch,
+ atk90_conversion_type_change,
+ atk91_givepaydaymoney,
+ atk92_setlightscreen,
+ atk93_ko_move,
+ atk94_gethalfcurrentenemyhp,
+ atk95_setsandstorm,
+ atk96_weatherdamage,
+ atk97_try_infatuation,
+ atk98_status_icon_update,
+ atk99_setmist,
+ atk9A_set_focusenergy,
+ atk9B_transformdataexecution,
+ atk9C_set_substitute,
+ atk9D_copyattack,
+ atk9E_metronome,
+ atk9F_dmgtolevel,
+ atkA0_psywavedamageeffect,
+ atkA1_counterdamagecalculator,
+ atkA2_mirrorcoatdamagecalculator,
+ atkA3_disablelastusedattack,
+ atkA4_setencore,
+ atkA5_painsplitdmgcalc,
+ atkA6_settypetorandomresistance,
+ atkA7_setalwayshitflag,
+ atkA8_copymovepermanently,
+ atkA9_sleeptalk_choose_move,
+ atkAA_set_destinybond,
+ atkAB_DestinyBondFlagUpdate,
+ atkAC_remaininghptopower,
+ atkAD_spite_ppreduce,
+ atkAE_heal_party_status,
+ atkAF_cursetarget,
+ atkB0_set_spikes,
+ atkB1_set_foresight,
+ atkB2_setperishsong,
+ atkB3_rolloutdamagecalculation,
+ atkB4_jumpifconfusedandstatmaxed,
+ atkB5_furycuttercalc,
+ atkB6_happinesstodamagecalculation,
+ atkB7_presentdamagecalculation,
+ atkB8_set_safeguard,
+ atkB9_magnitudedamagecalculation,
+ atkBA_jumpifnopursuitswitchdmg,
+ atkBB_setsunny,
+ atkBC_maxattackhalvehp,
+ atkBD_copyfoestats,
+ atkBE_breakfree,
+ atkBF_set_defense_curl,
+ atkC0_recoverbasedonsunlight,
+ atkC1_hidden_power,
+ atkC2_selectnexttarget,
+ atkC3_setfutureattack,
+ atkC4_beat_up,
+ atkC5_hidepreattack,
+ atkC6_unhidepostattack,
+ atkC7_setminimize,
+ atkC8_sethail,
+ atkC9_jumpifattackandspecialattackcannotfall,
+ atkCA_setforcedtarget,
+ atkCB_setcharge,
+ atkCC_callterrainattack,
+ atkCD_cureifburnedparalysedorpoisoned,
+ atkCE_settorment,
+ atkCF_jumpifnodamage,
+ atkD0_settaunt,
+ atkD1_set_helpinghand,
+ atkD2_swap_items,
+ atkD3_copy_ability,
+ atkD4_wish_effect,
+ atkD5_setroots,
+ atkD6_doubledamagedealtifdamaged,
+ atkD7_setyawn,
+ atkD8_setdamagetohealthdifference,
+ atkD9_scaledamagebyhealthratio,
+ atkDA_abilityswap,
+ atkDB_imprisoneffect,
+ atkDC_setgrudge,
+ atkDD_weightdamagecalculation,
+ atkDE_asistattackselect,
+ atkDF_setmagiccoat,
+ atkE0_setstealstatchange,
+ atkE1_intimidate_string_loader,
+ atkE2_switchout_abilities,
+ atkE3_jumpiffainted,
+ atkE4_getsecretpowereffect,
+ atkE5_pickup,
+ atkE6_castform_change_animation,
+ atkE7_castform_data_change,
+ atkE8_settypebasedhalvers,
+ atkE9_setweatherballtype,
+ atkEA_recycleitem,
+ atkEB_settypetoterrain,
+ atkEC_pursuit_sth,
+ atkED_802B4B4,
+ atkEE_removelightscreenreflect,
+ atkEF_pokeball_catch_calculation,
+ atkF0_copy_caught_poke,
+ atkF1_setpoke_as_caught,
+ atkF2_display_dex_info,
+ atkF3_nickname_caught_poke,
+ atkF4_802BEF0,
+ atkF5_removeattackerstatus1,
+ atkF6_802BF48,
+ atkF7_802BF54,
};
struct statFractions{
@@ -838,19 +838,19 @@ struct statFractions{
static const struct statFractions gAccuracyStageRatios[] =
{
- {33, 100, 0}, // -6
- {36, 100, 0}, // -5
- {43, 100, 0}, // -4
- {50, 100, 0}, // -3
- {60, 100, 0}, // -2
- {75, 100, 0}, // -1
- {1, 1, 0}, // 0
- {133, 100, 0}, // +1
- {166, 100, 0}, // +2
- {2, 1, 0}, // +3
- {233, 100, 0}, // +4
- {133, 50, 0}, // +5
- {3, 1, 0}, // +6
+ {33, 100, 0}, // -6
+ {36, 100, 0}, // -5
+ {43, 100, 0}, // -4
+ {50, 100, 0}, // -3
+ {60, 100, 0}, // -2
+ {75, 100, 0}, // -1
+ {1, 1, 0}, // 0
+ {133, 100, 0}, // +1
+ {166, 100, 0}, // +2
+ {2, 1, 0}, // +3
+ {233, 100, 0}, // +4
+ {133, 50, 0}, // +5
+ {3, 1, 0}, // +6
};
//The chance is 1/N for each stage.
@@ -858,66 +858,66 @@ static const u16 gCriticalHitChance[] = {16, 8, 4, 3, 2};
static const u32 gStatusFlagsForMoveEffects[] =
{
- 0x00000000,
- 0x00000007,
- 0x00000008,
- 0x00000010,
- 0x00000020,
- 0x00000040,
- 0x00000080,
- 0x00000007,
- 0x00000008,
- 0x00000000,
- 0x00000070,
- 0x00000000,
- 0x00001000,
- 0x0000E000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00400000,
- 0x00000000,
- 0x00000000,
- 0x04000000,
- 0x08000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000C00,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000,
- 0x00000000
+ 0x00000000,
+ 0x00000007,
+ 0x00000008,
+ 0x00000010,
+ 0x00000020,
+ 0x00000040,
+ 0x00000080,
+ 0x00000007,
+ 0x00000008,
+ 0x00000000,
+ 0x00000070,
+ 0x00000000,
+ 0x00001000,
+ 0x0000E000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00400000,
+ 0x00000000,
+ 0x00000000,
+ 0x04000000,
+ 0x08000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000C00,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000
};
extern const u8 BattleScript_1D963E[];
@@ -934,45 +934,45 @@ extern const u8 BattleScript_1D96C8[];
const u8* const gMoveEffectBS_Ptrs[] =
{
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D965A,
- BattleScript_1D9669,
- BattleScript_1D9678,
- BattleScript_1D9687,
- BattleScript_1D969D,
- BattleScript_1D96BA,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D9696,
- BattleScript_1D96AA,
- BattleScript_1D963E,
- BattleScript_1D96B1,
- BattleScript_1D96C8,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D963E,
- BattleScript_1D96C8
+ BattleScript_1D963E,
+ BattleScript_1D963E,
+ BattleScript_1D965A,
+ BattleScript_1D9669,
+ BattleScript_1D9678,
+ BattleScript_1D9687,
+ BattleScript_1D969D,
+ BattleScript_1D96BA,
+ BattleScript_1D963E,
+ BattleScript_1D963E,
+ BattleScript_1D9696,
+ BattleScript_1D96AA,
+ BattleScript_1D963E,
+ BattleScript_1D96B1,
+ BattleScript_1D96C8,
+ BattleScript_1D963E,
+ BattleScript_1D963E,
+ BattleScript_1D963E,
+ BattleScript_1D963E,
+ BattleScript_1D963E,
+ BattleScript_1D963E,
+ BattleScript_1D963E,
+ BattleScript_1D963E,
+ BattleScript_1D963E,
+ BattleScript_1D963E,
+ BattleScript_1D963E,
+ BattleScript_1D963E,
+ BattleScript_1D963E,
+ BattleScript_1D963E,
+ BattleScript_1D963E,
+ BattleScript_1D963E,
+ BattleScript_1D963E,
+ BattleScript_1D963E,
+ BattleScript_1D963E,
+ BattleScript_1D963E,
+ BattleScript_1D963E,
+ BattleScript_1D963E,
+ BattleScript_1D963E,
+ BattleScript_1D96C8
};
const u8 sUnreferencedBitMask1[] = {0, 1, 3, 7, 0xF, 0x1F, 0x3F};
@@ -983,90 +983,90 @@ static const u16 sProtectSuccessRates[] = {0xFFFF, 0x7FFF, 0x3FFF, 0x1FFF};
static const u16 sUnknown_081FACFE[] = //banned moves to copy
{
- MOVE_METRONOME,
- MOVE_STRUGGLE,
- MOVE_SKETCH,
- MOVE_MIMIC,
- 0xFFFE,
- MOVE_COUNTER,
- MOVE_MIRROR_COAT,
- MOVE_PROTECT,
- MOVE_DETECT,
- MOVE_ENDURE,
- MOVE_DESTINY_BOND,
- MOVE_SLEEP_TALK,
- MOVE_THIEF,
- MOVE_FOLLOW_ME,
- MOVE_SNATCH,
- MOVE_HELPING_HAND,
- MOVE_COVET,
- MOVE_TRICK,
- MOVE_FOCUS_PUNCH,
- 0xFFFF
+ MOVE_METRONOME,
+ MOVE_STRUGGLE,
+ MOVE_SKETCH,
+ MOVE_MIMIC,
+ 0xFFFE,
+ MOVE_COUNTER,
+ MOVE_MIRROR_COAT,
+ MOVE_PROTECT,
+ MOVE_DETECT,
+ MOVE_ENDURE,
+ MOVE_DESTINY_BOND,
+ MOVE_SLEEP_TALK,
+ MOVE_THIEF,
+ MOVE_FOLLOW_ME,
+ MOVE_SNATCH,
+ MOVE_HELPING_HAND,
+ MOVE_COVET,
+ MOVE_TRICK,
+ MOVE_FOCUS_PUNCH,
+ 0xFFFF
};
static const u8 sUnknown_081FAD26[] =
{
- 1, 200,
- 4, 150,
- 9, 100,
- 16, 80,
- 32, 40,
- 48, 20
+ 1, 200,
+ 4, 150,
+ 9, 100,
+ 16, 80,
+ 32, 40,
+ 48, 20
};
static const u16 sNaturePowerMoves[] =
{
- MOVE_STUN_SPORE,
- MOVE_RAZOR_LEAF,
- MOVE_EARTHQUAKE,
- MOVE_HYDRO_PUMP,
- MOVE_SURF,
- MOVE_BUBBLE_BEAM,
- MOVE_ROCK_SLIDE,
- MOVE_SHADOW_BALL,
- MOVE_SWIFT,
- MOVE_SWIFT
+ MOVE_STUN_SPORE,
+ MOVE_RAZOR_LEAF,
+ MOVE_EARTHQUAKE,
+ MOVE_HYDRO_PUMP,
+ MOVE_SURF,
+ MOVE_BUBBLE_BEAM,
+ MOVE_ROCK_SLIDE,
+ MOVE_SHADOW_BALL,
+ MOVE_SWIFT,
+ MOVE_SWIFT
};
//weight-based damage table for Low Kick
//format: min. weight (hectograms), base power
static const u16 sWeightDamage[] =
{
- 100, 20,
- 250, 40,
- 500, 60,
- 1000, 80,
- 2000, 100,
- -1, -1
+ 100, 20,
+ 250, 40,
+ 500, 60,
+ 1000, 80,
+ 2000, 100,
+ -1, -1
};
static const u16 sPickupItems[] =
{
- ITEM_SUPER_POTION, 30,
- ITEM_FULL_HEAL, 40,
- ITEM_ULTRA_BALL, 50,
- ITEM_RARE_CANDY, 60,
- ITEM_FULL_RESTORE, 70,
- ITEM_REVIVE, 80,
- ITEM_NUGGET, 90,
- ITEM_PROTEIN, 95,
- ITEM_PP_UP, 99,
- ITEM_KINGS_ROCK, 1
+ ITEM_SUPER_POTION, 30,
+ ITEM_FULL_HEAL, 40,
+ ITEM_ULTRA_BALL, 50,
+ ITEM_RARE_CANDY, 60,
+ ITEM_FULL_RESTORE, 70,
+ ITEM_REVIVE, 80,
+ ITEM_NUGGET, 90,
+ ITEM_PROTEIN, 95,
+ ITEM_PP_UP, 99,
+ ITEM_KINGS_ROCK, 1
};
static const u8 sTerrainToType[] =
{
- TYPE_GRASS, // tall grass
- TYPE_GRASS, // long grass
- TYPE_GROUND, // sand
- TYPE_WATER, // underwater
- TYPE_WATER, // water
- TYPE_WATER, // pond water
- TYPE_ROCK , // rock
- TYPE_ROCK , // cave
- TYPE_NORMAL, // building
- TYPE_NORMAL, // plain
+ TYPE_GRASS, // tall grass
+ TYPE_GRASS, // long grass
+ TYPE_GROUND, // sand
+ TYPE_WATER, // underwater
+ TYPE_WATER, // water
+ TYPE_WATER, // pond water
+ TYPE_ROCK , // rock
+ TYPE_ROCK , // cave
+ TYPE_NORMAL, // building
+ TYPE_NORMAL, // plain
};
static const u8 sBallCatchBonuses[] =
@@ -1078,10 +1078,10 @@ static void atk00_attackcanceler(void)
{
int i;
if (gBattleOutcome)
- {
- gFightStateTracker = 0xC;
- return;
- }
+ {
+ gFightStateTracker = 0xC;
+ return;
+ }
if (gBattleMons[gBankAttacker].hp == 0 && !(gHitMarker & HITMARKER_NO_ATTACKSTRING))
{
gHitMarker |= HITMARKER_x80000;
@@ -1089,9 +1089,9 @@ static void atk00_attackcanceler(void)
return;
}
if (CantUseMove())
- return;
+ return;
if (AbilityBattleEffects(2, gBankTarget, 0, 0, 0))
- return;
+ return;
if (!gBattleMons[gBankAttacker].pp[gCurrMovePos] && gCurrentMove != MOVE_STRUGGLE && !(gHitMarker & 0x800200)
&& !(gBattleMons[gBankAttacker].status2 & STATUS2_MULTIPLETURNS))
{
@@ -1169,7 +1169,7 @@ static void JumpIfMoveFailed(u8 adder, u16 move)
{
DestinyBondFlagUpdate();
if (AbilityBattleEffects(3, gBankTarget, 0, 0, move))
- return;
+ return;
}
gBattlescriptCurrInstr = to_store;
}
@@ -1263,9 +1263,9 @@ static void atk01_accuracycheck(void)
type = gBattleMoves[move].type;
if (JumpIfMoveAffectedByProtect(move))
- return;
+ return;
if (AccuracyCalcHelper(move))
- return;
+ return;
if (gBattleMons[gBankTarget].status2 & STATUS2_FORESIGHT)
{
@@ -1327,7 +1327,7 @@ static void atk01_accuracycheck(void)
static void atk02_attackstring(void)
{
if (gBattleExecBuffer)
- return;
+ return;
if (!(gHitMarker & (HITMARKER_NO_ATTACKSTRING | HITMARKER_ATTACKSTRING_PRINTED)))
{
PrepareStringBattle(4, gBankAttacker);
@@ -1341,7 +1341,7 @@ static void atk03_ppreduce(void)
{
int to_deduct = 1;
if (gBattleExecBuffer)
- return;
+ return;
if (!gSpecialStatuses[gBankAttacker].flag20)
{
switch (gBattleMoves[gCurrentMove].target)
@@ -1725,246 +1725,246 @@ __attribute__((naked))
u8 TypeCalc(u16 move, u8 bank_atk, u8 bank_def)
{
asm(".syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- sub sp, 0x14\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- mov r10, r0\n\
- lsls r1, 24\n\
- lsrs r1, 24\n\
- str r1, [sp, 0x4]\n\
- lsls r2, 24\n\
- lsrs r2, 24\n\
- mov r9, r2\n\
- movs r7, 0\n\
- mov r0, sp\n\
- strb r7, [r0]\n\
- mov r0, r10\n\
- cmp r0, 0xA5\n\
- bne _0801D2AE\n\
- movs r0, 0\n\
- b _0801D43A\n\
- _0801D2AE:\n\
- ldr r1, _0801D31C @ =gBattleMoves\n\
- mov r3, r10\n\
- lsls r2, r3, 1\n\
- adds r0, r2, r3\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldrb r0, [r0, 0x2]\n\
- str r0, [sp, 0x8]\n\
- ldr r1, _0801D320 @ =gBattleMons\n\
- movs r0, 0x58\n\
- ldr r3, [sp, 0x4]\n\
- muls r0, r3\n\
- adds r3, r0, r1\n\
- adds r0, r3, 0\n\
- adds r0, 0x21\n\
- ldrb r0, [r0]\n\
- str r2, [sp, 0xC]\n\
- adds r5, r1, 0\n\
- ldr r1, [sp, 0x8]\n\
- cmp r0, r1\n\
- beq _0801D2E2\n\
- adds r0, r3, 0\n\
- adds r0, 0x22\n\
- ldrb r0, [r0]\n\
- cmp r0, r1\n\
- bne _0801D2F4\n\
- _0801D2E2:\n\
- ldr r4, _0801D324 @ =gBattleMoveDamage\n\
- ldr r1, [r4]\n\
- lsls r0, r1, 4\n\
- subs r0, r1\n\
- str r0, [r4]\n\
- movs r1, 0xA\n\
- bl __divsi3\n\
- str r0, [r4]\n\
- _0801D2F4:\n\
- movs r0, 0x58\n\
- mov r2, r9\n\
- muls r2, r0\n\
- adds r0, r2, 0\n\
- adds r0, r5\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x1A\n\
- bne _0801D328\n\
- ldr r3, [sp, 0x8]\n\
- cmp r3, 0x4\n\
- bne _0801D328\n\
- movs r1, 0x9\n\
- mov r0, sp\n\
- ldrb r0, [r0]\n\
- orrs r0, r1\n\
- mov r1, sp\n\
- strb r0, [r1]\n\
- b _0801D3DC\n\
- .align 2, 0\n\
- _0801D31C: .4byte gBattleMoves\n\
- _0801D320: .4byte gBattleMons\n\
- _0801D324: .4byte gBattleMoveDamage\n\
- _0801D328:\n\
- ldr r1, _0801D344 @ =gTypeEffectiveness\n\
- adds r0, r7, r1\n\
- ldrb r0, [r0]\n\
- adds r2, r1, 0\n\
- cmp r0, 0xFF\n\
- beq _0801D3DC\n\
- cmp r0, 0xFE\n\
- bne _0801D34C\n\
- movs r0, 0x58\n\
- mov r1, r9\n\
- muls r1, r0\n\
- adds r0, r1, 0\n\
- b _0801D3CA\n\
- .align 2, 0\n\
- _0801D344: .4byte gTypeEffectiveness\n\
- _0801D348:\n\
- adds r7, 0x3\n\
- b _0801D3B6\n\
- _0801D34C:\n\
- ldr r6, _0801D44C @ =gTypeEffectiveness\n\
- adds r0, r7, r6\n\
- ldrb r0, [r0]\n\
- ldr r2, [sp, 0x8]\n\
- cmp r0, r2\n\
- bne _0801D3B0\n\
- adds r1, r7, 0x1\n\
- adds r1, r6\n\
- ldr r3, _0801D450 @ =gBattleMons\n\
- mov r8, r3\n\
- movs r3, 0x58\n\
- mov r0, r9\n\
- muls r0, r3\n\
- mov r2, r8\n\
- adds r5, r0, r2\n\
- adds r0, r5, 0\n\
- adds r0, 0x21\n\
- ldrb r4, [r1]\n\
- ldrb r0, [r0]\n\
- cmp r4, r0\n\
- bne _0801D388\n\
- adds r0, r7, 0x2\n\
- adds r0, r6\n\
- ldrb r0, [r0]\n\
- mov r1, r10\n\
- mov r2, sp\n\
- str r3, [sp, 0x10]\n\
- bl ModulateDmgByType2\n\
- ldr r3, [sp, 0x10]\n\
- _0801D388:\n\
- adds r0, r5, 0\n\
- adds r0, 0x22\n\
- ldrb r0, [r0]\n\
- cmp r4, r0\n\
- bne _0801D3B0\n\
- ldr r0, _0801D454 @ =gBankTarget\n\
- ldrb r0, [r0]\n\
- muls r0, r3\n\
- add r0, r8\n\
- adds r0, 0x21\n\
- ldrb r0, [r0]\n\
- cmp r0, r4\n\
- beq _0801D3B0\n\
- adds r0, r7, 0x2\n\
- adds r0, r6\n\
- ldrb r0, [r0]\n\
- mov r1, r10\n\
- mov r2, sp\n\
- bl ModulateDmgByType2\n\
- _0801D3B0:\n\
- adds r7, 0x3\n\
- ldr r5, _0801D450 @ =gBattleMons\n\
- ldr r2, _0801D44C @ =gTypeEffectiveness\n\
- _0801D3B6:\n\
- adds r0, r7, r2\n\
- ldrb r0, [r0]\n\
- cmp r0, 0xFF\n\
- beq _0801D3DC\n\
- cmp r0, 0xFE\n\
- bne _0801D34C\n\
- movs r0, 0x58\n\
- mov r3, r9\n\
- muls r3, r0\n\
- adds r0, r3, 0\n\
- _0801D3CA:\n\
- adds r1, r5, 0\n\
- adds r1, 0x50\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- movs r1, 0x80\n\
- lsls r1, 22\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _0801D348\n\
- _0801D3DC:\n\
- movs r0, 0x58\n\
- mov r1, r9\n\
- muls r1, r0\n\
- adds r0, r1, 0\n\
- adds r0, r5\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x19\n\
- bne _0801D436\n\
- mov r0, sp\n\
- ldrb r1, [r0]\n\
- movs r0, 0x1\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _0801D436\n\
- ldr r0, [sp, 0x4]\n\
- mov r1, r10\n\
- bl AttacksThisTurn\n\
- lsls r0, 24\n\
- lsrs r1, r0, 24\n\
- cmp r1, 0x2\n\
- bne _0801D436\n\
- mov r0, sp\n\
- ldrb r3, [r0]\n\
- adds r0, r1, 0\n\
- ands r0, r3\n\
- cmp r0, 0\n\
- beq _0801D41E\n\
- movs r0, 0x6\n\
- ands r0, r3\n\
- cmp r0, 0x6\n\
- bne _0801D436\n\
- _0801D41E:\n\
- ldr r0, _0801D458 @ =gBattleMoves\n\
- ldr r1, [sp, 0xC]\n\
- add r1, r10\n\
- lsls r1, 2\n\
- adds r1, r0\n\
- ldrb r0, [r1, 0x1]\n\
- cmp r0, 0\n\
- beq _0801D436\n\
- mov r0, sp\n\
- movs r1, 0x1\n\
- orrs r1, r3\n\
- strb r1, [r0]\n\
- _0801D436:\n\
- mov r0, sp\n\
- ldrb r0, [r0]\n\
- _0801D43A:\n\
- add sp, 0x14\n\
- pop {r3-r5}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- mov r10, r5\n\
- pop {r4-r7}\n\
- pop {r1}\n\
- bx r1\n\
- .align 2, 0\n\
- _0801D44C: .4byte gTypeEffectiveness\n\
- _0801D450: .4byte gBattleMons\n\
- _0801D454: .4byte gBankTarget\n\
- _0801D458: .4byte gBattleMoves\n\
+ push {r4-r7,lr}\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ sub sp, 0x14\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ mov r10, r0\n\
+ lsls r1, 24\n\
+ lsrs r1, 24\n\
+ str r1, [sp, 0x4]\n\
+ lsls r2, 24\n\
+ lsrs r2, 24\n\
+ mov r9, r2\n\
+ movs r7, 0\n\
+ mov r0, sp\n\
+ strb r7, [r0]\n\
+ mov r0, r10\n\
+ cmp r0, 0xA5\n\
+ bne _0801D2AE\n\
+ movs r0, 0\n\
+ b _0801D43A\n\
+ _0801D2AE:\n\
+ ldr r1, _0801D31C @ =gBattleMoves\n\
+ mov r3, r10\n\
+ lsls r2, r3, 1\n\
+ adds r0, r2, r3\n\
+ lsls r0, 2\n\
+ adds r0, r1\n\
+ ldrb r0, [r0, 0x2]\n\
+ str r0, [sp, 0x8]\n\
+ ldr r1, _0801D320 @ =gBattleMons\n\
+ movs r0, 0x58\n\
+ ldr r3, [sp, 0x4]\n\
+ muls r0, r3\n\
+ adds r3, r0, r1\n\
+ adds r0, r3, 0\n\
+ adds r0, 0x21\n\
+ ldrb r0, [r0]\n\
+ str r2, [sp, 0xC]\n\
+ adds r5, r1, 0\n\
+ ldr r1, [sp, 0x8]\n\
+ cmp r0, r1\n\
+ beq _0801D2E2\n\
+ adds r0, r3, 0\n\
+ adds r0, 0x22\n\
+ ldrb r0, [r0]\n\
+ cmp r0, r1\n\
+ bne _0801D2F4\n\
+ _0801D2E2:\n\
+ ldr r4, _0801D324 @ =gBattleMoveDamage\n\
+ ldr r1, [r4]\n\
+ lsls r0, r1, 4\n\
+ subs r0, r1\n\
+ str r0, [r4]\n\
+ movs r1, 0xA\n\
+ bl __divsi3\n\
+ str r0, [r4]\n\
+ _0801D2F4:\n\
+ movs r0, 0x58\n\
+ mov r2, r9\n\
+ muls r2, r0\n\
+ adds r0, r2, 0\n\
+ adds r0, r5\n\
+ adds r0, 0x20\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x1A\n\
+ bne _0801D328\n\
+ ldr r3, [sp, 0x8]\n\
+ cmp r3, 0x4\n\
+ bne _0801D328\n\
+ movs r1, 0x9\n\
+ mov r0, sp\n\
+ ldrb r0, [r0]\n\
+ orrs r0, r1\n\
+ mov r1, sp\n\
+ strb r0, [r1]\n\
+ b _0801D3DC\n\
+ .align 2, 0\n\
+ _0801D31C: .4byte gBattleMoves\n\
+ _0801D320: .4byte gBattleMons\n\
+ _0801D324: .4byte gBattleMoveDamage\n\
+ _0801D328:\n\
+ ldr r1, _0801D344 @ =gTypeEffectiveness\n\
+ adds r0, r7, r1\n\
+ ldrb r0, [r0]\n\
+ adds r2, r1, 0\n\
+ cmp r0, 0xFF\n\
+ beq _0801D3DC\n\
+ cmp r0, 0xFE\n\
+ bne _0801D34C\n\
+ movs r0, 0x58\n\
+ mov r1, r9\n\
+ muls r1, r0\n\
+ adds r0, r1, 0\n\
+ b _0801D3CA\n\
+ .align 2, 0\n\
+ _0801D344: .4byte gTypeEffectiveness\n\
+ _0801D348:\n\
+ adds r7, 0x3\n\
+ b _0801D3B6\n\
+ _0801D34C:\n\
+ ldr r6, _0801D44C @ =gTypeEffectiveness\n\
+ adds r0, r7, r6\n\
+ ldrb r0, [r0]\n\
+ ldr r2, [sp, 0x8]\n\
+ cmp r0, r2\n\
+ bne _0801D3B0\n\
+ adds r1, r7, 0x1\n\
+ adds r1, r6\n\
+ ldr r3, _0801D450 @ =gBattleMons\n\
+ mov r8, r3\n\
+ movs r3, 0x58\n\
+ mov r0, r9\n\
+ muls r0, r3\n\
+ mov r2, r8\n\
+ adds r5, r0, r2\n\
+ adds r0, r5, 0\n\
+ adds r0, 0x21\n\
+ ldrb r4, [r1]\n\
+ ldrb r0, [r0]\n\
+ cmp r4, r0\n\
+ bne _0801D388\n\
+ adds r0, r7, 0x2\n\
+ adds r0, r6\n\
+ ldrb r0, [r0]\n\
+ mov r1, r10\n\
+ mov r2, sp\n\
+ str r3, [sp, 0x10]\n\
+ bl ModulateDmgByType2\n\
+ ldr r3, [sp, 0x10]\n\
+ _0801D388:\n\
+ adds r0, r5, 0\n\
+ adds r0, 0x22\n\
+ ldrb r0, [r0]\n\
+ cmp r4, r0\n\
+ bne _0801D3B0\n\
+ ldr r0, _0801D454 @ =gBankTarget\n\
+ ldrb r0, [r0]\n\
+ muls r0, r3\n\
+ add r0, r8\n\
+ adds r0, 0x21\n\
+ ldrb r0, [r0]\n\
+ cmp r0, r4\n\
+ beq _0801D3B0\n\
+ adds r0, r7, 0x2\n\
+ adds r0, r6\n\
+ ldrb r0, [r0]\n\
+ mov r1, r10\n\
+ mov r2, sp\n\
+ bl ModulateDmgByType2\n\
+ _0801D3B0:\n\
+ adds r7, 0x3\n\
+ ldr r5, _0801D450 @ =gBattleMons\n\
+ ldr r2, _0801D44C @ =gTypeEffectiveness\n\
+ _0801D3B6:\n\
+ adds r0, r7, r2\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0xFF\n\
+ beq _0801D3DC\n\
+ cmp r0, 0xFE\n\
+ bne _0801D34C\n\
+ movs r0, 0x58\n\
+ mov r3, r9\n\
+ muls r3, r0\n\
+ adds r0, r3, 0\n\
+ _0801D3CA:\n\
+ adds r1, r5, 0\n\
+ adds r1, 0x50\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ movs r1, 0x80\n\
+ lsls r1, 22\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0801D348\n\
+ _0801D3DC:\n\
+ movs r0, 0x58\n\
+ mov r1, r9\n\
+ muls r1, r0\n\
+ adds r0, r1, 0\n\
+ adds r0, r5\n\
+ adds r0, 0x20\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x19\n\
+ bne _0801D436\n\
+ mov r0, sp\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0x1\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ bne _0801D436\n\
+ ldr r0, [sp, 0x4]\n\
+ mov r1, r10\n\
+ bl AttacksThisTurn\n\
+ lsls r0, 24\n\
+ lsrs r1, r0, 24\n\
+ cmp r1, 0x2\n\
+ bne _0801D436\n\
+ mov r0, sp\n\
+ ldrb r3, [r0]\n\
+ adds r0, r1, 0\n\
+ ands r0, r3\n\
+ cmp r0, 0\n\
+ beq _0801D41E\n\
+ movs r0, 0x6\n\
+ ands r0, r3\n\
+ cmp r0, 0x6\n\
+ bne _0801D436\n\
+ _0801D41E:\n\
+ ldr r0, _0801D458 @ =gBattleMoves\n\
+ ldr r1, [sp, 0xC]\n\
+ add r1, r10\n\
+ lsls r1, 2\n\
+ adds r1, r0\n\
+ ldrb r0, [r1, 0x1]\n\
+ cmp r0, 0\n\
+ beq _0801D436\n\
+ mov r0, sp\n\
+ movs r1, 0x1\n\
+ orrs r1, r3\n\
+ strb r1, [r0]\n\
+ _0801D436:\n\
+ mov r0, sp\n\
+ ldrb r0, [r0]\n\
+ _0801D43A:\n\
+ add sp, 0x14\n\
+ pop {r3-r5}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ mov r10, r5\n\
+ pop {r4-r7}\n\
+ pop {r1}\n\
+ bx r1\n\
+ .align 2, 0\n\
+ _0801D44C: .4byte gTypeEffectiveness\n\
+ _0801D450: .4byte gBattleMons\n\
+ _0801D454: .4byte gBankTarget\n\
+ _0801D458: .4byte gBattleMoves\n\
.syntax divided\n");
}
#endif // NONMATCHING
@@ -2042,13 +2042,13 @@ static void atk07_dmg_adjustment(void)
gSpecialStatuses[gBankTarget].focusBanded = 1;
}
if (gBattleMons[gBankTarget].status2 & STATUS2_SUBSTITUTE)
- goto END;
+ goto END;
if (gBattleMoves[gCurrentMove].effect != EFFECT_FALSE_SWIPE && !gProtectStructs[gBankTarget].endured
&& !gSpecialStatuses[gBankTarget].focusBanded)
- goto END;
+ goto END;
if (gBattleMons[gBankTarget].hp > gBattleMoveDamage)
- goto END;
+ goto END;
gBattleMoveDamage = gBattleMons[gBankTarget].hp - 1;
@@ -2087,13 +2087,13 @@ static void atk08_dmg_adjustment2(void) //literally the same as 0x7 except it do
gSpecialStatuses[gBankTarget].focusBanded = 1;
}
if (gBattleMons[gBankTarget].status2 & STATUS2_SUBSTITUTE)
- goto END;
+ goto END;
if (!gProtectStructs[gBankTarget].endured
&& !gSpecialStatuses[gBankTarget].focusBanded)
goto END;
if (gBattleMons[gBankTarget].hp > gBattleMoveDamage)
- goto END;
+ goto END;
gBattleMoveDamage = gBattleMons[gBankTarget].hp - 1;
@@ -2968,172 +2968,172 @@ __attribute__((naked))
void SetMoveEffect(bool8 primary, u8 certainArg)
{
asm(".syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- sub sp, 0x8\n\
- lsls r0, 24\n\
- lsrs r4, r0, 24\n\
- lsls r1, 24\n\
- lsrs r5, r1, 24\n\
- movs r0, 0\n\
- mov r10, r0\n\
- movs r6, 0\n\
- movs r1, 0x1\n\
- str r1, [sp, 0x4]\n\
- ldr r1, _0801E430 @ =gBattleCommunication\n\
- ldrb r3, [r1, 0x3]\n\
- movs r0, 0x40\n\
- ands r0, r3\n\
- adds r7, r1, 0\n\
- cmp r0, 0\n\
- beq _0801E444\n\
- ldr r2, _0801E434 @ =gEffectBank\n\
- ldr r0, _0801E438 @ =gBankAttacker\n\
- ldrb r0, [r0]\n\
- strb r0, [r2]\n\
- movs r0, 0xBF\n\
- ands r0, r3\n\
- strb r0, [r7, 0x3]\n\
- movs r6, 0x40\n\
- ldr r0, _0801E43C @ =0x02000000\n\
- ldr r1, _0801E440 @ =gBankTarget\n\
- b _0801E450\n\
- .align 2, 0\n\
+ push {r4-r7,lr}\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ sub sp, 0x8\n\
+ lsls r0, 24\n\
+ lsrs r4, r0, 24\n\
+ lsls r1, 24\n\
+ lsrs r5, r1, 24\n\
+ movs r0, 0\n\
+ mov r10, r0\n\
+ movs r6, 0\n\
+ movs r1, 0x1\n\
+ str r1, [sp, 0x4]\n\
+ ldr r1, _0801E430 @ =gBattleCommunication\n\
+ ldrb r3, [r1, 0x3]\n\
+ movs r0, 0x40\n\
+ ands r0, r3\n\
+ adds r7, r1, 0\n\
+ cmp r0, 0\n\
+ beq _0801E444\n\
+ ldr r2, _0801E434 @ =gEffectBank\n\
+ ldr r0, _0801E438 @ =gBankAttacker\n\
+ ldrb r0, [r0]\n\
+ strb r0, [r2]\n\
+ movs r0, 0xBF\n\
+ ands r0, r3\n\
+ strb r0, [r7, 0x3]\n\
+ movs r6, 0x40\n\
+ ldr r0, _0801E43C @ =0x02000000\n\
+ ldr r1, _0801E440 @ =gBankTarget\n\
+ b _0801E450\n\
+ .align 2, 0\n\
_0801E430: .4byte gBattleCommunication\n\
_0801E434: .4byte gEffectBank\n\
_0801E438: .4byte gBankAttacker\n\
_0801E43C: .4byte 0x02000000\n\
_0801E440: .4byte gBankTarget\n\
_0801E444:\n\
- ldr r2, _0801E538 @ =gEffectBank\n\
- ldr r0, _0801E53C @ =gBankTarget\n\
- ldrb r0, [r0]\n\
- strb r0, [r2]\n\
- ldr r0, _0801E540 @ =0x02000000\n\
- ldr r1, _0801E544 @ =gBankAttacker\n\
+ ldr r2, _0801E538 @ =gEffectBank\n\
+ ldr r0, _0801E53C @ =gBankTarget\n\
+ ldrb r0, [r0]\n\
+ strb r0, [r2]\n\
+ ldr r0, _0801E540 @ =0x02000000\n\
+ ldr r1, _0801E544 @ =gBankAttacker\n\
_0801E450:\n\
- ldrb r1, [r1]\n\
- ldr r3, _0801E548 @ =0x00016003\n\
- adds r0, r3\n\
- strb r1, [r0]\n\
- mov r8, r2\n\
- ldr r2, _0801E54C @ =gBattleMons\n\
- mov r0, r8\n\
- ldrb r1, [r0]\n\
- movs r0, 0x58\n\
- muls r0, r1\n\
- adds r0, r2\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x13\n\
- bne _0801E48A\n\
- ldr r0, _0801E550 @ =gHitMarker\n\
- ldr r0, [r0]\n\
- movs r1, 0x80\n\
- lsls r1, 6\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _0801E48A\n\
- cmp r4, 0\n\
- bne _0801E48A\n\
- ldrb r0, [r7, 0x3]\n\
- cmp r0, 0x9\n\
- bhi _0801E48A\n\
- bl _0801F5DC\n\
+ ldrb r1, [r1]\n\
+ ldr r3, _0801E548 @ =0x00016003\n\
+ adds r0, r3\n\
+ strb r1, [r0]\n\
+ mov r8, r2\n\
+ ldr r2, _0801E54C @ =gBattleMons\n\
+ mov r0, r8\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0x58\n\
+ muls r0, r1\n\
+ adds r0, r2\n\
+ adds r0, 0x20\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x13\n\
+ bne _0801E48A\n\
+ ldr r0, _0801E550 @ =gHitMarker\n\
+ ldr r0, [r0]\n\
+ movs r1, 0x80\n\
+ lsls r1, 6\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ bne _0801E48A\n\
+ cmp r4, 0\n\
+ bne _0801E48A\n\
+ ldrb r0, [r7, 0x3]\n\
+ cmp r0, 0x9\n\
+ bhi _0801E48A\n\
+ bl _0801F5DC\n\
_0801E48A:\n\
- mov r1, r8\n\
- ldrb r0, [r1]\n\
- bl GetBankIdentity\n\
- ldr r2, _0801E554 @ =gSideAffecting\n\
- movs r1, 0x1\n\
- ands r1, r0\n\
- lsls r1, 1\n\
- adds r1, r2\n\
- ldrh r1, [r1]\n\
- movs r0, 0x20\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _0801E4C4\n\
- ldr r0, _0801E550 @ =gHitMarker\n\
- ldr r0, [r0]\n\
- movs r1, 0x80\n\
- lsls r1, 6\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _0801E4C4\n\
- cmp r4, 0\n\
- bne _0801E4C4\n\
- ldr r0, _0801E558 @ =gBattleCommunication\n\
- ldrb r0, [r0, 0x3]\n\
- cmp r0, 0x7\n\
- bhi _0801E4C4\n\
- bl _0801F5DC\n\
+ mov r1, r8\n\
+ ldrb r0, [r1]\n\
+ bl GetBankIdentity\n\
+ ldr r2, _0801E554 @ =gSideAffecting\n\
+ movs r1, 0x1\n\
+ ands r1, r0\n\
+ lsls r1, 1\n\
+ adds r1, r2\n\
+ ldrh r1, [r1]\n\
+ movs r0, 0x20\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0801E4C4\n\
+ ldr r0, _0801E550 @ =gHitMarker\n\
+ ldr r0, [r0]\n\
+ movs r1, 0x80\n\
+ lsls r1, 6\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ bne _0801E4C4\n\
+ cmp r4, 0\n\
+ bne _0801E4C4\n\
+ ldr r0, _0801E558 @ =gBattleCommunication\n\
+ ldrb r0, [r0, 0x3]\n\
+ cmp r0, 0x7\n\
+ bhi _0801E4C4\n\
+ bl _0801F5DC\n\
_0801E4C4:\n\
- ldr r3, _0801E54C @ =gBattleMons\n\
- ldr r2, _0801E538 @ =gEffectBank\n\
- ldrb r1, [r2]\n\
- movs r0, 0x58\n\
- muls r0, r1\n\
- adds r0, r3\n\
- ldrh r0, [r0, 0x28]\n\
- mov r8, r2\n\
- mov r9, r3\n\
- cmp r0, 0\n\
- bne _0801E4EA\n\
- ldr r0, _0801E558 @ =gBattleCommunication\n\
- ldrb r0, [r0, 0x3]\n\
- cmp r0, 0xB\n\
- beq _0801E4EA\n\
- cmp r0, 0x1F\n\
- beq _0801E4EA\n\
- bl _0801F5DC\n\
+ ldr r3, _0801E54C @ =gBattleMons\n\
+ ldr r2, _0801E538 @ =gEffectBank\n\
+ ldrb r1, [r2]\n\
+ movs r0, 0x58\n\
+ muls r0, r1\n\
+ adds r0, r3\n\
+ ldrh r0, [r0, 0x28]\n\
+ mov r8, r2\n\
+ mov r9, r3\n\
+ cmp r0, 0\n\
+ bne _0801E4EA\n\
+ ldr r0, _0801E558 @ =gBattleCommunication\n\
+ ldrb r0, [r0, 0x3]\n\
+ cmp r0, 0xB\n\
+ beq _0801E4EA\n\
+ cmp r0, 0x1F\n\
+ beq _0801E4EA\n\
+ bl _0801F5DC\n\
_0801E4EA:\n\
- mov r2, r8\n\
- ldrb r1, [r2]\n\
- movs r0, 0x58\n\
- muls r0, r1\n\
- mov r1, r9\n\
- adds r1, 0x50\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- movs r1, 0x80\n\
- lsls r1, 17\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _0801E50C\n\
- cmp r6, 0x40\n\
- beq _0801E50C\n\
- bl _0801F5DC\n\
+ mov r2, r8\n\
+ ldrb r1, [r2]\n\
+ movs r0, 0x58\n\
+ muls r0, r1\n\
+ mov r1, r9\n\
+ adds r1, 0x50\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ movs r1, 0x80\n\
+ lsls r1, 17\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0801E50C\n\
+ cmp r6, 0x40\n\
+ beq _0801E50C\n\
+ bl _0801F5DC\n\
_0801E50C:\n\
- ldr r0, _0801E558 @ =gBattleCommunication\n\
- ldrb r1, [r0, 0x3]\n\
- adds r7, r0, 0\n\
- cmp r1, 0x6\n\
- bls _0801E518\n\
- b _0801EB4A\n\
+ ldr r0, _0801E558 @ =gBattleCommunication\n\
+ ldrb r1, [r0, 0x3]\n\
+ adds r7, r0, 0\n\
+ cmp r1, 0x6\n\
+ bls _0801E518\n\
+ b _0801EB4A\n\
_0801E518:\n\
- ldr r1, _0801E55C @ =gStatusFlagsForMoveEffects\n\
- ldrb r0, [r7, 0x3]\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- cmp r0, 0x10\n\
- bne _0801E528\n\
- b _0801E714\n\
+ ldr r1, _0801E55C @ =gStatusFlagsForMoveEffects\n\
+ ldrb r0, [r7, 0x3]\n\
+ lsls r0, 2\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ cmp r0, 0x10\n\
+ bne _0801E528\n\
+ b _0801E714\n\
_0801E528:\n\
- cmp r0, 0x10\n\
- bhi _0801E560\n\
- cmp r0, 0x7\n\
- beq _0801E57A\n\
- cmp r0, 0x8\n\
- bne _0801E536\n\
- b _0801E630\n\
+ cmp r0, 0x10\n\
+ bhi _0801E560\n\
+ cmp r0, 0x7\n\
+ beq _0801E57A\n\
+ cmp r0, 0x8\n\
+ bne _0801E536\n\
+ b _0801E630\n\
_0801E536:\n\
- b _0801EA14\n\
- .align 2, 0\n\
+ b _0801EA14\n\
+ .align 2, 0\n\
_0801E538: .4byte gEffectBank\n\
_0801E53C: .4byte gBankTarget\n\
_0801E540: .4byte 0x02000000\n\
@@ -3145,658 +3145,658 @@ _0801E554: .4byte gSideAffecting\n\
_0801E558: .4byte gBattleCommunication\n\
_0801E55C: .4byte gStatusFlagsForMoveEffects\n\
_0801E560:\n\
- cmp r0, 0x40\n\
- bne _0801E566\n\
- b _0801E888\n\
+ cmp r0, 0x40\n\
+ bne _0801E566\n\
+ b _0801E888\n\
_0801E566:\n\
- cmp r0, 0x40\n\
- bhi _0801E572\n\
- cmp r0, 0x20\n\
- bne _0801E570\n\
- b _0801E7EA\n\
+ cmp r0, 0x40\n\
+ bhi _0801E572\n\
+ cmp r0, 0x20\n\
+ bne _0801E570\n\
+ b _0801E7EA\n\
_0801E570:\n\
- b _0801EA14\n\
+ b _0801EA14\n\
_0801E572:\n\
- cmp r0, 0x80\n\
- bne _0801E578\n\
- b _0801E8E4\n\
+ cmp r0, 0x80\n\
+ bne _0801E578\n\
+ b _0801E8E4\n\
_0801E578:\n\
- b _0801EA14\n\
+ b _0801EA14\n\
_0801E57A:\n\
- mov r3, r8\n\
- ldrb r1, [r3]\n\
- movs r0, 0x58\n\
- muls r0, r1\n\
- add r0, r9\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x2B\n\
- beq _0801E5DC\n\
- ldr r0, _0801E5D4 @ =gActiveBank\n\
- movs r1, 0\n\
- strb r1, [r0]\n\
- ldr r1, _0801E5D8 @ =gNoOfAllBanks\n\
- ldrb r3, [r1]\n\
- adds r7, r0, 0\n\
- mov r12, r1\n\
- cmp r3, 0\n\
- beq _0801E5E8\n\
- mov r4, r9\n\
- ldr r0, [r4, 0x50]\n\
- movs r1, 0x70\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _0801E5E8\n\
- adds r1, r7, 0\n\
- mov r6, r9\n\
- adds r6, 0x50\n\
- movs r5, 0x58\n\
- movs r4, 0x70\n\
+ mov r3, r8\n\
+ ldrb r1, [r3]\n\
+ movs r0, 0x58\n\
+ muls r0, r1\n\
+ add r0, r9\n\
+ adds r0, 0x20\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x2B\n\
+ beq _0801E5DC\n\
+ ldr r0, _0801E5D4 @ =gActiveBank\n\
+ movs r1, 0\n\
+ strb r1, [r0]\n\
+ ldr r1, _0801E5D8 @ =gNoOfAllBanks\n\
+ ldrb r3, [r1]\n\
+ adds r7, r0, 0\n\
+ mov r12, r1\n\
+ cmp r3, 0\n\
+ beq _0801E5E8\n\
+ mov r4, r9\n\
+ ldr r0, [r4, 0x50]\n\
+ movs r1, 0x70\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ bne _0801E5E8\n\
+ adds r1, r7, 0\n\
+ mov r6, r9\n\
+ adds r6, 0x50\n\
+ movs r5, 0x58\n\
+ movs r4, 0x70\n\
_0801E5B4:\n\
- ldrb r0, [r1]\n\
- adds r0, 0x1\n\
- strb r0, [r1]\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r0, r3\n\
- bcs _0801E5E8\n\
- ldrb r0, [r7]\n\
- muls r0, r5\n\
- adds r0, r6\n\
- ldr r0, [r0]\n\
- ands r0, r4\n\
- cmp r0, 0\n\
- beq _0801E5B4\n\
- b _0801E5E8\n\
- .align 2, 0\n\
+ ldrb r0, [r1]\n\
+ adds r0, 0x1\n\
+ strb r0, [r1]\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ cmp r0, r3\n\
+ bcs _0801E5E8\n\
+ ldrb r0, [r7]\n\
+ muls r0, r5\n\
+ adds r0, r6\n\
+ ldr r0, [r0]\n\
+ ands r0, r4\n\
+ cmp r0, 0\n\
+ beq _0801E5B4\n\
+ b _0801E5E8\n\
+ .align 2, 0\n\
_0801E5D4: .4byte gActiveBank\n\
_0801E5D8: .4byte gNoOfAllBanks\n\
_0801E5DC:\n\
- ldr r0, _0801E628 @ =gActiveBank\n\
- ldr r2, _0801E62C @ =gNoOfAllBanks\n\
- ldrb r1, [r2]\n\
- strb r1, [r0]\n\
- adds r7, r0, 0\n\
- mov r12, r2\n\
+ ldr r0, _0801E628 @ =gActiveBank\n\
+ ldr r2, _0801E62C @ =gNoOfAllBanks\n\
+ ldrb r1, [r2]\n\
+ strb r1, [r0]\n\
+ adds r7, r0, 0\n\
+ mov r12, r2\n\
_0801E5E8:\n\
- mov r0, r8\n\
- ldrb r2, [r0]\n\
- movs r0, 0x58\n\
- adds r1, r2, 0\n\
- muls r1, r0\n\
- mov r0, r9\n\
- adds r0, 0x4C\n\
- adds r0, r1, r0\n\
- ldr r0, [r0]\n\
- cmp r0, 0\n\
- beq _0801E600\n\
- b _0801EA14\n\
+ mov r0, r8\n\
+ ldrb r2, [r0]\n\
+ movs r0, 0x58\n\
+ adds r1, r2, 0\n\
+ muls r1, r0\n\
+ mov r0, r9\n\
+ adds r0, 0x4C\n\
+ adds r0, r1, r0\n\
+ ldr r0, [r0]\n\
+ cmp r0, 0\n\
+ beq _0801E600\n\
+ b _0801EA14\n\
_0801E600:\n\
- ldrb r0, [r7]\n\
- mov r3, r12\n\
- ldrb r3, [r3]\n\
- cmp r0, r3\n\
- beq _0801E60C\n\
- b _0801EA14\n\
+ ldrb r0, [r7]\n\
+ mov r3, r12\n\
+ ldrb r3, [r3]\n\
+ cmp r0, r3\n\
+ beq _0801E60C\n\
+ b _0801EA14\n\
_0801E60C:\n\
- mov r4, r9\n\
- adds r0, r1, r4\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x48\n\
- bne _0801E61A\n\
- b _0801EA14\n\
+ mov r4, r9\n\
+ adds r0, r1, r4\n\
+ adds r0, 0x20\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x48\n\
+ bne _0801E61A\n\
+ b _0801EA14\n\
_0801E61A:\n\
- cmp r0, 0xF\n\
- bne _0801E620\n\
- b _0801EA14\n\
+ cmp r0, 0xF\n\
+ bne _0801E620\n\
+ b _0801EA14\n\
_0801E620:\n\
- adds r0, r2, 0\n\
- bl CancelMultiTurnMoves\n\
- b _0801EA04\n\
- .align 2, 0\n\
+ adds r0, r2, 0\n\
+ bl CancelMultiTurnMoves\n\
+ b _0801EA04\n\
+ .align 2, 0\n\
_0801E628: .4byte gActiveBank\n\
_0801E62C: .4byte gNoOfAllBanks\n\
_0801E630:\n\
- mov r2, r8\n\
- ldrb r1, [r2]\n\
- movs r0, 0x58\n\
- muls r0, r1\n\
- add r0, r9\n\
- adds r0, 0x20\n\
- ldrb r1, [r0]\n\
- cmp r1, 0x11\n\
- bne _0801E688\n\
- cmp r4, 0x1\n\
- beq _0801E64A\n\
- cmp r5, 0x80\n\
- bne _0801E688\n\
+ mov r2, r8\n\
+ ldrb r1, [r2]\n\
+ movs r0, 0x58\n\
+ muls r0, r1\n\
+ add r0, r9\n\
+ adds r0, 0x20\n\
+ ldrb r1, [r0]\n\
+ cmp r1, 0x11\n\
+ bne _0801E688\n\
+ cmp r4, 0x1\n\
+ beq _0801E64A\n\
+ cmp r5, 0x80\n\
+ bne _0801E688\n\
_0801E64A:\n\
- ldr r0, _0801E678 @ =gLastUsedAbility\n\
- strb r1, [r0]\n\
- mov r3, r8\n\
- ldrb r0, [r3]\n\
- movs r1, 0x11\n\
- bl RecordAbilityBattle\n\
- ldr r4, _0801E67C @ =gBattlescriptCurrInstr\n\
- ldr r0, [r4]\n\
- adds r0, 0x1\n\
- bl b_movescr_stack_push\n\
- ldr r0, _0801E680 @ =BattleScript_PSNPrevention\n\
+ ldr r0, _0801E678 @ =gLastUsedAbility\n\
+ strb r1, [r0]\n\
+ mov r3, r8\n\
+ ldrb r0, [r3]\n\
+ movs r1, 0x11\n\
+ bl RecordAbilityBattle\n\
+ ldr r4, _0801E67C @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r4]\n\
+ adds r0, 0x1\n\
+ bl b_movescr_stack_push\n\
+ ldr r0, _0801E680 @ =BattleScript_PSNPrevention\n\
_0801E664:\n\
- str r0, [r4]\n\
- ldr r2, _0801E684 @ =gHitMarker\n\
- ldr r1, [r2]\n\
- movs r0, 0x80\n\
- lsls r0, 6\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _0801E676\n\
- b _0801E928\n\
+ str r0, [r4]\n\
+ ldr r2, _0801E684 @ =gHitMarker\n\
+ ldr r1, [r2]\n\
+ movs r0, 0x80\n\
+ lsls r0, 6\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0801E676\n\
+ b _0801E928\n\
_0801E676:\n\
- b _0801E94C\n\
- .align 2, 0\n\
+ b _0801E94C\n\
+ .align 2, 0\n\
_0801E678: .4byte gLastUsedAbility\n\
_0801E67C: .4byte gBattlescriptCurrInstr\n\
_0801E680: .4byte BattleScript_PSNPrevention\n\
_0801E684: .4byte gHitMarker\n\
_0801E688:\n\
- mov r1, r8\n\
- ldrb r0, [r1]\n\
- movs r1, 0x58\n\
- muls r0, r1\n\
- add r0, r9\n\
- adds r1, r0, 0\n\
- adds r1, 0x21\n\
- ldrb r1, [r1]\n\
- cmp r1, 0x3\n\
- beq _0801E6AC\n\
- adds r0, 0x22\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x3\n\
- beq _0801E6AC\n\
- cmp r1, 0x8\n\
- beq _0801E6AC\n\
- cmp r0, 0x8\n\
- bne _0801E6C6\n\
+ mov r1, r8\n\
+ ldrb r0, [r1]\n\
+ movs r1, 0x58\n\
+ muls r0, r1\n\
+ add r0, r9\n\
+ adds r1, r0, 0\n\
+ adds r1, 0x21\n\
+ ldrb r1, [r1]\n\
+ cmp r1, 0x3\n\
+ beq _0801E6AC\n\
+ adds r0, 0x22\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x3\n\
+ beq _0801E6AC\n\
+ cmp r1, 0x8\n\
+ beq _0801E6AC\n\
+ cmp r0, 0x8\n\
+ bne _0801E6C6\n\
_0801E6AC:\n\
- ldr r0, _0801E710 @ =gHitMarker\n\
- ldr r0, [r0]\n\
- movs r1, 0x80\n\
- lsls r1, 6\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _0801E6C6\n\
- cmp r4, 0x1\n\
- bne _0801E6C0\n\
- b _0801E98C\n\
+ ldr r0, _0801E710 @ =gHitMarker\n\
+ ldr r0, [r0]\n\
+ movs r1, 0x80\n\
+ lsls r1, 6\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0801E6C6\n\
+ cmp r4, 0x1\n\
+ bne _0801E6C0\n\
+ b _0801E98C\n\
_0801E6C0:\n\
- cmp r5, 0x80\n\
- bne _0801E6C6\n\
- b _0801E98C\n\
+ cmp r5, 0x80\n\
+ bne _0801E6C6\n\
+ b _0801E98C\n\
_0801E6C6:\n\
- mov r2, r8\n\
- ldrb r1, [r2]\n\
- movs r0, 0x58\n\
- muls r1, r0\n\
- mov r4, r9\n\
- adds r3, r1, r4\n\
- adds r0, r3, 0\n\
- adds r0, 0x21\n\
- ldrb r4, [r0]\n\
- cmp r4, 0x3\n\
- bne _0801E6DE\n\
- b _0801EA14\n\
+ mov r2, r8\n\
+ ldrb r1, [r2]\n\
+ movs r0, 0x58\n\
+ muls r1, r0\n\
+ mov r4, r9\n\
+ adds r3, r1, r4\n\
+ adds r0, r3, 0\n\
+ adds r0, 0x21\n\
+ ldrb r4, [r0]\n\
+ cmp r4, 0x3\n\
+ bne _0801E6DE\n\
+ b _0801EA14\n\
_0801E6DE:\n\
- adds r0, 0x1\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x3\n\
- bne _0801E6E8\n\
- b _0801EA14\n\
+ adds r0, 0x1\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x3\n\
+ bne _0801E6E8\n\
+ b _0801EA14\n\
_0801E6E8:\n\
- cmp r4, 0x8\n\
- bne _0801E6EE\n\
- b _0801EA14\n\
+ cmp r4, 0x8\n\
+ bne _0801E6EE\n\
+ b _0801EA14\n\
_0801E6EE:\n\
- cmp r0, 0x8\n\
- bne _0801E6F4\n\
- b _0801EA14\n\
+ cmp r0, 0x8\n\
+ bne _0801E6F4\n\
+ b _0801EA14\n\
_0801E6F4:\n\
- mov r0, r9\n\
- adds r0, 0x4C\n\
- adds r0, r1, r0\n\
- ldr r0, [r0]\n\
- cmp r0, 0\n\
- beq _0801E702\n\
- b _0801EA14\n\
+ mov r0, r9\n\
+ adds r0, 0x4C\n\
+ adds r0, r1, r0\n\
+ ldr r0, [r0]\n\
+ cmp r0, 0\n\
+ beq _0801E702\n\
+ b _0801EA14\n\
_0801E702:\n\
- adds r0, r3, 0\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x11\n\
- bne _0801E70E\n\
- b _0801EA14\n\
+ adds r0, r3, 0\n\
+ adds r0, 0x20\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x11\n\
+ bne _0801E70E\n\
+ b _0801EA14\n\
_0801E70E:\n\
- b _0801EA04\n\
- .align 2, 0\n\
+ b _0801EA04\n\
+ .align 2, 0\n\
_0801E710: .4byte gHitMarker\n\
_0801E714:\n\
- mov r2, r8\n\
- ldrb r1, [r2]\n\
- movs r0, 0x58\n\
- muls r0, r1\n\
- add r0, r9\n\
- adds r0, 0x20\n\
- ldrb r1, [r0]\n\
- cmp r1, 0x29\n\
- bne _0801E758\n\
- cmp r4, 0x1\n\
- beq _0801E72E\n\
- cmp r5, 0x80\n\
- bne _0801E758\n\
+ mov r2, r8\n\
+ ldrb r1, [r2]\n\
+ movs r0, 0x58\n\
+ muls r0, r1\n\
+ add r0, r9\n\
+ adds r0, 0x20\n\
+ ldrb r1, [r0]\n\
+ cmp r1, 0x29\n\
+ bne _0801E758\n\
+ cmp r4, 0x1\n\
+ beq _0801E72E\n\
+ cmp r5, 0x80\n\
+ bne _0801E758\n\
_0801E72E:\n\
- ldr r0, _0801E74C @ =gLastUsedAbility\n\
- strb r1, [r0]\n\
- mov r3, r8\n\
- ldrb r0, [r3]\n\
- movs r1, 0x29\n\
- bl RecordAbilityBattle\n\
- ldr r4, _0801E750 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r4]\n\
- adds r0, 0x1\n\
- bl b_movescr_stack_push\n\
- ldr r0, _0801E754 @ =BattleScript_BRNPrevention\n\
- b _0801E664\n\
- .align 2, 0\n\
+ ldr r0, _0801E74C @ =gLastUsedAbility\n\
+ strb r1, [r0]\n\
+ mov r3, r8\n\
+ ldrb r0, [r3]\n\
+ movs r1, 0x29\n\
+ bl RecordAbilityBattle\n\
+ ldr r4, _0801E750 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r4]\n\
+ adds r0, 0x1\n\
+ bl b_movescr_stack_push\n\
+ ldr r0, _0801E754 @ =BattleScript_BRNPrevention\n\
+ b _0801E664\n\
+ .align 2, 0\n\
_0801E74C: .4byte gLastUsedAbility\n\
_0801E750: .4byte gBattlescriptCurrInstr\n\
_0801E754: .4byte BattleScript_BRNPrevention\n\
_0801E758:\n\
- mov r0, r8\n\
- ldrb r1, [r0]\n\
- movs r0, 0x58\n\
- muls r0, r1\n\
- mov r2, r9\n\
- adds r1, r0, r2\n\
- adds r0, r1, 0\n\
- adds r0, 0x21\n\
- ldrb r0, [r0]\n\
- cmp r0, 0xA\n\
- beq _0801E778\n\
- adds r0, r1, 0\n\
- adds r0, 0x22\n\
- ldrb r0, [r0]\n\
- cmp r0, 0xA\n\
- bne _0801E7A8\n\
+ mov r0, r8\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0x58\n\
+ muls r0, r1\n\
+ mov r2, r9\n\
+ adds r1, r0, r2\n\
+ adds r0, r1, 0\n\
+ adds r0, 0x21\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0xA\n\
+ beq _0801E778\n\
+ adds r0, r1, 0\n\
+ adds r0, 0x22\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0xA\n\
+ bne _0801E7A8\n\
_0801E778:\n\
- ldr r0, _0801E79C @ =gHitMarker\n\
- ldr r0, [r0]\n\
- movs r1, 0x80\n\
- lsls r1, 6\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _0801E7A8\n\
- cmp r4, 0x1\n\
- beq _0801E78E\n\
- cmp r5, 0x80\n\
- bne _0801E7A8\n\
+ ldr r0, _0801E79C @ =gHitMarker\n\
+ ldr r0, [r0]\n\
+ movs r1, 0x80\n\
+ lsls r1, 6\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0801E7A8\n\
+ cmp r4, 0x1\n\
+ beq _0801E78E\n\
+ cmp r5, 0x80\n\
+ bne _0801E7A8\n\
_0801E78E:\n\
- ldr r4, _0801E7A0 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r4]\n\
- adds r0, 0x1\n\
- bl b_movescr_stack_push\n\
- ldr r0, _0801E7A4 @ =BattleScript_BRNPrevention\n\
- b _0801E998\n\
- .align 2, 0\n\
+ ldr r4, _0801E7A0 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r4]\n\
+ adds r0, 0x1\n\
+ bl b_movescr_stack_push\n\
+ ldr r0, _0801E7A4 @ =BattleScript_BRNPrevention\n\
+ b _0801E998\n\
+ .align 2, 0\n\
_0801E79C: .4byte gHitMarker\n\
_0801E7A0: .4byte gBattlescriptCurrInstr\n\
_0801E7A4: .4byte BattleScript_BRNPrevention\n\
_0801E7A8:\n\
- mov r3, r8\n\
- ldrb r0, [r3]\n\
- movs r1, 0x58\n\
- adds r2, r0, 0\n\
- muls r2, r1\n\
- mov r4, r9\n\
- adds r1, r2, r4\n\
- adds r0, r1, 0\n\
- adds r0, 0x21\n\
- ldrb r0, [r0]\n\
- cmp r0, 0xA\n\
- bne _0801E7C2\n\
- b _0801EA14\n\
+ mov r3, r8\n\
+ ldrb r0, [r3]\n\
+ movs r1, 0x58\n\
+ adds r2, r0, 0\n\
+ muls r2, r1\n\
+ mov r4, r9\n\
+ adds r1, r2, r4\n\
+ adds r0, r1, 0\n\
+ adds r0, 0x21\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0xA\n\
+ bne _0801E7C2\n\
+ b _0801EA14\n\
_0801E7C2:\n\
- adds r0, r1, 0\n\
- adds r0, 0x22\n\
- ldrb r0, [r0]\n\
- cmp r0, 0xA\n\
- bne _0801E7CE\n\
- b _0801EA14\n\
+ adds r0, r1, 0\n\
+ adds r0, 0x22\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0xA\n\
+ bne _0801E7CE\n\
+ b _0801EA14\n\
_0801E7CE:\n\
- adds r0, r1, 0\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x29\n\
- bne _0801E7DA\n\
- b _0801EA14\n\
+ adds r0, r1, 0\n\
+ adds r0, 0x20\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x29\n\
+ bne _0801E7DA\n\
+ b _0801EA14\n\
_0801E7DA:\n\
- mov r0, r9\n\
- adds r0, 0x4C\n\
- adds r0, r2, r0\n\
- ldr r0, [r0]\n\
- cmp r0, 0\n\
- beq _0801E7E8\n\
- b _0801EA14\n\
+ mov r0, r9\n\
+ adds r0, 0x4C\n\
+ adds r0, r2, r0\n\
+ ldr r0, [r0]\n\
+ cmp r0, 0\n\
+ beq _0801E7E8\n\
+ b _0801EA14\n\
_0801E7E8:\n\
- b _0801EA04\n\
+ b _0801EA04\n\
_0801E7EA:\n\
- movs r0, 0\n\
- str r0, [sp]\n\
- movs r0, 0x13\n\
- movs r1, 0\n\
- movs r2, 0xD\n\
- movs r3, 0\n\
- bl AbilityBattleEffects\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r0, 0\n\
- bne _0801E826\n\
- str r0, [sp]\n\
- movs r0, 0x13\n\
- movs r1, 0\n\
- movs r2, 0x4D\n\
- movs r3, 0\n\
- bl AbilityBattleEffects\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- bne _0801E826\n\
- ldr r0, _0801E87C @ =gBattleWeather\n\
- ldrh r1, [r0]\n\
- movs r0, 0x60\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _0801E826\n\
- movs r1, 0\n\
- str r1, [sp, 0x4]\n\
+ movs r0, 0\n\
+ str r0, [sp]\n\
+ movs r0, 0x13\n\
+ movs r1, 0\n\
+ movs r2, 0xD\n\
+ movs r3, 0\n\
+ bl AbilityBattleEffects\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ cmp r0, 0\n\
+ bne _0801E826\n\
+ str r0, [sp]\n\
+ movs r0, 0x13\n\
+ movs r1, 0\n\
+ movs r2, 0x4D\n\
+ movs r3, 0\n\
+ bl AbilityBattleEffects\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ bne _0801E826\n\
+ ldr r0, _0801E87C @ =gBattleWeather\n\
+ ldrh r1, [r0]\n\
+ movs r0, 0x60\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0801E826\n\
+ movs r1, 0\n\
+ str r1, [sp, 0x4]\n\
_0801E826:\n\
- ldr r4, _0801E880 @ =gBattleMons\n\
- ldr r0, _0801E884 @ =gEffectBank\n\
- ldrb r3, [r0]\n\
- movs r0, 0x58\n\
- adds r2, r3, 0\n\
- muls r2, r0\n\
- adds r1, r2, r4\n\
- adds r0, r1, 0\n\
- adds r0, 0x21\n\
- ldrb r0, [r0]\n\
- cmp r0, 0xF\n\
- bne _0801E840\n\
- b _0801EA14\n\
+ ldr r4, _0801E880 @ =gBattleMons\n\
+ ldr r0, _0801E884 @ =gEffectBank\n\
+ ldrb r3, [r0]\n\
+ movs r0, 0x58\n\
+ adds r2, r3, 0\n\
+ muls r2, r0\n\
+ adds r1, r2, r4\n\
+ adds r0, r1, 0\n\
+ adds r0, 0x21\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0xF\n\
+ bne _0801E840\n\
+ b _0801EA14\n\
_0801E840:\n\
- adds r0, r1, 0\n\
- adds r0, 0x22\n\
- ldrb r0, [r0]\n\
- cmp r0, 0xF\n\
- bne _0801E84C\n\
- b _0801EA14\n\
+ adds r0, r1, 0\n\
+ adds r0, 0x22\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0xF\n\
+ bne _0801E84C\n\
+ b _0801EA14\n\
_0801E84C:\n\
- adds r0, r4, 0\n\
- adds r0, 0x4C\n\
- adds r0, r2, r0\n\
- ldr r0, [r0]\n\
- cmp r0, 0\n\
- beq _0801E85A\n\
- b _0801EA14\n\
+ adds r0, r4, 0\n\
+ adds r0, 0x4C\n\
+ adds r0, r2, r0\n\
+ ldr r0, [r0]\n\
+ cmp r0, 0\n\
+ beq _0801E85A\n\
+ b _0801EA14\n\
_0801E85A:\n\
- ldr r2, [sp, 0x4]\n\
- cmp r2, 0\n\
- bne _0801E862\n\
- b _0801EA14\n\
+ ldr r2, [sp, 0x4]\n\
+ cmp r2, 0\n\
+ bne _0801E862\n\
+ b _0801EA14\n\
_0801E862:\n\
- adds r0, r1, 0\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x28\n\
- bne _0801E86E\n\
- b _0801EA14\n\
+ adds r0, r1, 0\n\
+ adds r0, 0x20\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x28\n\
+ bne _0801E86E\n\
+ b _0801EA14\n\
_0801E86E:\n\
- adds r0, r3, 0\n\
- bl CancelMultiTurnMoves\n\
- movs r3, 0x1\n\
- mov r10, r3\n\
- b _0801EA14\n\
- .align 2, 0\n\
+ adds r0, r3, 0\n\
+ bl CancelMultiTurnMoves\n\
+ movs r3, 0x1\n\
+ mov r10, r3\n\
+ b _0801EA14\n\
+ .align 2, 0\n\
_0801E87C: .4byte gBattleWeather\n\
_0801E880: .4byte gBattleMons\n\
_0801E884: .4byte gEffectBank\n\
_0801E888:\n\
- mov r0, r8\n\
- ldrb r1, [r0]\n\
- movs r0, 0x58\n\
- muls r1, r0\n\
- mov r2, r9\n\
- adds r0, r1, r2\n\
- adds r0, 0x20\n\
- ldrb r2, [r0]\n\
- cmp r2, 0x7\n\
- bne _0801E8D0\n\
- cmp r4, 0x1\n\
- beq _0801E8A6\n\
- cmp r5, 0x80\n\
- beq _0801E8A6\n\
- b _0801EA14\n\
+ mov r0, r8\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0x58\n\
+ muls r1, r0\n\
+ mov r2, r9\n\
+ adds r0, r1, r2\n\
+ adds r0, 0x20\n\
+ ldrb r2, [r0]\n\
+ cmp r2, 0x7\n\
+ bne _0801E8D0\n\
+ cmp r4, 0x1\n\
+ beq _0801E8A6\n\
+ cmp r5, 0x80\n\
+ beq _0801E8A6\n\
+ b _0801EA14\n\
_0801E8A6:\n\
- ldr r0, _0801E8C4 @ =gLastUsedAbility\n\
- strb r2, [r0]\n\
- mov r3, r8\n\
- ldrb r0, [r3]\n\
- movs r1, 0x7\n\
- bl RecordAbilityBattle\n\
- ldr r4, _0801E8C8 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r4]\n\
- adds r0, 0x1\n\
- bl b_movescr_stack_push\n\
- ldr r0, _0801E8CC @ =BattleScript_PRLZPrevention\n\
- b _0801E664\n\
- .align 2, 0\n\
+ ldr r0, _0801E8C4 @ =gLastUsedAbility\n\
+ strb r2, [r0]\n\
+ mov r3, r8\n\
+ ldrb r0, [r3]\n\
+ movs r1, 0x7\n\
+ bl RecordAbilityBattle\n\
+ ldr r4, _0801E8C8 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r4]\n\
+ adds r0, 0x1\n\
+ bl b_movescr_stack_push\n\
+ ldr r0, _0801E8CC @ =BattleScript_PRLZPrevention\n\
+ b _0801E664\n\
+ .align 2, 0\n\
_0801E8C4: .4byte gLastUsedAbility\n\
_0801E8C8: .4byte gBattlescriptCurrInstr\n\
_0801E8CC: .4byte BattleScript_PRLZPrevention\n\
_0801E8D0:\n\
- mov r0, r9\n\
- adds r0, 0x4C\n\
- adds r0, r1, r0\n\
- ldr r0, [r0]\n\
- cmp r0, 0\n\
- beq _0801E8DE\n\
- b _0801EA14\n\
+ mov r0, r9\n\
+ adds r0, 0x4C\n\
+ adds r0, r1, r0\n\
+ ldr r0, [r0]\n\
+ cmp r0, 0\n\
+ beq _0801E8DE\n\
+ b _0801EA14\n\
_0801E8DE:\n\
- movs r4, 0x1\n\
- mov r10, r4\n\
- b _0801EA14\n\
+ movs r4, 0x1\n\
+ mov r10, r4\n\
+ b _0801EA14\n\
_0801E8E4:\n\
- mov r0, r8\n\
- ldrb r1, [r0]\n\
- movs r0, 0x58\n\
- muls r0, r1\n\
- add r0, r9\n\
- adds r0, 0x20\n\
- ldrb r1, [r0]\n\
- cmp r1, 0x11\n\
- bne _0801E952\n\
- cmp r4, 0x1\n\
- beq _0801E8FE\n\
- cmp r5, 0x80\n\
- bne _0801E952\n\
+ mov r0, r8\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0x58\n\
+ muls r0, r1\n\
+ add r0, r9\n\
+ adds r0, 0x20\n\
+ ldrb r1, [r0]\n\
+ cmp r1, 0x11\n\
+ bne _0801E952\n\
+ cmp r4, 0x1\n\
+ beq _0801E8FE\n\
+ cmp r5, 0x80\n\
+ bne _0801E952\n\
_0801E8FE:\n\
- ldr r0, _0801E938 @ =gLastUsedAbility\n\
- strb r1, [r0]\n\
- mov r1, r8\n\
- ldrb r0, [r1]\n\
- movs r1, 0x11\n\
- bl RecordAbilityBattle\n\
- ldr r4, _0801E93C @ =gBattlescriptCurrInstr\n\
- ldr r0, [r4]\n\
- adds r0, 0x1\n\
- bl b_movescr_stack_push\n\
- ldr r0, _0801E940 @ =BattleScript_PSNPrevention\n\
- str r0, [r4]\n\
- ldr r2, _0801E944 @ =gHitMarker\n\
- ldr r1, [r2]\n\
- movs r0, 0x80\n\
- lsls r0, 6\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _0801E94C\n\
+ ldr r0, _0801E938 @ =gLastUsedAbility\n\
+ strb r1, [r0]\n\
+ mov r1, r8\n\
+ ldrb r0, [r1]\n\
+ movs r1, 0x11\n\
+ bl RecordAbilityBattle\n\
+ ldr r4, _0801E93C @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r4]\n\
+ adds r0, 0x1\n\
+ bl b_movescr_stack_push\n\
+ ldr r0, _0801E940 @ =BattleScript_PSNPrevention\n\
+ str r0, [r4]\n\
+ ldr r2, _0801E944 @ =gHitMarker\n\
+ ldr r1, [r2]\n\
+ movs r0, 0x80\n\
+ lsls r0, 6\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0801E94C\n\
_0801E928:\n\
- movs r0, 0x1\n\
- strb r0, [r7, 0x5]\n\
- ldr r0, _0801E948 @ =0xffffdfff\n\
- ands r1, r0\n\
- str r1, [r2]\n\
- bl _0801F5FA\n\
- .align 2, 0\n\
+ movs r0, 0x1\n\
+ strb r0, [r7, 0x5]\n\
+ ldr r0, _0801E948 @ =0xffffdfff\n\
+ ands r1, r0\n\
+ str r1, [r2]\n\
+ bl _0801F5FA\n\
+ .align 2, 0\n\
_0801E938: .4byte gLastUsedAbility\n\
_0801E93C: .4byte gBattlescriptCurrInstr\n\
_0801E940: .4byte BattleScript_PSNPrevention\n\
_0801E944: .4byte gHitMarker\n\
_0801E948: .4byte 0xffffdfff\n\
_0801E94C:\n\
- strb r0, [r7, 0x5]\n\
- bl _0801F5FA\n\
+ strb r0, [r7, 0x5]\n\
+ bl _0801F5FA\n\
_0801E952:\n\
- mov r2, r8\n\
- ldrb r0, [r2]\n\
- movs r1, 0x58\n\
- muls r0, r1\n\
- add r0, r9\n\
- adds r1, r0, 0\n\
- adds r1, 0x21\n\
- ldrb r1, [r1]\n\
- cmp r1, 0x3\n\
- beq _0801E976\n\
- adds r0, 0x22\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x3\n\
- beq _0801E976\n\
- cmp r1, 0x8\n\
- beq _0801E976\n\
- cmp r0, 0x8\n\
- bne _0801E9B4\n\
+ mov r2, r8\n\
+ ldrb r0, [r2]\n\
+ movs r1, 0x58\n\
+ muls r0, r1\n\
+ add r0, r9\n\
+ adds r1, r0, 0\n\
+ adds r1, 0x21\n\
+ ldrb r1, [r1]\n\
+ cmp r1, 0x3\n\
+ beq _0801E976\n\
+ adds r0, 0x22\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x3\n\
+ beq _0801E976\n\
+ cmp r1, 0x8\n\
+ beq _0801E976\n\
+ cmp r0, 0x8\n\
+ bne _0801E9B4\n\
_0801E976:\n\
- ldr r0, _0801E9A4 @ =gHitMarker\n\
- ldr r0, [r0]\n\
- movs r1, 0x80\n\
- lsls r1, 6\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _0801E9B4\n\
- cmp r4, 0x1\n\
- beq _0801E98C\n\
- cmp r5, 0x80\n\
- bne _0801E9B4\n\
+ ldr r0, _0801E9A4 @ =gHitMarker\n\
+ ldr r0, [r0]\n\
+ movs r1, 0x80\n\
+ lsls r1, 6\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0801E9B4\n\
+ cmp r4, 0x1\n\
+ beq _0801E98C\n\
+ cmp r5, 0x80\n\
+ bne _0801E9B4\n\
_0801E98C:\n\
- ldr r4, _0801E9A8 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r4]\n\
- adds r0, 0x1\n\
- bl b_movescr_stack_push\n\
- ldr r0, _0801E9AC @ =BattleScript_PSNPrevention\n\
+ ldr r4, _0801E9A8 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r4]\n\
+ adds r0, 0x1\n\
+ bl b_movescr_stack_push\n\
+ ldr r0, _0801E9AC @ =BattleScript_PSNPrevention\n\
_0801E998:\n\
- str r0, [r4]\n\
- ldr r1, _0801E9B0 @ =gBattleCommunication\n\
- movs r0, 0x2\n\
- strb r0, [r1, 0x5]\n\
- bl _0801F5FA\n\
- .align 2, 0\n\
+ str r0, [r4]\n\
+ ldr r1, _0801E9B0 @ =gBattleCommunication\n\
+ movs r0, 0x2\n\
+ strb r0, [r1, 0x5]\n\
+ bl _0801F5FA\n\
+ .align 2, 0\n\
_0801E9A4: .4byte gHitMarker\n\
_0801E9A8: .4byte gBattlescriptCurrInstr\n\
_0801E9AC: .4byte BattleScript_PSNPrevention\n\
_0801E9B0: .4byte gBattleCommunication\n\
_0801E9B4:\n\
- mov r3, r8\n\
- ldrb r0, [r3]\n\
- movs r6, 0x58\n\
- muls r0, r6\n\
- mov r2, r9\n\
- adds r2, 0x4C\n\
- adds r5, r0, r2\n\
- ldr r4, [r5]\n\
- cmp r4, 0\n\
- bne _0801EA14\n\
- mov r3, r9\n\
- adds r1, r0, r3\n\
- adds r0, r1, 0\n\
- adds r0, 0x21\n\
- ldrb r3, [r0]\n\
- cmp r3, 0x3\n\
- beq _0801EA0A\n\
- adds r0, 0x1\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x3\n\
- beq _0801EA0A\n\
- cmp r3, 0x8\n\
- beq _0801EA0A\n\
- cmp r0, 0x8\n\
- beq _0801EA0A\n\
- adds r0, r1, 0\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x11\n\
- beq _0801EA14\n\
- mov r4, r8\n\
- ldrb r0, [r4]\n\
- adds r1, r0, 0\n\
- muls r1, r6\n\
- adds r1, r2\n\
- ldr r0, [r1]\n\
- movs r2, 0x9\n\
- negs r2, r2\n\
- ands r0, r2\n\
- str r0, [r1]\n\
+ mov r3, r8\n\
+ ldrb r0, [r3]\n\
+ movs r6, 0x58\n\
+ muls r0, r6\n\
+ mov r2, r9\n\
+ adds r2, 0x4C\n\
+ adds r5, r0, r2\n\
+ ldr r4, [r5]\n\
+ cmp r4, 0\n\
+ bne _0801EA14\n\
+ mov r3, r9\n\
+ adds r1, r0, r3\n\
+ adds r0, r1, 0\n\
+ adds r0, 0x21\n\
+ ldrb r3, [r0]\n\
+ cmp r3, 0x3\n\
+ beq _0801EA0A\n\
+ adds r0, 0x1\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x3\n\
+ beq _0801EA0A\n\
+ cmp r3, 0x8\n\
+ beq _0801EA0A\n\
+ cmp r0, 0x8\n\
+ beq _0801EA0A\n\
+ adds r0, r1, 0\n\
+ adds r0, 0x20\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x11\n\
+ beq _0801EA14\n\
+ mov r4, r8\n\
+ ldrb r0, [r4]\n\
+ adds r1, r0, 0\n\
+ muls r1, r6\n\
+ adds r1, r2\n\
+ ldr r0, [r1]\n\
+ movs r2, 0x9\n\
+ negs r2, r2\n\
+ ands r0, r2\n\
+ str r0, [r1]\n\
_0801EA04:\n\
- movs r0, 0x1\n\
- mov r10, r0\n\
- b _0801EA14\n\
+ movs r0, 0x1\n\
+ mov r10, r0\n\
+ b _0801EA14\n\
_0801EA0A:\n\
- ldr r0, _0801EA58 @ =gBattleMoveFlags\n\
- ldrb r1, [r0]\n\
- movs r2, 0x8\n\
- orrs r1, r2\n\
- strb r1, [r0]\n\
+ ldr r0, _0801EA58 @ =gBattleMoveFlags\n\
+ ldrb r1, [r0]\n\
+ movs r2, 0x8\n\
+ orrs r1, r2\n\
+ strb r1, [r0]\n\
_0801EA14:\n\
- mov r1, r10\n\
- cmp r1, 0x1\n\
- beq _0801EA1C\n\
- b _0801EB3C\n\
+ mov r1, r10\n\
+ cmp r1, 0x1\n\
+ beq _0801EA1C\n\
+ b _0801EB3C\n\
_0801EA1C:\n\
- ldr r0, _0801EA5C @ =gBattlescriptCurrInstr\n\
- ldr r0, [r0]\n\
- adds r0, 0x1\n\
- bl b_movescr_stack_push\n\
- ldr r1, _0801EA60 @ =gStatusFlagsForMoveEffects\n\
- ldr r0, _0801EA64 @ =gBattleCommunication\n\
- ldrb r0, [r0, 0x3]\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldr r3, [r0]\n\
- cmp r3, 0x7\n\
- bne _0801EA70\n\
- bl Random\n\
- ldr r2, _0801EA68 @ =gBattleMons\n\
- ldr r1, _0801EA6C @ =gEffectBank\n\
- ldrb r3, [r1]\n\
- movs r1, 0x58\n\
- muls r3, r1\n\
- adds r2, 0x4C\n\
- adds r3, r2\n\
- movs r1, 0x3\n\
- ands r1, r0\n\
- adds r1, 0x2\n\
- ldr r0, [r3]\n\
- orrs r0, r1\n\
- str r0, [r3]\n\
- b _0801EA84\n\
- .align 2, 0\n\
+ ldr r0, _0801EA5C @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r0]\n\
+ adds r0, 0x1\n\
+ bl b_movescr_stack_push\n\
+ ldr r1, _0801EA60 @ =gStatusFlagsForMoveEffects\n\
+ ldr r0, _0801EA64 @ =gBattleCommunication\n\
+ ldrb r0, [r0, 0x3]\n\
+ lsls r0, 2\n\
+ adds r0, r1\n\
+ ldr r3, [r0]\n\
+ cmp r3, 0x7\n\
+ bne _0801EA70\n\
+ bl Random\n\
+ ldr r2, _0801EA68 @ =gBattleMons\n\
+ ldr r1, _0801EA6C @ =gEffectBank\n\
+ ldrb r3, [r1]\n\
+ movs r1, 0x58\n\
+ muls r3, r1\n\
+ adds r2, 0x4C\n\
+ adds r3, r2\n\
+ movs r1, 0x3\n\
+ ands r1, r0\n\
+ adds r1, 0x2\n\
+ ldr r0, [r3]\n\
+ orrs r0, r1\n\
+ str r0, [r3]\n\
+ b _0801EA84\n\
+ .align 2, 0\n\
_0801EA58: .4byte gBattleMoveFlags\n\
_0801EA5C: .4byte gBattlescriptCurrInstr\n\
_0801EA60: .4byte gStatusFlagsForMoveEffects\n\
@@ -3804,56 +3804,56 @@ _0801EA64: .4byte gBattleCommunication\n\
_0801EA68: .4byte gBattleMons\n\
_0801EA6C: .4byte gEffectBank\n\
_0801EA70:\n\
- ldr r2, _0801EAD4 @ =gBattleMons\n\
- ldr r0, _0801EAD8 @ =gEffectBank\n\
- ldrb r1, [r0]\n\
- movs r0, 0x58\n\
- muls r1, r0\n\
- adds r2, 0x4C\n\
- adds r1, r2\n\
- ldr r0, [r1]\n\
- orrs r0, r3\n\
- str r0, [r1]\n\
+ ldr r2, _0801EAD4 @ =gBattleMons\n\
+ ldr r0, _0801EAD8 @ =gEffectBank\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0x58\n\
+ muls r1, r0\n\
+ adds r2, 0x4C\n\
+ adds r1, r2\n\
+ ldr r0, [r1]\n\
+ orrs r0, r3\n\
+ str r0, [r1]\n\
_0801EA84:\n\
- ldr r2, _0801EADC @ =gBattlescriptCurrInstr\n\
- ldr r1, _0801EAE0 @ =gMoveEffectBS_Ptrs\n\
- ldr r5, _0801EAE4 @ =gBattleCommunication\n\
- ldrb r0, [r5, 0x3]\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- str r0, [r2]\n\
- ldr r4, _0801EAE8 @ =gActiveBank\n\
- ldr r1, _0801EAD8 @ =gEffectBank\n\
- ldrb r0, [r1]\n\
- strb r0, [r4]\n\
- ldrb r1, [r1]\n\
- movs r0, 0x58\n\
- muls r0, r1\n\
- ldr r1, _0801EAEC @ =gUnknown_02024ACC\n\
- adds r0, r1\n\
- str r0, [sp]\n\
- movs r0, 0\n\
- movs r1, 0x28\n\
- movs r2, 0\n\
- movs r3, 0x4\n\
- bl EmitSetAttributes\n\
- ldrb r0, [r4]\n\
- bl MarkBufferBankForExecution\n\
- ldr r2, _0801EAF0 @ =gHitMarker\n\
- ldr r1, [r2]\n\
- movs r0, 0x80\n\
- lsls r0, 6\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _0801EAF8\n\
- movs r0, 0x1\n\
- strb r0, [r5, 0x5]\n\
- ldr r0, _0801EAF4 @ =0xffffdfff\n\
- ands r1, r0\n\
- str r1, [r2]\n\
- b _0801EAFA\n\
- .align 2, 0\n\
+ ldr r2, _0801EADC @ =gBattlescriptCurrInstr\n\
+ ldr r1, _0801EAE0 @ =gMoveEffectBS_Ptrs\n\
+ ldr r5, _0801EAE4 @ =gBattleCommunication\n\
+ ldrb r0, [r5, 0x3]\n\
+ lsls r0, 2\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ str r0, [r2]\n\
+ ldr r4, _0801EAE8 @ =gActiveBank\n\
+ ldr r1, _0801EAD8 @ =gEffectBank\n\
+ ldrb r0, [r1]\n\
+ strb r0, [r4]\n\
+ ldrb r1, [r1]\n\
+ movs r0, 0x58\n\
+ muls r0, r1\n\
+ ldr r1, _0801EAEC @ =gUnknown_02024ACC\n\
+ adds r0, r1\n\
+ str r0, [sp]\n\
+ movs r0, 0\n\
+ movs r1, 0x28\n\
+ movs r2, 0\n\
+ movs r3, 0x4\n\
+ bl EmitSetAttributes\n\
+ ldrb r0, [r4]\n\
+ bl MarkBufferBankForExecution\n\
+ ldr r2, _0801EAF0 @ =gHitMarker\n\
+ ldr r1, [r2]\n\
+ movs r0, 0x80\n\
+ lsls r0, 6\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0801EAF8\n\
+ movs r0, 0x1\n\
+ strb r0, [r5, 0x5]\n\
+ ldr r0, _0801EAF4 @ =0xffffdfff\n\
+ ands r1, r0\n\
+ str r1, [r2]\n\
+ b _0801EAFA\n\
+ .align 2, 0\n\
_0801EAD4: .4byte gBattleMons\n\
_0801EAD8: .4byte gEffectBank\n\
_0801EADC: .4byte gBattlescriptCurrInstr\n\
@@ -3864,344 +3864,344 @@ _0801EAEC: .4byte gUnknown_02024ACC\n\
_0801EAF0: .4byte gHitMarker\n\
_0801EAF4: .4byte 0xffffdfff\n\
_0801EAF8:\n\
- strb r0, [r5, 0x5]\n\
+ strb r0, [r5, 0x5]\n\
_0801EAFA:\n\
- ldr r0, _0801EB2C @ =gBattleCommunication\n\
- ldrb r2, [r0, 0x3]\n\
- adds r7, r0, 0\n\
- cmp r2, 0x2\n\
- beq _0801EB14\n\
- cmp r2, 0x6\n\
- beq _0801EB14\n\
- cmp r2, 0x5\n\
- beq _0801EB14\n\
- cmp r2, 0x3\n\
- beq _0801EB14\n\
- bl _0801F5FA\n\
+ ldr r0, _0801EB2C @ =gBattleCommunication\n\
+ ldrb r2, [r0, 0x3]\n\
+ adds r7, r0, 0\n\
+ cmp r2, 0x2\n\
+ beq _0801EB14\n\
+ cmp r2, 0x6\n\
+ beq _0801EB14\n\
+ cmp r2, 0x5\n\
+ beq _0801EB14\n\
+ cmp r2, 0x3\n\
+ beq _0801EB14\n\
+ bl _0801F5FA\n\
_0801EB14:\n\
- ldr r0, _0801EB30 @ =0x02000000\n\
- ldrb r1, [r7, 0x3]\n\
- ldr r2, _0801EB34 @ =0x000160ca\n\
- adds r0, r2\n\
- strb r1, [r0]\n\
- ldr r2, _0801EB38 @ =gHitMarker\n\
- ldr r0, [r2]\n\
- movs r1, 0x80\n\
- lsls r1, 7\n\
- bl _0801F4F2\n\
- .align 2, 0\n\
+ ldr r0, _0801EB30 @ =0x02000000\n\
+ ldrb r1, [r7, 0x3]\n\
+ ldr r2, _0801EB34 @ =0x000160ca\n\
+ adds r0, r2\n\
+ strb r1, [r0]\n\
+ ldr r2, _0801EB38 @ =gHitMarker\n\
+ ldr r0, [r2]\n\
+ movs r1, 0x80\n\
+ lsls r1, 7\n\
+ bl _0801F4F2\n\
+ .align 2, 0\n\
_0801EB2C: .4byte gBattleCommunication\n\
_0801EB30: .4byte 0x02000000\n\
_0801EB34: .4byte 0x000160ca\n\
_0801EB38: .4byte gHitMarker\n\
_0801EB3C:\n\
- mov r3, r10\n\
- cmp r3, 0\n\
- beq _0801EB46\n\
- bl _0801F5FA\n\
+ mov r3, r10\n\
+ cmp r3, 0\n\
+ beq _0801EB46\n\
+ bl _0801F5FA\n\
_0801EB46:\n\
- bl _0801F5DC\n\
+ bl _0801F5DC\n\
_0801EB4A:\n\
- mov r0, r8\n\
- ldrb r1, [r0]\n\
- movs r0, 0x58\n\
- muls r1, r0\n\
- mov r0, r9\n\
- adds r0, 0x50\n\
- adds r1, r0\n\
- ldr r2, _0801EB84 @ =gStatusFlagsForMoveEffects\n\
- ldrb r3, [r7, 0x3]\n\
- lsls r0, r3, 2\n\
- adds r0, r2\n\
- ldr r1, [r1]\n\
- ldr r0, [r0]\n\
- ands r1, r0\n\
- cmp r1, 0\n\
- beq _0801EB6E\n\
- bl _0801F5DC\n\
+ mov r0, r8\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0x58\n\
+ muls r1, r0\n\
+ mov r0, r9\n\
+ adds r0, 0x50\n\
+ adds r1, r0\n\
+ ldr r2, _0801EB84 @ =gStatusFlagsForMoveEffects\n\
+ ldrb r3, [r7, 0x3]\n\
+ lsls r0, r3, 2\n\
+ adds r0, r2\n\
+ ldr r1, [r1]\n\
+ ldr r0, [r0]\n\
+ ands r1, r0\n\
+ cmp r1, 0\n\
+ beq _0801EB6E\n\
+ bl _0801F5DC\n\
_0801EB6E:\n\
- subs r0, r3, 0x7\n\
- cmp r0, 0x34\n\
- bls _0801EB78\n\
- bl _0801F5FA\n\
+ subs r0, r3, 0x7\n\
+ cmp r0, 0x34\n\
+ bls _0801EB78\n\
+ bl _0801F5FA\n\
_0801EB78:\n\
- lsls r0, 2\n\
- ldr r1, _0801EB88 @ =_0801EB8C\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- mov pc, r0\n\
- .align 2, 0\n\
+ lsls r0, 2\n\
+ ldr r1, _0801EB88 @ =_0801EB8C\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ mov pc, r0\n\
+ .align 2, 0\n\
_0801EB84: .4byte gStatusFlagsForMoveEffects\n\
_0801EB88: .4byte _0801EB8C\n\
- .align 2, 0\n\
+ .align 2, 0\n\
_0801EB8C:\n\
- .4byte _0801EC60\n\
- .4byte _0801ECD4\n\
- .4byte _0801EE4C\n\
- .4byte _0801ED60\n\
- .4byte _0801EDDC\n\
- .4byte _0801EE84\n\
- .4byte _0801EECC\n\
- .4byte _0801EFA8\n\
- .4byte _0801EFEC\n\
- .4byte _0801EFEC\n\
- .4byte _0801EFEC\n\
- .4byte _0801EFEC\n\
- .4byte _0801EFEC\n\
- .4byte _0801EFEC\n\
- .4byte _0801EFEC\n\
- .4byte _0801F040\n\
- .4byte _0801F040\n\
- .4byte _0801F040\n\
- .4byte _0801F040\n\
- .4byte _0801F040\n\
- .4byte _0801F040\n\
- .4byte _0801F040\n\
- .4byte _0801F13C\n\
- .4byte _0801F184\n\
- .4byte _0801F1A4\n\
- .4byte _0801F364\n\
- .4byte _0801F3A0\n\
- .4byte _0801F3BC\n\
- .4byte _0801F3D4\n\
- .4byte _0801F3EC\n\
- .4byte _0801F44C\n\
- .4byte _0801F464\n\
- .4byte _0801F094\n\
- .4byte _0801F094\n\
- .4byte _0801F094\n\
- .4byte _0801F094\n\
- .4byte _0801F094\n\
- .4byte _0801F094\n\
- .4byte _0801F094\n\
- .4byte _0801F0E8\n\
- .4byte _0801F0E8\n\
- .4byte _0801F0E8\n\
- .4byte _0801F0E8\n\
- .4byte _0801F0E8\n\
- .4byte _0801F0E8\n\
- .4byte _0801F0E8\n\
- .4byte _0801F4A8\n\
- .4byte _0801F500\n\
- .4byte _0801F5FA\n\
- .4byte _0801F5FA\n\
- .4byte _0801F5FA\n\
- .4byte _0801F5FA\n\
- .4byte _0801F5EC\n\
+ .4byte _0801EC60\n\
+ .4byte _0801ECD4\n\
+ .4byte _0801EE4C\n\
+ .4byte _0801ED60\n\
+ .4byte _0801EDDC\n\
+ .4byte _0801EE84\n\
+ .4byte _0801EECC\n\
+ .4byte _0801EFA8\n\
+ .4byte _0801EFEC\n\
+ .4byte _0801EFEC\n\
+ .4byte _0801EFEC\n\
+ .4byte _0801EFEC\n\
+ .4byte _0801EFEC\n\
+ .4byte _0801EFEC\n\
+ .4byte _0801EFEC\n\
+ .4byte _0801F040\n\
+ .4byte _0801F040\n\
+ .4byte _0801F040\n\
+ .4byte _0801F040\n\
+ .4byte _0801F040\n\
+ .4byte _0801F040\n\
+ .4byte _0801F040\n\
+ .4byte _0801F13C\n\
+ .4byte _0801F184\n\
+ .4byte _0801F1A4\n\
+ .4byte _0801F364\n\
+ .4byte _0801F3A0\n\
+ .4byte _0801F3BC\n\
+ .4byte _0801F3D4\n\
+ .4byte _0801F3EC\n\
+ .4byte _0801F44C\n\
+ .4byte _0801F464\n\
+ .4byte _0801F094\n\
+ .4byte _0801F094\n\
+ .4byte _0801F094\n\
+ .4byte _0801F094\n\
+ .4byte _0801F094\n\
+ .4byte _0801F094\n\
+ .4byte _0801F094\n\
+ .4byte _0801F0E8\n\
+ .4byte _0801F0E8\n\
+ .4byte _0801F0E8\n\
+ .4byte _0801F0E8\n\
+ .4byte _0801F0E8\n\
+ .4byte _0801F0E8\n\
+ .4byte _0801F0E8\n\
+ .4byte _0801F4A8\n\
+ .4byte _0801F500\n\
+ .4byte _0801F5FA\n\
+ .4byte _0801F5FA\n\
+ .4byte _0801F5FA\n\
+ .4byte _0801F5FA\n\
+ .4byte _0801F5EC\n\
_0801EC60:\n\
- mov r1, r8\n\
- ldrb r0, [r1]\n\
- movs r5, 0x58\n\
- adds r1, r0, 0\n\
- muls r1, r5\n\
- mov r2, r9\n\
- adds r0, r1, r2\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x14\n\
- bne _0801EC7A\n\
- bl _0801F5DC\n\
+ mov r1, r8\n\
+ ldrb r0, [r1]\n\
+ movs r5, 0x58\n\
+ adds r1, r0, 0\n\
+ muls r1, r5\n\
+ mov r2, r9\n\
+ adds r0, r1, r2\n\
+ adds r0, 0x20\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x14\n\
+ bne _0801EC7A\n\
+ bl _0801F5DC\n\
_0801EC7A:\n\
- mov r4, r9\n\
- adds r4, 0x50\n\
- adds r0, r1, r4\n\
- ldr r0, [r0]\n\
- movs r1, 0x7\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _0801EC8E\n\
- bl _0801F5DC\n\
+ mov r4, r9\n\
+ adds r4, 0x50\n\
+ adds r0, r1, r4\n\
+ ldr r0, [r0]\n\
+ movs r1, 0x7\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0801EC8E\n\
+ bl _0801F5DC\n\
_0801EC8E:\n\
- bl Random\n\
- mov r3, r8\n\
- ldrb r1, [r3]\n\
- adds r2, r1, 0\n\
- muls r2, r5\n\
- adds r2, r4\n\
- lsls r0, 16\n\
- movs r1, 0xC0\n\
- lsls r1, 10\n\
- ands r1, r0\n\
- lsrs r1, 16\n\
- adds r1, 0x2\n\
- ldr r0, [r2]\n\
- orrs r0, r1\n\
- str r0, [r2]\n\
- ldr r4, _0801ECC8 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r4]\n\
- adds r0, 0x1\n\
- bl b_movescr_stack_push\n\
- ldr r1, _0801ECCC @ =gMoveEffectBS_Ptrs\n\
- ldr r0, _0801ECD0 @ =gBattleCommunication\n\
- ldrb r0, [r0, 0x3]\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- bl _0801F5F8\n\
- .align 2, 0\n\
+ bl Random\n\
+ mov r3, r8\n\
+ ldrb r1, [r3]\n\
+ adds r2, r1, 0\n\
+ muls r2, r5\n\
+ adds r2, r4\n\
+ lsls r0, 16\n\
+ movs r1, 0xC0\n\
+ lsls r1, 10\n\
+ ands r1, r0\n\
+ lsrs r1, 16\n\
+ adds r1, 0x2\n\
+ ldr r0, [r2]\n\
+ orrs r0, r1\n\
+ str r0, [r2]\n\
+ ldr r4, _0801ECC8 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r4]\n\
+ adds r0, 0x1\n\
+ bl b_movescr_stack_push\n\
+ ldr r1, _0801ECCC @ =gMoveEffectBS_Ptrs\n\
+ ldr r0, _0801ECD0 @ =gBattleCommunication\n\
+ ldrb r0, [r0, 0x3]\n\
+ lsls r0, 2\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ bl _0801F5F8\n\
+ .align 2, 0\n\
_0801ECC8: .4byte gBattlescriptCurrInstr\n\
_0801ECCC: .4byte gMoveEffectBS_Ptrs\n\
_0801ECD0: .4byte gBattleCommunication\n\
_0801ECD4:\n\
- mov r0, r8\n\
- ldrb r2, [r0]\n\
- movs r6, 0x58\n\
- adds r0, r2, 0\n\
- muls r0, r6\n\
- add r0, r9\n\
- adds r0, 0x20\n\
- ldrb r1, [r0]\n\
- cmp r1, 0x27\n\
- bne _0801ED18\n\
- cmp r4, 0x1\n\
- beq _0801ECF4\n\
- cmp r5, 0x80\n\
- beq _0801ECF4\n\
- bl _0801F5DC\n\
+ mov r0, r8\n\
+ ldrb r2, [r0]\n\
+ movs r6, 0x58\n\
+ adds r0, r2, 0\n\
+ muls r0, r6\n\
+ add r0, r9\n\
+ adds r0, 0x20\n\
+ ldrb r1, [r0]\n\
+ cmp r1, 0x27\n\
+ bne _0801ED18\n\
+ cmp r4, 0x1\n\
+ beq _0801ECF4\n\
+ cmp r5, 0x80\n\
+ beq _0801ECF4\n\
+ bl _0801F5DC\n\
_0801ECF4:\n\
- ldr r0, _0801ED0C @ =gLastUsedAbility\n\
- strb r1, [r0]\n\
- mov r1, r8\n\
- ldrb r0, [r1]\n\
- movs r1, 0x27\n\
- bl RecordAbilityBattle\n\
- ldr r1, _0801ED10 @ =gBattlescriptCurrInstr\n\
- ldr r0, _0801ED14 @ =BattleScript_FlinchPrevention\n\
- str r0, [r1]\n\
- bl _0801F5FA\n\
- .align 2, 0\n\
+ ldr r0, _0801ED0C @ =gLastUsedAbility\n\
+ strb r1, [r0]\n\
+ mov r1, r8\n\
+ ldrb r0, [r1]\n\
+ movs r1, 0x27\n\
+ bl RecordAbilityBattle\n\
+ ldr r1, _0801ED10 @ =gBattlescriptCurrInstr\n\
+ ldr r0, _0801ED14 @ =BattleScript_FlinchPrevention\n\
+ str r0, [r1]\n\
+ bl _0801F5FA\n\
+ .align 2, 0\n\
_0801ED0C: .4byte gLastUsedAbility\n\
_0801ED10: .4byte gBattlescriptCurrInstr\n\
_0801ED14: .4byte BattleScript_FlinchPrevention\n\
_0801ED18:\n\
- adds r0, r2, 0\n\
- bl BankGetTurnOrder\n\
- ldr r1, _0801ED54 @ =gCurrentMoveTurn\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- ldrb r1, [r1]\n\
- cmp r0, r1\n\
- bhi _0801ED2E\n\
- bl _0801F5DC\n\
+ adds r0, r2, 0\n\
+ bl BankGetTurnOrder\n\
+ ldr r1, _0801ED54 @ =gCurrentMoveTurn\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ ldrb r1, [r1]\n\
+ cmp r0, r1\n\
+ bhi _0801ED2E\n\
+ bl _0801F5DC\n\
_0801ED2E:\n\
- mov r2, r8\n\
- ldrb r0, [r2]\n\
- adds r2, r0, 0\n\
- muls r2, r6\n\
- mov r0, r9\n\
- adds r0, 0x50\n\
- adds r2, r0\n\
- ldr r1, _0801ED58 @ =gStatusFlagsForMoveEffects\n\
- ldr r0, _0801ED5C @ =gBattleCommunication\n\
- ldrb r0, [r0, 0x3]\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldr r1, [r2]\n\
- ldr r0, [r0]\n\
- orrs r1, r0\n\
- str r1, [r2]\n\
- bl _0801F5DC\n\
- .align 2, 0\n\
+ mov r2, r8\n\
+ ldrb r0, [r2]\n\
+ adds r2, r0, 0\n\
+ muls r2, r6\n\
+ mov r0, r9\n\
+ adds r0, 0x50\n\
+ adds r2, r0\n\
+ ldr r1, _0801ED58 @ =gStatusFlagsForMoveEffects\n\
+ ldr r0, _0801ED5C @ =gBattleCommunication\n\
+ ldrb r0, [r0, 0x3]\n\
+ lsls r0, 2\n\
+ adds r0, r1\n\
+ ldr r1, [r2]\n\
+ ldr r0, [r0]\n\
+ orrs r1, r0\n\
+ str r1, [r2]\n\
+ bl _0801F5DC\n\
+ .align 2, 0\n\
_0801ED54: .4byte gCurrentMoveTurn\n\
_0801ED58: .4byte gStatusFlagsForMoveEffects\n\
_0801ED5C: .4byte gBattleCommunication\n\
_0801ED60:\n\
- mov r3, r8\n\
- ldrb r0, [r3]\n\
- movs r5, 0x58\n\
- muls r0, r5\n\
- mov r4, r9\n\
- adds r4, 0x50\n\
- adds r2, r0, r4\n\
- ldr r1, [r2]\n\
- movs r0, 0x70\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _0801ED7C\n\
- bl _0801F5DC\n\
+ mov r3, r8\n\
+ ldrb r0, [r3]\n\
+ movs r5, 0x58\n\
+ muls r0, r5\n\
+ mov r4, r9\n\
+ adds r4, 0x50\n\
+ adds r2, r0, r4\n\
+ ldr r1, [r2]\n\
+ movs r0, 0x70\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0801ED7C\n\
+ bl _0801F5DC\n\
_0801ED7C:\n\
- movs r0, 0x80\n\
- lsls r0, 5\n\
- orrs r1, r0\n\
- str r1, [r2]\n\
- ldr r1, _0801EDC8 @ =gLockedMove\n\
- ldrb r0, [r3]\n\
- lsls r0, 1\n\
- adds r0, r1\n\
- ldr r1, _0801EDCC @ =gCurrentMove\n\
- ldrh r1, [r1]\n\
- strh r1, [r0]\n\
- bl Random\n\
- mov r2, r8\n\
- ldrb r1, [r2]\n\
- adds r2, r1, 0\n\
- muls r2, r5\n\
- adds r2, r4\n\
- movs r1, 0x3\n\
- ands r1, r0\n\
- adds r1, 0x2\n\
- lsls r1, 4\n\
- ldr r0, [r2]\n\
- orrs r0, r1\n\
- str r0, [r2]\n\
- ldr r4, _0801EDD0 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r4]\n\
- adds r0, 0x1\n\
- bl b_movescr_stack_push\n\
- ldr r1, _0801EDD4 @ =gMoveEffectBS_Ptrs\n\
- ldr r0, _0801EDD8 @ =gBattleCommunication\n\
- ldrb r0, [r0, 0x3]\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- bl _0801F5F8\n\
- .align 2, 0\n\
+ movs r0, 0x80\n\
+ lsls r0, 5\n\
+ orrs r1, r0\n\
+ str r1, [r2]\n\
+ ldr r1, _0801EDC8 @ =gLockedMove\n\
+ ldrb r0, [r3]\n\
+ lsls r0, 1\n\
+ adds r0, r1\n\
+ ldr r1, _0801EDCC @ =gCurrentMove\n\
+ ldrh r1, [r1]\n\
+ strh r1, [r0]\n\
+ bl Random\n\
+ mov r2, r8\n\
+ ldrb r1, [r2]\n\
+ adds r2, r1, 0\n\
+ muls r2, r5\n\
+ adds r2, r4\n\
+ movs r1, 0x3\n\
+ ands r1, r0\n\
+ adds r1, 0x2\n\
+ lsls r1, 4\n\
+ ldr r0, [r2]\n\
+ orrs r0, r1\n\
+ str r0, [r2]\n\
+ ldr r4, _0801EDD0 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r4]\n\
+ adds r0, 0x1\n\
+ bl b_movescr_stack_push\n\
+ ldr r1, _0801EDD4 @ =gMoveEffectBS_Ptrs\n\
+ ldr r0, _0801EDD8 @ =gBattleCommunication\n\
+ ldrb r0, [r0, 0x3]\n\
+ lsls r0, 2\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ bl _0801F5F8\n\
+ .align 2, 0\n\
_0801EDC8: .4byte gLockedMove\n\
_0801EDCC: .4byte gCurrentMove\n\
_0801EDD0: .4byte gBattlescriptCurrInstr\n\
_0801EDD4: .4byte gMoveEffectBS_Ptrs\n\
_0801EDD8: .4byte gBattleCommunication\n\
_0801EDDC:\n\
- ldr r5, _0801EE30 @ =gBankAttacker\n\
- ldrb r0, [r5]\n\
- bl GetBankIdentity\n\
- movs r1, 0x1\n\
- ands r1, r0\n\
- cmp r1, 0\n\
- bne _0801EE14\n\
- ldr r4, _0801EE34 @ =gPaydayMoney\n\
- ldrh r3, [r4]\n\
- ldr r2, _0801EE38 @ =gBattleMons\n\
- ldrb r1, [r5]\n\
- movs r0, 0x58\n\
- muls r0, r1\n\
- adds r0, r2\n\
- adds r0, 0x2A\n\
- ldrb r1, [r0]\n\
- lsls r0, r1, 2\n\
- adds r0, r1\n\
- adds r0, r3, r0\n\
- strh r0, [r4]\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- cmp r3, r0\n\
- bls _0801EE14\n\
- ldr r3, _0801EE3C @ =0x0000ffff\n\
- adds r0, r3, 0\n\
- strh r0, [r4]\n\
+ ldr r5, _0801EE30 @ =gBankAttacker\n\
+ ldrb r0, [r5]\n\
+ bl GetBankIdentity\n\
+ movs r1, 0x1\n\
+ ands r1, r0\n\
+ cmp r1, 0\n\
+ bne _0801EE14\n\
+ ldr r4, _0801EE34 @ =gPaydayMoney\n\
+ ldrh r3, [r4]\n\
+ ldr r2, _0801EE38 @ =gBattleMons\n\
+ ldrb r1, [r5]\n\
+ movs r0, 0x58\n\
+ muls r0, r1\n\
+ adds r0, r2\n\
+ adds r0, 0x2A\n\
+ ldrb r1, [r0]\n\
+ lsls r0, r1, 2\n\
+ adds r0, r1\n\
+ adds r0, r3, r0\n\
+ strh r0, [r4]\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ cmp r3, r0\n\
+ bls _0801EE14\n\
+ ldr r3, _0801EE3C @ =0x0000ffff\n\
+ adds r0, r3, 0\n\
+ strh r0, [r4]\n\
_0801EE14:\n\
- ldr r4, _0801EE40 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r4]\n\
- adds r0, 0x1\n\
- bl b_movescr_stack_push\n\
- ldr r1, _0801EE44 @ =gMoveEffectBS_Ptrs\n\
- ldr r0, _0801EE48 @ =gBattleCommunication\n\
- ldrb r0, [r0, 0x3]\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- bl _0801F5F8\n\
- .align 2, 0\n\
+ ldr r4, _0801EE40 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r4]\n\
+ adds r0, 0x1\n\
+ bl b_movescr_stack_push\n\
+ ldr r1, _0801EE44 @ =gMoveEffectBS_Ptrs\n\
+ ldr r0, _0801EE48 @ =gBattleCommunication\n\
+ ldrb r0, [r0, 0x3]\n\
+ lsls r0, 2\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ bl _0801F5F8\n\
+ .align 2, 0\n\
_0801EE30: .4byte gBankAttacker\n\
_0801EE34: .4byte gPaydayMoney\n\
_0801EE38: .4byte gBattleMons\n\
@@ -4210,161 +4210,161 @@ _0801EE40: .4byte gBattlescriptCurrInstr\n\
_0801EE44: .4byte gMoveEffectBS_Ptrs\n\
_0801EE48: .4byte gBattleCommunication\n\
_0801EE4C:\n\
- mov r4, r8\n\
- ldrb r1, [r4]\n\
- movs r0, 0x58\n\
- muls r0, r1\n\
- mov r1, r9\n\
- adds r1, 0x4C\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- cmp r0, 0\n\
- beq _0801EE62\n\
- b _0801F5DC\n\
+ mov r4, r8\n\
+ ldrb r1, [r4]\n\
+ movs r0, 0x58\n\
+ muls r0, r1\n\
+ mov r1, r9\n\
+ adds r1, 0x4C\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ cmp r0, 0\n\
+ beq _0801EE62\n\
+ b _0801F5DC\n\
_0801EE62:\n\
- bl Random\n\
- ldr r4, _0801EE80 @ =gBattleCommunication\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- movs r1, 0x3\n\
- bl __umodsi3\n\
- adds r0, 0x3\n\
- strb r0, [r4, 0x3]\n\
- movs r0, 0\n\
- movs r1, 0\n\
- bl SetMoveEffect\n\
- b _0801F5FA\n\
- .align 2, 0\n\
+ bl Random\n\
+ ldr r4, _0801EE80 @ =gBattleCommunication\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ movs r1, 0x3\n\
+ bl __umodsi3\n\
+ adds r0, 0x3\n\
+ strb r0, [r4, 0x3]\n\
+ movs r0, 0\n\
+ movs r1, 0\n\
+ bl SetMoveEffect\n\
+ b _0801F5FA\n\
+ .align 2, 0\n\
_0801EE80: .4byte gBattleCommunication\n\
_0801EE84:\n\
- mov r0, r8\n\
- ldrb r1, [r0]\n\
- movs r0, 0x58\n\
- adds r2, r1, 0\n\
- muls r2, r0\n\
- mov r0, r9\n\
- adds r0, 0x50\n\
- adds r2, r0\n\
- ldr r0, [r2]\n\
- movs r1, 0x80\n\
- lsls r1, 5\n\
- orrs r0, r1\n\
- str r0, [r2]\n\
- ldr r1, _0801EEC0 @ =gLockedMove\n\
- mov r2, r8\n\
- ldrb r0, [r2]\n\
- lsls r0, 1\n\
- adds r0, r1\n\
- ldr r1, _0801EEC4 @ =gCurrentMove\n\
- ldrh r1, [r1]\n\
- strh r1, [r0]\n\
- ldr r0, _0801EEC8 @ =gProtectStructs\n\
- ldrb r1, [r2]\n\
- lsls r1, 4\n\
- adds r1, r0\n\
- ldrb r0, [r1, 0x1]\n\
- movs r2, 0x4\n\
- orrs r0, r2\n\
- strb r0, [r1, 0x1]\n\
- b _0801F5DC\n\
- .align 2, 0\n\
+ mov r0, r8\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0x58\n\
+ adds r2, r1, 0\n\
+ muls r2, r0\n\
+ mov r0, r9\n\
+ adds r0, 0x50\n\
+ adds r2, r0\n\
+ ldr r0, [r2]\n\
+ movs r1, 0x80\n\
+ lsls r1, 5\n\
+ orrs r0, r1\n\
+ str r0, [r2]\n\
+ ldr r1, _0801EEC0 @ =gLockedMove\n\
+ mov r2, r8\n\
+ ldrb r0, [r2]\n\
+ lsls r0, 1\n\
+ adds r0, r1\n\
+ ldr r1, _0801EEC4 @ =gCurrentMove\n\
+ ldrh r1, [r1]\n\
+ strh r1, [r0]\n\
+ ldr r0, _0801EEC8 @ =gProtectStructs\n\
+ ldrb r1, [r2]\n\
+ lsls r1, 4\n\
+ adds r1, r0\n\
+ ldrb r0, [r1, 0x1]\n\
+ movs r2, 0x4\n\
+ orrs r0, r2\n\
+ strb r0, [r1, 0x1]\n\
+ b _0801F5DC\n\
+ .align 2, 0\n\
_0801EEC0: .4byte gLockedMove\n\
_0801EEC4: .4byte gCurrentMove\n\
_0801EEC8: .4byte gProtectStructs\n\
_0801EECC:\n\
- mov r3, r8\n\
- ldrb r0, [r3]\n\
- movs r6, 0x58\n\
- muls r0, r6\n\
- mov r4, r9\n\
- adds r4, 0x50\n\
- adds r0, r4\n\
- ldr r5, [r0]\n\
- movs r0, 0xE0\n\
- lsls r0, 8\n\
- ands r5, r0\n\
- cmp r5, 0\n\
- beq _0801EEE8\n\
- b _0801F5DC\n\
+ mov r3, r8\n\
+ ldrb r0, [r3]\n\
+ movs r6, 0x58\n\
+ muls r0, r6\n\
+ mov r4, r9\n\
+ adds r4, 0x50\n\
+ adds r0, r4\n\
+ ldr r5, [r0]\n\
+ movs r0, 0xE0\n\
+ lsls r0, 8\n\
+ ands r5, r0\n\
+ cmp r5, 0\n\
+ beq _0801EEE8\n\
+ b _0801F5DC\n\
_0801EEE8:\n\
- bl Random\n\
- mov r2, r8\n\
- ldrb r1, [r2]\n\
- adds r2, r1, 0\n\
- muls r2, r6\n\
- adds r2, r4\n\
- movs r1, 0x3\n\
- ands r1, r0\n\
- adds r1, 0x3\n\
- lsls r1, 13\n\
- ldr r0, [r2]\n\
- orrs r0, r1\n\
- str r0, [r2]\n\
- ldr r2, _0801EF80 @ =0x02000000\n\
- mov r3, r8\n\
- ldrb r0, [r3]\n\
- lsls r0, 1\n\
- ldr r4, _0801EF84 @ =0x00016004\n\
- adds r0, r4\n\
- adds r0, r2\n\
- ldr r6, _0801EF88 @ =gCurrentMove\n\
- ldrh r1, [r6]\n\
- strb r1, [r0]\n\
- ldrb r0, [r3]\n\
- lsls r0, 1\n\
- ldr r1, _0801EF8C @ =0x00016005\n\
- adds r0, r1\n\
- adds r0, r2\n\
- ldrh r1, [r6]\n\
- lsrs r1, 8\n\
- strb r1, [r0]\n\
- ldrb r0, [r3]\n\
- ldr r3, _0801EF90 @ =0x00016020\n\
- adds r0, r3\n\
- adds r0, r2\n\
- ldr r1, _0801EF94 @ =gBankAttacker\n\
- ldrb r1, [r1]\n\
- strb r1, [r0]\n\
- ldr r4, _0801EF98 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r4]\n\
- adds r0, 0x1\n\
- bl b_movescr_stack_push\n\
- ldr r1, _0801EF9C @ =gMoveEffectBS_Ptrs\n\
- ldr r2, _0801EFA0 @ =gBattleCommunication\n\
- ldrb r0, [r2, 0x3]\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- str r0, [r4]\n\
- strb r5, [r2, 0x5]\n\
- ldr r1, _0801EFA4 @ =gTrappingMoves\n\
- ldrh r0, [r1]\n\
- ldrh r4, [r6]\n\
- cmp r0, r4\n\
- bne _0801EF5C\n\
- b _0801F5FA\n\
+ bl Random\n\
+ mov r2, r8\n\
+ ldrb r1, [r2]\n\
+ adds r2, r1, 0\n\
+ muls r2, r6\n\
+ adds r2, r4\n\
+ movs r1, 0x3\n\
+ ands r1, r0\n\
+ adds r1, 0x3\n\
+ lsls r1, 13\n\
+ ldr r0, [r2]\n\
+ orrs r0, r1\n\
+ str r0, [r2]\n\
+ ldr r2, _0801EF80 @ =0x02000000\n\
+ mov r3, r8\n\
+ ldrb r0, [r3]\n\
+ lsls r0, 1\n\
+ ldr r4, _0801EF84 @ =0x00016004\n\
+ adds r0, r4\n\
+ adds r0, r2\n\
+ ldr r6, _0801EF88 @ =gCurrentMove\n\
+ ldrh r1, [r6]\n\
+ strb r1, [r0]\n\
+ ldrb r0, [r3]\n\
+ lsls r0, 1\n\
+ ldr r1, _0801EF8C @ =0x00016005\n\
+ adds r0, r1\n\
+ adds r0, r2\n\
+ ldrh r1, [r6]\n\
+ lsrs r1, 8\n\
+ strb r1, [r0]\n\
+ ldrb r0, [r3]\n\
+ ldr r3, _0801EF90 @ =0x00016020\n\
+ adds r0, r3\n\
+ adds r0, r2\n\
+ ldr r1, _0801EF94 @ =gBankAttacker\n\
+ ldrb r1, [r1]\n\
+ strb r1, [r0]\n\
+ ldr r4, _0801EF98 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r4]\n\
+ adds r0, 0x1\n\
+ bl b_movescr_stack_push\n\
+ ldr r1, _0801EF9C @ =gMoveEffectBS_Ptrs\n\
+ ldr r2, _0801EFA0 @ =gBattleCommunication\n\
+ ldrb r0, [r2, 0x3]\n\
+ lsls r0, 2\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ str r0, [r4]\n\
+ strb r5, [r2, 0x5]\n\
+ ldr r1, _0801EFA4 @ =gTrappingMoves\n\
+ ldrh r0, [r1]\n\
+ ldrh r4, [r6]\n\
+ cmp r0, r4\n\
+ bne _0801EF5C\n\
+ b _0801F5FA\n\
_0801EF5C:\n\
- adds r3, r1, 0\n\
- adds r1, r6, 0\n\
+ adds r3, r1, 0\n\
+ adds r1, r6, 0\n\
_0801EF60:\n\
- ldrb r0, [r2, 0x5]\n\
- adds r0, 0x1\n\
- strb r0, [r2, 0x5]\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r0, 0x4\n\
- bls _0801EF70\n\
- b _0801F5FA\n\
+ ldrb r0, [r2, 0x5]\n\
+ adds r0, 0x1\n\
+ strb r0, [r2, 0x5]\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ cmp r0, 0x4\n\
+ bls _0801EF70\n\
+ b _0801F5FA\n\
_0801EF70:\n\
- ldrb r0, [r2, 0x5]\n\
- lsls r0, 1\n\
- adds r0, r3\n\
- ldrh r0, [r0]\n\
- ldrh r4, [r1]\n\
- cmp r0, r4\n\
- bne _0801EF60\n\
- b _0801F5FA\n\
- .align 2, 0\n\
+ ldrb r0, [r2, 0x5]\n\
+ lsls r0, 1\n\
+ adds r0, r3\n\
+ ldrh r0, [r0]\n\
+ ldrh r4, [r1]\n\
+ cmp r0, r4\n\
+ bne _0801EF60\n\
+ b _0801F5FA\n\
+ .align 2, 0\n\
_0801EF80: .4byte 0x02000000\n\
_0801EF84: .4byte 0x00016004\n\
_0801EF88: .4byte gCurrentMove\n\
@@ -4376,328 +4376,328 @@ _0801EF9C: .4byte gMoveEffectBS_Ptrs\n\
_0801EFA0: .4byte gBattleCommunication\n\
_0801EFA4: .4byte gTrappingMoves\n\
_0801EFA8:\n\
- ldr r1, _0801EFD8 @ =gBattleMoveDamage\n\
- ldr r0, _0801EFDC @ =gHP_dealt\n\
- ldr r0, [r0]\n\
- cmp r0, 0\n\
- bge _0801EFB4\n\
- adds r0, 0x3\n\
+ ldr r1, _0801EFD8 @ =gBattleMoveDamage\n\
+ ldr r0, _0801EFDC @ =gHP_dealt\n\
+ ldr r0, [r0]\n\
+ cmp r0, 0\n\
+ bge _0801EFB4\n\
+ adds r0, 0x3\n\
_0801EFB4:\n\
- asrs r0, 2\n\
- str r0, [r1]\n\
- cmp r0, 0\n\
- bne _0801EFC0\n\
- movs r0, 0x1\n\
- str r0, [r1]\n\
+ asrs r0, 2\n\
+ str r0, [r1]\n\
+ cmp r0, 0\n\
+ bne _0801EFC0\n\
+ movs r0, 0x1\n\
+ str r0, [r1]\n\
_0801EFC0:\n\
- ldr r4, _0801EFE0 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r4]\n\
- adds r0, 0x1\n\
- bl b_movescr_stack_push\n\
- ldr r1, _0801EFE4 @ =gMoveEffectBS_Ptrs\n\
- ldr r0, _0801EFE8 @ =gBattleCommunication\n\
- ldrb r0, [r0, 0x3]\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- b _0801F5F8\n\
- .align 2, 0\n\
+ ldr r4, _0801EFE0 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r4]\n\
+ adds r0, 0x1\n\
+ bl b_movescr_stack_push\n\
+ ldr r1, _0801EFE4 @ =gMoveEffectBS_Ptrs\n\
+ ldr r0, _0801EFE8 @ =gBattleCommunication\n\
+ ldrb r0, [r0, 0x3]\n\
+ lsls r0, 2\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ b _0801F5F8\n\
+ .align 2, 0\n\
_0801EFD8: .4byte gBattleMoveDamage\n\
_0801EFDC: .4byte gHP_dealt\n\
_0801EFE0: .4byte gBattlescriptCurrInstr\n\
_0801EFE4: .4byte gMoveEffectBS_Ptrs\n\
_0801EFE8: .4byte gBattleCommunication\n\
_0801EFEC:\n\
- ldrb r1, [r7, 0x3]\n\
- adds r1, 0xF2\n\
- lsls r1, 24\n\
- lsrs r1, 24\n\
- movs r0, 0x10\n\
- adds r2, r6, 0\n\
- movs r3, 0\n\
- bl ChangeStatBuffs\n\
- lsls r0, 24\n\
- lsrs r3, r0, 24\n\
- cmp r3, 0\n\
- beq _0801F008\n\
- b _0801F5DC\n\
+ ldrb r1, [r7, 0x3]\n\
+ adds r1, 0xF2\n\
+ lsls r1, 24\n\
+ lsrs r1, 24\n\
+ movs r0, 0x10\n\
+ adds r2, r6, 0\n\
+ movs r3, 0\n\
+ bl ChangeStatBuffs\n\
+ lsls r0, 24\n\
+ lsrs r3, r0, 24\n\
+ cmp r3, 0\n\
+ beq _0801F008\n\
+ b _0801F5DC\n\
_0801F008:\n\
- ldr r2, _0801F02C @ =0x02000000\n\
- ldrb r1, [r7, 0x3]\n\
- movs r0, 0x3F\n\
- ands r0, r1\n\
- ldr r4, _0801F030 @ =0x000160a4\n\
- adds r1, r2, r4\n\
- strb r0, [r1]\n\
- ldr r0, _0801F034 @ =0x000160a5\n\
- adds r2, r0\n\
- strb r3, [r2]\n\
- ldr r4, _0801F038 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r4]\n\
- adds r0, 0x1\n\
- bl b_movescr_stack_push\n\
- ldr r0, _0801F03C @ =BattleScript_StatUp\n\
- b _0801F5F8\n\
- .align 2, 0\n\
+ ldr r2, _0801F02C @ =0x02000000\n\
+ ldrb r1, [r7, 0x3]\n\
+ movs r0, 0x3F\n\
+ ands r0, r1\n\
+ ldr r4, _0801F030 @ =0x000160a4\n\
+ adds r1, r2, r4\n\
+ strb r0, [r1]\n\
+ ldr r0, _0801F034 @ =0x000160a5\n\
+ adds r2, r0\n\
+ strb r3, [r2]\n\
+ ldr r4, _0801F038 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r4]\n\
+ adds r0, 0x1\n\
+ bl b_movescr_stack_push\n\
+ ldr r0, _0801F03C @ =BattleScript_StatUp\n\
+ b _0801F5F8\n\
+ .align 2, 0\n\
_0801F02C: .4byte 0x02000000\n\
_0801F030: .4byte 0x000160a4\n\
_0801F034: .4byte 0x000160a5\n\
_0801F038: .4byte gBattlescriptCurrInstr\n\
_0801F03C: .4byte BattleScript_StatUp\n\
_0801F040:\n\
- movs r0, 0x70\n\
- negs r0, r0\n\
- ldrb r1, [r7, 0x3]\n\
- adds r1, 0xEB\n\
- lsls r1, 24\n\
- lsrs r1, 24\n\
- adds r2, r6, 0\n\
- movs r3, 0\n\
- bl ChangeStatBuffs\n\
- lsls r0, 24\n\
- lsrs r3, r0, 24\n\
- cmp r3, 0\n\
- beq _0801F05E\n\
- b _0801F5DC\n\
+ movs r0, 0x70\n\
+ negs r0, r0\n\
+ ldrb r1, [r7, 0x3]\n\
+ adds r1, 0xEB\n\
+ lsls r1, 24\n\
+ lsrs r1, 24\n\
+ adds r2, r6, 0\n\
+ movs r3, 0\n\
+ bl ChangeStatBuffs\n\
+ lsls r0, 24\n\
+ lsrs r3, r0, 24\n\
+ cmp r3, 0\n\
+ beq _0801F05E\n\
+ b _0801F5DC\n\
_0801F05E:\n\
- ldr r2, _0801F080 @ =0x02000000\n\
- ldrb r1, [r7, 0x3]\n\
- movs r0, 0x3F\n\
- ands r0, r1\n\
- ldr r4, _0801F084 @ =0x000160a4\n\
- adds r1, r2, r4\n\
- strb r0, [r1]\n\
- ldr r0, _0801F088 @ =0x000160a5\n\
- adds r2, r0\n\
- strb r3, [r2]\n\
- ldr r4, _0801F08C @ =gBattlescriptCurrInstr\n\
- ldr r0, [r4]\n\
- adds r0, 0x1\n\
- bl b_movescr_stack_push\n\
- ldr r0, _0801F090 @ =BattleScript_StatDown\n\
- b _0801F5F8\n\
- .align 2, 0\n\
+ ldr r2, _0801F080 @ =0x02000000\n\
+ ldrb r1, [r7, 0x3]\n\
+ movs r0, 0x3F\n\
+ ands r0, r1\n\
+ ldr r4, _0801F084 @ =0x000160a4\n\
+ adds r1, r2, r4\n\
+ strb r0, [r1]\n\
+ ldr r0, _0801F088 @ =0x000160a5\n\
+ adds r2, r0\n\
+ strb r3, [r2]\n\
+ ldr r4, _0801F08C @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r4]\n\
+ adds r0, 0x1\n\
+ bl b_movescr_stack_push\n\
+ ldr r0, _0801F090 @ =BattleScript_StatDown\n\
+ b _0801F5F8\n\
+ .align 2, 0\n\
_0801F080: .4byte 0x02000000\n\
_0801F084: .4byte 0x000160a4\n\
_0801F088: .4byte 0x000160a5\n\
_0801F08C: .4byte gBattlescriptCurrInstr\n\
_0801F090: .4byte BattleScript_StatDown\n\
_0801F094:\n\
- ldrb r1, [r7, 0x3]\n\
- adds r1, 0xDA\n\
- lsls r1, 24\n\
- lsrs r1, 24\n\
- movs r0, 0x20\n\
- adds r2, r6, 0\n\
- movs r3, 0\n\
- bl ChangeStatBuffs\n\
- lsls r0, 24\n\
- lsrs r3, r0, 24\n\
- cmp r3, 0\n\
- beq _0801F0B0\n\
- b _0801F5DC\n\
+ ldrb r1, [r7, 0x3]\n\
+ adds r1, 0xDA\n\
+ lsls r1, 24\n\
+ lsrs r1, 24\n\
+ movs r0, 0x20\n\
+ adds r2, r6, 0\n\
+ movs r3, 0\n\
+ bl ChangeStatBuffs\n\
+ lsls r0, 24\n\
+ lsrs r3, r0, 24\n\
+ cmp r3, 0\n\
+ beq _0801F0B0\n\
+ b _0801F5DC\n\
_0801F0B0:\n\
- ldr r2, _0801F0D4 @ =0x02000000\n\
- ldrb r1, [r7, 0x3]\n\
- movs r0, 0x3F\n\
- ands r0, r1\n\
- ldr r4, _0801F0D8 @ =0x000160a4\n\
- adds r1, r2, r4\n\
- strb r0, [r1]\n\
- ldr r0, _0801F0DC @ =0x000160a5\n\
- adds r2, r0\n\
- strb r3, [r2]\n\
- ldr r4, _0801F0E0 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r4]\n\
- adds r0, 0x1\n\
- bl b_movescr_stack_push\n\
- ldr r0, _0801F0E4 @ =BattleScript_StatUp\n\
- b _0801F5F8\n\
- .align 2, 0\n\
+ ldr r2, _0801F0D4 @ =0x02000000\n\
+ ldrb r1, [r7, 0x3]\n\
+ movs r0, 0x3F\n\
+ ands r0, r1\n\
+ ldr r4, _0801F0D8 @ =0x000160a4\n\
+ adds r1, r2, r4\n\
+ strb r0, [r1]\n\
+ ldr r0, _0801F0DC @ =0x000160a5\n\
+ adds r2, r0\n\
+ strb r3, [r2]\n\
+ ldr r4, _0801F0E0 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r4]\n\
+ adds r0, 0x1\n\
+ bl b_movescr_stack_push\n\
+ ldr r0, _0801F0E4 @ =BattleScript_StatUp\n\
+ b _0801F5F8\n\
+ .align 2, 0\n\
_0801F0D4: .4byte 0x02000000\n\
_0801F0D8: .4byte 0x000160a4\n\
_0801F0DC: .4byte 0x000160a5\n\
_0801F0E0: .4byte gBattlescriptCurrInstr\n\
_0801F0E4: .4byte BattleScript_StatUp\n\
_0801F0E8:\n\
- movs r0, 0x60\n\
- negs r0, r0\n\
- ldrb r1, [r7, 0x3]\n\
- adds r1, 0xD3\n\
- lsls r1, 24\n\
- lsrs r1, 24\n\
- adds r2, r6, 0\n\
- movs r3, 0\n\
- bl ChangeStatBuffs\n\
- lsls r0, 24\n\
- lsrs r3, r0, 24\n\
- cmp r3, 0\n\
- beq _0801F106\n\
- b _0801F5DC\n\
+ movs r0, 0x60\n\
+ negs r0, r0\n\
+ ldrb r1, [r7, 0x3]\n\
+ adds r1, 0xD3\n\
+ lsls r1, 24\n\
+ lsrs r1, 24\n\
+ adds r2, r6, 0\n\
+ movs r3, 0\n\
+ bl ChangeStatBuffs\n\
+ lsls r0, 24\n\
+ lsrs r3, r0, 24\n\
+ cmp r3, 0\n\
+ beq _0801F106\n\
+ b _0801F5DC\n\
_0801F106:\n\
- ldr r2, _0801F128 @ =0x02000000\n\
- ldrb r1, [r7, 0x3]\n\
- movs r0, 0x3F\n\
- ands r0, r1\n\
- ldr r4, _0801F12C @ =0x000160a4\n\
- adds r1, r2, r4\n\
- strb r0, [r1]\n\
- ldr r0, _0801F130 @ =0x000160a5\n\
- adds r2, r0\n\
- strb r3, [r2]\n\
- ldr r4, _0801F134 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r4]\n\
- adds r0, 0x1\n\
- bl b_movescr_stack_push\n\
- ldr r0, _0801F138 @ =BattleScript_StatDown\n\
- b _0801F5F8\n\
- .align 2, 0\n\
+ ldr r2, _0801F128 @ =0x02000000\n\
+ ldrb r1, [r7, 0x3]\n\
+ movs r0, 0x3F\n\
+ ands r0, r1\n\
+ ldr r4, _0801F12C @ =0x000160a4\n\
+ adds r1, r2, r4\n\
+ strb r0, [r1]\n\
+ ldr r0, _0801F130 @ =0x000160a5\n\
+ adds r2, r0\n\
+ strb r3, [r2]\n\
+ ldr r4, _0801F134 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r4]\n\
+ adds r0, 0x1\n\
+ bl b_movescr_stack_push\n\
+ ldr r0, _0801F138 @ =BattleScript_StatDown\n\
+ b _0801F5F8\n\
+ .align 2, 0\n\
_0801F128: .4byte 0x02000000\n\
_0801F12C: .4byte 0x000160a4\n\
_0801F130: .4byte 0x000160a5\n\
_0801F134: .4byte gBattlescriptCurrInstr\n\
_0801F138: .4byte BattleScript_StatDown\n\
_0801F13C:\n\
- mov r2, r8\n\
- ldrb r1, [r2]\n\
- movs r0, 0x58\n\
- adds r2, r1, 0\n\
- muls r2, r0\n\
- mov r0, r9\n\
- adds r0, 0x50\n\
- adds r2, r0\n\
- ldr r0, [r2]\n\
- movs r1, 0x80\n\
- lsls r1, 15\n\
- orrs r0, r1\n\
- str r0, [r2]\n\
- ldr r2, _0801F178 @ =gDisableStructs\n\
- mov r3, r8\n\
- ldrb r1, [r3]\n\
- lsls r0, r1, 3\n\
- subs r0, r1\n\
- lsls r0, 2\n\
- adds r0, r2\n\
- movs r1, 0x2\n\
- strb r1, [r0, 0x19]\n\
- ldr r1, _0801F17C @ =gLockedMove\n\
- ldrb r0, [r3]\n\
- lsls r0, 1\n\
- adds r0, r1\n\
- ldr r1, _0801F180 @ =gCurrentMove\n\
- ldrh r1, [r1]\n\
- strh r1, [r0]\n\
- b _0801F5DC\n\
- .align 2, 0\n\
+ mov r2, r8\n\
+ ldrb r1, [r2]\n\
+ movs r0, 0x58\n\
+ adds r2, r1, 0\n\
+ muls r2, r0\n\
+ mov r0, r9\n\
+ adds r0, 0x50\n\
+ adds r2, r0\n\
+ ldr r0, [r2]\n\
+ movs r1, 0x80\n\
+ lsls r1, 15\n\
+ orrs r0, r1\n\
+ str r0, [r2]\n\
+ ldr r2, _0801F178 @ =gDisableStructs\n\
+ mov r3, r8\n\
+ ldrb r1, [r3]\n\
+ lsls r0, r1, 3\n\
+ subs r0, r1\n\
+ lsls r0, 2\n\
+ adds r0, r2\n\
+ movs r1, 0x2\n\
+ strb r1, [r0, 0x19]\n\
+ ldr r1, _0801F17C @ =gLockedMove\n\
+ ldrb r0, [r3]\n\
+ lsls r0, 1\n\
+ adds r0, r1\n\
+ ldr r1, _0801F180 @ =gCurrentMove\n\
+ ldrh r1, [r1]\n\
+ strh r1, [r0]\n\
+ b _0801F5DC\n\
+ .align 2, 0\n\
_0801F178: .4byte gDisableStructs\n\
_0801F17C: .4byte gLockedMove\n\
_0801F180: .4byte gCurrentMove\n\
_0801F184:\n\
- ldr r0, _0801F1A0 @ =gBankAttacker\n\
- ldrb r1, [r0]\n\
- movs r0, 0x58\n\
- adds r2, r1, 0\n\
- muls r2, r0\n\
- mov r0, r9\n\
- adds r0, 0x50\n\
- adds r2, r0\n\
- ldr r0, [r2]\n\
- movs r1, 0x80\n\
- lsls r1, 16\n\
+ ldr r0, _0801F1A0 @ =gBankAttacker\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0x58\n\
+ adds r2, r1, 0\n\
+ muls r2, r0\n\
+ mov r0, r9\n\
+ adds r0, 0x50\n\
+ adds r2, r0\n\
+ ldr r0, [r2]\n\
+ movs r1, 0x80\n\
+ lsls r1, 16\n\
_0801F19A:\n\
- orrs r0, r1\n\
- str r0, [r2]\n\
- b _0801F5DC\n\
- .align 2, 0\n\
+ orrs r0, r1\n\
+ str r0, [r2]\n\
+ b _0801F5DC\n\
+ .align 2, 0\n\
_0801F1A0: .4byte gBankAttacker\n\
_0801F1A4:\n\
- ldr r4, _0801F254 @ =gBankAttacker\n\
- ldrb r0, [r4]\n\
- bl GetBankSide\n\
- lsls r0, 24\n\
- lsrs r6, r0, 24\n\
- ldrb r0, [r4]\n\
- bl GetBankSide\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r0, 0x1\n\
- bne _0801F1D8\n\
- ldr r0, _0801F258 @ =gBattleTypeFlags\n\
- ldrh r1, [r0]\n\
- ldr r0, _0801F25C @ =0x00000902\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _0801F214\n\
- ldr r0, _0801F260 @ =gTrainerBattleOpponent\n\
- ldrh r1, [r0]\n\
- movs r0, 0x80\n\
- lsls r0, 3\n\
- cmp r1, r0\n\
- beq _0801F1D8\n\
- b _0801F5DC\n\
+ ldr r4, _0801F254 @ =gBankAttacker\n\
+ ldrb r0, [r4]\n\
+ bl GetBankSide\n\
+ lsls r0, 24\n\
+ lsrs r6, r0, 24\n\
+ ldrb r0, [r4]\n\
+ bl GetBankSide\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ cmp r0, 0x1\n\
+ bne _0801F1D8\n\
+ ldr r0, _0801F258 @ =gBattleTypeFlags\n\
+ ldrh r1, [r0]\n\
+ ldr r0, _0801F25C @ =0x00000902\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ bne _0801F214\n\
+ ldr r0, _0801F260 @ =gTrainerBattleOpponent\n\
+ ldrh r1, [r0]\n\
+ movs r0, 0x80\n\
+ lsls r0, 3\n\
+ cmp r1, r0\n\
+ beq _0801F1D8\n\
+ b _0801F5DC\n\
_0801F1D8:\n\
- ldr r0, _0801F258 @ =gBattleTypeFlags\n\
- ldrh r1, [r0]\n\
- ldr r0, _0801F25C @ =0x00000902\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _0801F214\n\
- ldr r0, _0801F260 @ =gTrainerBattleOpponent\n\
- ldrh r1, [r0]\n\
- movs r0, 0x80\n\
- lsls r0, 3\n\
- cmp r1, r0\n\
- beq _0801F214\n\
- ldr r0, _0801F264 @ =gWishFutureKnock\n\
- adds r0, 0x29\n\
- adds r0, r6, r0\n\
- ldrb r1, [r0]\n\
- ldr r3, _0801F268 @ =gBitTable\n\
- ldr r2, _0801F26C @ =gBattlePartyID\n\
- ldr r0, _0801F254 @ =gBankAttacker\n\
- ldrb r0, [r0]\n\
- lsls r0, 1\n\
- adds r0, r2\n\
- ldrh r0, [r0]\n\
- lsls r0, 2\n\
- adds r0, r3\n\
- ldr r0, [r0]\n\
- ands r1, r0\n\
- cmp r1, 0\n\
- beq _0801F214\n\
- b _0801F5DC\n\
+ ldr r0, _0801F258 @ =gBattleTypeFlags\n\
+ ldrh r1, [r0]\n\
+ ldr r0, _0801F25C @ =0x00000902\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ bne _0801F214\n\
+ ldr r0, _0801F260 @ =gTrainerBattleOpponent\n\
+ ldrh r1, [r0]\n\
+ movs r0, 0x80\n\
+ lsls r0, 3\n\
+ cmp r1, r0\n\
+ beq _0801F214\n\
+ ldr r0, _0801F264 @ =gWishFutureKnock\n\
+ adds r0, 0x29\n\
+ adds r0, r6, r0\n\
+ ldrb r1, [r0]\n\
+ ldr r3, _0801F268 @ =gBitTable\n\
+ ldr r2, _0801F26C @ =gBattlePartyID\n\
+ ldr r0, _0801F254 @ =gBankAttacker\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 1\n\
+ adds r0, r2\n\
+ ldrh r0, [r0]\n\
+ lsls r0, 2\n\
+ adds r0, r3\n\
+ ldr r0, [r0]\n\
+ ands r1, r0\n\
+ cmp r1, 0\n\
+ beq _0801F214\n\
+ b _0801F5DC\n\
_0801F214:\n\
- ldr r2, _0801F270 @ =gBattleMons\n\
- ldr r1, _0801F274 @ =gBankTarget\n\
- ldrb r0, [r1]\n\
- movs r3, 0x58\n\
- muls r0, r3\n\
- adds r4, r0, r2\n\
- ldrh r0, [r4, 0x2E]\n\
- adds r7, r1, 0\n\
- mov r9, r2\n\
- cmp r0, 0\n\
- beq _0801F284\n\
- adds r0, r4, 0\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x3C\n\
- bne _0801F284\n\
- ldr r1, _0801F278 @ =gBattlescriptCurrInstr\n\
- ldr r0, _0801F27C @ =BattleScript_NoItemSteal\n\
- str r0, [r1]\n\
- ldr r1, _0801F280 @ =gLastUsedAbility\n\
- ldrb r0, [r7]\n\
- muls r0, r3\n\
- add r0, r9\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- strb r0, [r1]\n\
- ldrb r0, [r7]\n\
- ldrb r1, [r1]\n\
- bl RecordAbilityBattle\n\
- b _0801F5FA\n\
- .align 2, 0\n\
+ ldr r2, _0801F270 @ =gBattleMons\n\
+ ldr r1, _0801F274 @ =gBankTarget\n\
+ ldrb r0, [r1]\n\
+ movs r3, 0x58\n\
+ muls r0, r3\n\
+ adds r4, r0, r2\n\
+ ldrh r0, [r4, 0x2E]\n\
+ adds r7, r1, 0\n\
+ mov r9, r2\n\
+ cmp r0, 0\n\
+ beq _0801F284\n\
+ adds r0, r4, 0\n\
+ adds r0, 0x20\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x3C\n\
+ bne _0801F284\n\
+ ldr r1, _0801F278 @ =gBattlescriptCurrInstr\n\
+ ldr r0, _0801F27C @ =BattleScript_NoItemSteal\n\
+ str r0, [r1]\n\
+ ldr r1, _0801F280 @ =gLastUsedAbility\n\
+ ldrb r0, [r7]\n\
+ muls r0, r3\n\
+ add r0, r9\n\
+ adds r0, 0x20\n\
+ ldrb r0, [r0]\n\
+ strb r0, [r1]\n\
+ ldrb r0, [r7]\n\
+ ldrb r1, [r1]\n\
+ bl RecordAbilityBattle\n\
+ b _0801F5FA\n\
+ .align 2, 0\n\
_0801F254: .4byte gBankAttacker\n\
_0801F258: .4byte gBattleTypeFlags\n\
_0801F25C: .4byte 0x00000902\n\
@@ -4711,99 +4711,99 @@ _0801F278: .4byte gBattlescriptCurrInstr\n\
_0801F27C: .4byte BattleScript_NoItemSteal\n\
_0801F280: .4byte gLastUsedAbility\n\
_0801F284:\n\
- ldr r4, _0801F340 @ =gBankAttacker\n\
- mov r10, r4\n\
- ldrb r1, [r4]\n\
- movs r0, 0x58\n\
- mov r8, r0\n\
- mov r0, r8\n\
- muls r0, r1\n\
- add r0, r9\n\
- ldrh r3, [r0, 0x2E]\n\
- cmp r3, 0\n\
- beq _0801F29C\n\
- b _0801F5DC\n\
+ ldr r4, _0801F340 @ =gBankAttacker\n\
+ mov r10, r4\n\
+ ldrb r1, [r4]\n\
+ movs r0, 0x58\n\
+ mov r8, r0\n\
+ mov r0, r8\n\
+ muls r0, r1\n\
+ add r0, r9\n\
+ ldrh r3, [r0, 0x2E]\n\
+ cmp r3, 0\n\
+ beq _0801F29C\n\
+ b _0801F5DC\n\
_0801F29C:\n\
- ldrb r0, [r7]\n\
- mov r2, r8\n\
- muls r2, r0\n\
- adds r0, r2, 0\n\
- add r0, r9\n\
- ldrh r2, [r0, 0x2E]\n\
- adds r0, r2, 0\n\
- cmp r0, 0xAF\n\
- bne _0801F2B0\n\
- b _0801F5DC\n\
+ ldrb r0, [r7]\n\
+ mov r2, r8\n\
+ muls r2, r0\n\
+ adds r0, r2, 0\n\
+ add r0, r9\n\
+ ldrh r2, [r0, 0x2E]\n\
+ adds r0, r2, 0\n\
+ cmp r0, 0xAF\n\
+ bne _0801F2B0\n\
+ b _0801F5DC\n\
_0801F2B0:\n\
- cmp r0, 0\n\
- bne _0801F2B6\n\
- b _0801F5DC\n\
+ cmp r0, 0\n\
+ bne _0801F2B6\n\
+ b _0801F5DC\n\
_0801F2B6:\n\
- lsls r0, r1, 1\n\
- ldr r5, _0801F344 @ =0x020160f0\n\
- adds r0, r5\n\
- ldr r1, _0801F348 @ =gLastUsedItem\n\
- strh r2, [r0]\n\
- strh r2, [r1]\n\
- ldrb r0, [r7]\n\
- mov r4, r8\n\
- muls r4, r0\n\
- adds r0, r4, 0\n\
- add r0, r9\n\
- movs r6, 0\n\
- strh r3, [r0, 0x2E]\n\
- ldr r4, _0801F34C @ =gActiveBank\n\
- mov r2, r10\n\
- ldrb r0, [r2]\n\
- strb r0, [r4]\n\
- str r1, [sp]\n\
- movs r0, 0\n\
- movs r1, 0x2\n\
- movs r2, 0\n\
- movs r3, 0x2\n\
- bl EmitSetAttributes\n\
- mov r3, r10\n\
- ldrb r0, [r3]\n\
- bl MarkBufferBankForExecution\n\
- ldrb r0, [r7]\n\
- strb r0, [r4]\n\
- ldrb r0, [r7]\n\
- mov r4, r8\n\
- muls r4, r0\n\
- adds r0, r4, 0\n\
- mov r1, r9\n\
- adds r1, 0x2E\n\
- adds r0, r1\n\
- str r0, [sp]\n\
- movs r0, 0\n\
- movs r1, 0x2\n\
- movs r2, 0\n\
- movs r3, 0x2\n\
- bl EmitSetAttributes\n\
- ldrb r0, [r7]\n\
- bl MarkBufferBankForExecution\n\
- ldr r4, _0801F350 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r4]\n\
- adds r0, 0x1\n\
- bl b_movescr_stack_push\n\
- ldr r0, _0801F354 @ =BattleScript_ItemSteal\n\
- str r0, [r4]\n\
- ldr r0, _0801F358 @ =0xfffe9f10\n\
- adds r5, r0\n\
- ldrb r0, [r7]\n\
- lsls r0, 1\n\
- ldr r1, _0801F35C @ =0x000160e8\n\
- adds r0, r1\n\
- adds r0, r5\n\
- strb r6, [r0]\n\
- ldrb r0, [r7]\n\
- lsls r0, 1\n\
- ldr r2, _0801F360 @ =0x000160e9\n\
- adds r0, r2\n\
- adds r0, r5\n\
- strb r6, [r0]\n\
- b _0801F5FA\n\
- .align 2, 0\n\
+ lsls r0, r1, 1\n\
+ ldr r5, _0801F344 @ =0x020160f0\n\
+ adds r0, r5\n\
+ ldr r1, _0801F348 @ =gLastUsedItem\n\
+ strh r2, [r0]\n\
+ strh r2, [r1]\n\
+ ldrb r0, [r7]\n\
+ mov r4, r8\n\
+ muls r4, r0\n\
+ adds r0, r4, 0\n\
+ add r0, r9\n\
+ movs r6, 0\n\
+ strh r3, [r0, 0x2E]\n\
+ ldr r4, _0801F34C @ =gActiveBank\n\
+ mov r2, r10\n\
+ ldrb r0, [r2]\n\
+ strb r0, [r4]\n\
+ str r1, [sp]\n\
+ movs r0, 0\n\
+ movs r1, 0x2\n\
+ movs r2, 0\n\
+ movs r3, 0x2\n\
+ bl EmitSetAttributes\n\
+ mov r3, r10\n\
+ ldrb r0, [r3]\n\
+ bl MarkBufferBankForExecution\n\
+ ldrb r0, [r7]\n\
+ strb r0, [r4]\n\
+ ldrb r0, [r7]\n\
+ mov r4, r8\n\
+ muls r4, r0\n\
+ adds r0, r4, 0\n\
+ mov r1, r9\n\
+ adds r1, 0x2E\n\
+ adds r0, r1\n\
+ str r0, [sp]\n\
+ movs r0, 0\n\
+ movs r1, 0x2\n\
+ movs r2, 0\n\
+ movs r3, 0x2\n\
+ bl EmitSetAttributes\n\
+ ldrb r0, [r7]\n\
+ bl MarkBufferBankForExecution\n\
+ ldr r4, _0801F350 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r4]\n\
+ adds r0, 0x1\n\
+ bl b_movescr_stack_push\n\
+ ldr r0, _0801F354 @ =BattleScript_ItemSteal\n\
+ str r0, [r4]\n\
+ ldr r0, _0801F358 @ =0xfffe9f10\n\
+ adds r5, r0\n\
+ ldrb r0, [r7]\n\
+ lsls r0, 1\n\
+ ldr r1, _0801F35C @ =0x000160e8\n\
+ adds r0, r1\n\
+ adds r0, r5\n\
+ strb r6, [r0]\n\
+ ldrb r0, [r7]\n\
+ lsls r0, 1\n\
+ ldr r2, _0801F360 @ =0x000160e9\n\
+ adds r0, r2\n\
+ adds r0, r5\n\
+ strb r6, [r0]\n\
+ b _0801F5FA\n\
+ .align 2, 0\n\
_0801F340: .4byte gBankAttacker\n\
_0801F344: .4byte 0x020160f0\n\
_0801F348: .4byte gLastUsedItem\n\
@@ -4814,284 +4814,284 @@ _0801F358: .4byte 0xfffe9f10\n\
_0801F35C: .4byte 0x000160e8\n\
_0801F360: .4byte 0x000160e9\n\
_0801F364:\n\
- ldr r3, _0801F394 @ =gBankTarget\n\
- ldrb r1, [r3]\n\
- movs r0, 0x58\n\
- adds r2, r1, 0\n\
- muls r2, r0\n\
- mov r0, r9\n\
- adds r0, 0x50\n\
- adds r2, r0\n\
- ldr r0, [r2]\n\
- movs r1, 0x80\n\
- lsls r1, 19\n\
- orrs r0, r1\n\
- str r0, [r2]\n\
- ldr r2, _0801F398 @ =gDisableStructs\n\
- ldrb r1, [r3]\n\
- lsls r0, r1, 3\n\
- subs r0, r1\n\
- lsls r0, 2\n\
- adds r0, r2\n\
- ldr r1, _0801F39C @ =gBankAttacker\n\
- ldrb r1, [r1]\n\
- strb r1, [r0, 0x14]\n\
- b _0801F5DC\n\
- .align 2, 0\n\
+ ldr r3, _0801F394 @ =gBankTarget\n\
+ ldrb r1, [r3]\n\
+ movs r0, 0x58\n\
+ adds r2, r1, 0\n\
+ muls r2, r0\n\
+ mov r0, r9\n\
+ adds r0, 0x50\n\
+ adds r2, r0\n\
+ ldr r0, [r2]\n\
+ movs r1, 0x80\n\
+ lsls r1, 19\n\
+ orrs r0, r1\n\
+ str r0, [r2]\n\
+ ldr r2, _0801F398 @ =gDisableStructs\n\
+ ldrb r1, [r3]\n\
+ lsls r0, r1, 3\n\
+ subs r0, r1\n\
+ lsls r0, 2\n\
+ adds r0, r2\n\
+ ldr r1, _0801F39C @ =gBankAttacker\n\
+ ldrb r1, [r1]\n\
+ strb r1, [r0, 0x14]\n\
+ b _0801F5DC\n\
+ .align 2, 0\n\
_0801F394: .4byte gBankTarget\n\
_0801F398: .4byte gDisableStructs\n\
_0801F39C: .4byte gBankAttacker\n\
_0801F3A0:\n\
- ldr r0, _0801F3B8 @ =gBankTarget\n\
- ldrb r1, [r0]\n\
- movs r0, 0x58\n\
- adds r2, r1, 0\n\
- muls r2, r0\n\
- mov r0, r9\n\
- adds r0, 0x50\n\
- adds r2, r0\n\
- ldr r0, [r2]\n\
- movs r1, 0x80\n\
- lsls r1, 20\n\
- b _0801F19A\n\
- .align 2, 0\n\
+ ldr r0, _0801F3B8 @ =gBankTarget\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0x58\n\
+ adds r2, r1, 0\n\
+ muls r2, r0\n\
+ mov r0, r9\n\
+ adds r0, 0x50\n\
+ adds r2, r0\n\
+ ldr r0, [r2]\n\
+ movs r1, 0x80\n\
+ lsls r1, 20\n\
+ b _0801F19A\n\
+ .align 2, 0\n\
_0801F3B8: .4byte gBankTarget\n\
_0801F3BC:\n\
- ldr r4, _0801F3CC @ =gBattlescriptCurrInstr\n\
- ldr r0, [r4]\n\
- adds r0, 0x1\n\
- bl b_movescr_stack_push\n\
- ldr r0, _0801F3D0 @ =gUnknown_081D9224\n\
- b _0801F5F8\n\
- .align 2, 0\n\
+ ldr r4, _0801F3CC @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r4]\n\
+ adds r0, 0x1\n\
+ bl b_movescr_stack_push\n\
+ ldr r0, _0801F3D0 @ =gUnknown_081D9224\n\
+ b _0801F5F8\n\
+ .align 2, 0\n\
_0801F3CC: .4byte gBattlescriptCurrInstr\n\
_0801F3D0: .4byte gUnknown_081D9224\n\
_0801F3D4:\n\
- ldr r4, _0801F3E4 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r4]\n\
- adds r0, 0x1\n\
- bl b_movescr_stack_push\n\
- ldr r0, _0801F3E8 @ =BattleScript_RapidSpinAway\n\
- b _0801F5F8\n\
- .align 2, 0\n\
+ ldr r4, _0801F3E4 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r4]\n\
+ adds r0, 0x1\n\
+ bl b_movescr_stack_push\n\
+ ldr r0, _0801F3E8 @ =BattleScript_RapidSpinAway\n\
+ b _0801F5F8\n\
+ .align 2, 0\n\
_0801F3E4: .4byte gBattlescriptCurrInstr\n\
_0801F3E8: .4byte BattleScript_RapidSpinAway\n\
_0801F3EC:\n\
- ldr r6, _0801F43C @ =gBankTarget\n\
- ldrb r0, [r6]\n\
- movs r2, 0x58\n\
- muls r0, r2\n\
- mov r1, r9\n\
- adds r1, 0x4C\n\
- adds r5, r0, r1\n\
- ldr r4, [r5]\n\
- movs r0, 0x40\n\
- ands r0, r4\n\
- cmp r0, 0\n\
- bne _0801F406\n\
- b _0801F5DC\n\
+ ldr r6, _0801F43C @ =gBankTarget\n\
+ ldrb r0, [r6]\n\
+ movs r2, 0x58\n\
+ muls r0, r2\n\
+ mov r1, r9\n\
+ adds r1, 0x4C\n\
+ adds r5, r0, r1\n\
+ ldr r4, [r5]\n\
+ movs r0, 0x40\n\
+ ands r0, r4\n\
+ cmp r0, 0\n\
+ bne _0801F406\n\
+ b _0801F5DC\n\
_0801F406:\n\
- movs r0, 0x41\n\
- negs r0, r0\n\
- ands r4, r0\n\
- str r4, [r5]\n\
- ldr r4, _0801F440 @ =gActiveBank\n\
- ldrb r0, [r6]\n\
- strb r0, [r4]\n\
- ldrb r0, [r4]\n\
- muls r0, r2\n\
- adds r0, r1\n\
- str r0, [sp]\n\
- movs r0, 0\n\
- movs r1, 0x28\n\
- movs r2, 0\n\
- movs r3, 0x4\n\
- bl EmitSetAttributes\n\
- ldrb r0, [r4]\n\
- bl MarkBufferBankForExecution\n\
- ldr r4, _0801F444 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r4]\n\
- adds r0, 0x1\n\
- bl b_movescr_stack_push\n\
- ldr r0, _0801F448 @ =BattleScript_TargetPRLZHeal\n\
- b _0801F5F8\n\
- .align 2, 0\n\
+ movs r0, 0x41\n\
+ negs r0, r0\n\
+ ands r4, r0\n\
+ str r4, [r5]\n\
+ ldr r4, _0801F440 @ =gActiveBank\n\
+ ldrb r0, [r6]\n\
+ strb r0, [r4]\n\
+ ldrb r0, [r4]\n\
+ muls r0, r2\n\
+ adds r0, r1\n\
+ str r0, [sp]\n\
+ movs r0, 0\n\
+ movs r1, 0x28\n\
+ movs r2, 0\n\
+ movs r3, 0x4\n\
+ bl EmitSetAttributes\n\
+ ldrb r0, [r4]\n\
+ bl MarkBufferBankForExecution\n\
+ ldr r4, _0801F444 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r4]\n\
+ adds r0, 0x1\n\
+ bl b_movescr_stack_push\n\
+ ldr r0, _0801F448 @ =BattleScript_TargetPRLZHeal\n\
+ b _0801F5F8\n\
+ .align 2, 0\n\
_0801F43C: .4byte gBankTarget\n\
_0801F440: .4byte gActiveBank\n\
_0801F444: .4byte gBattlescriptCurrInstr\n\
_0801F448: .4byte BattleScript_TargetPRLZHeal\n\
_0801F44C:\n\
- ldr r4, _0801F45C @ =gBattlescriptCurrInstr\n\
- ldr r0, [r4]\n\
- adds r0, 0x1\n\
- bl b_movescr_stack_push\n\
- ldr r0, _0801F460 @ =gUnknown_081D93FA\n\
- b _0801F5F8\n\
- .align 2, 0\n\
+ ldr r4, _0801F45C @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r4]\n\
+ adds r0, 0x1\n\
+ bl b_movescr_stack_push\n\
+ ldr r0, _0801F460 @ =gUnknown_081D93FA\n\
+ b _0801F5F8\n\
+ .align 2, 0\n\
_0801F45C: .4byte gBattlescriptCurrInstr\n\
_0801F460: .4byte gUnknown_081D93FA\n\
_0801F464:\n\
- ldr r4, _0801F494 @ =gBattleMoveDamage\n\
- ldr r0, _0801F498 @ =gHP_dealt\n\
- ldr r0, [r0]\n\
- movs r1, 0x3\n\
- bl __divsi3\n\
- str r0, [r4]\n\
- cmp r0, 0\n\
- bne _0801F47A\n\
- movs r0, 0x1\n\
- str r0, [r4]\n\
+ ldr r4, _0801F494 @ =gBattleMoveDamage\n\
+ ldr r0, _0801F498 @ =gHP_dealt\n\
+ ldr r0, [r0]\n\
+ movs r1, 0x3\n\
+ bl __divsi3\n\
+ str r0, [r4]\n\
+ cmp r0, 0\n\
+ bne _0801F47A\n\
+ movs r0, 0x1\n\
+ str r0, [r4]\n\
_0801F47A:\n\
- ldr r4, _0801F49C @ =gBattlescriptCurrInstr\n\
- ldr r0, [r4]\n\
- adds r0, 0x1\n\
- bl b_movescr_stack_push\n\
- ldr r1, _0801F4A0 @ =gMoveEffectBS_Ptrs\n\
- ldr r0, _0801F4A4 @ =gBattleCommunication\n\
- ldrb r0, [r0, 0x3]\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- b _0801F5F8\n\
- .align 2, 0\n\
+ ldr r4, _0801F49C @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r4]\n\
+ adds r0, 0x1\n\
+ bl b_movescr_stack_push\n\
+ ldr r1, _0801F4A0 @ =gMoveEffectBS_Ptrs\n\
+ ldr r0, _0801F4A4 @ =gBattleCommunication\n\
+ ldrb r0, [r0, 0x3]\n\
+ lsls r0, 2\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ b _0801F5F8\n\
+ .align 2, 0\n\
_0801F494: .4byte gBattleMoveDamage\n\
_0801F498: .4byte gHP_dealt\n\
_0801F49C: .4byte gBattlescriptCurrInstr\n\
_0801F4A0: .4byte gMoveEffectBS_Ptrs\n\
_0801F4A4: .4byte gBattleCommunication\n\
_0801F4A8:\n\
- mov r3, r8\n\
- ldrb r0, [r3]\n\
- movs r5, 0x58\n\
- muls r0, r5\n\
- mov r4, r9\n\
- adds r4, 0x50\n\
- adds r2, r0, r4\n\
- ldr r1, [r2]\n\
- movs r0, 0xC0\n\
- lsls r0, 4\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _0801F4C4\n\
- b _0801F5DC\n\
+ mov r3, r8\n\
+ ldrb r0, [r3]\n\
+ movs r5, 0x58\n\
+ muls r0, r5\n\
+ mov r4, r9\n\
+ adds r4, 0x50\n\
+ adds r2, r0, r4\n\
+ ldr r1, [r2]\n\
+ movs r0, 0xC0\n\
+ lsls r0, 4\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0801F4C4\n\
+ b _0801F5DC\n\
_0801F4C4:\n\
- movs r0, 0x80\n\
- lsls r0, 5\n\
- orrs r1, r0\n\
- str r1, [r2]\n\
- ldr r1, _0801F4F8 @ =gLockedMove\n\
- ldrb r0, [r3]\n\
- lsls r0, 1\n\
- adds r0, r1\n\
- ldr r1, _0801F4FC @ =gCurrentMove\n\
- ldrh r1, [r1]\n\
- strh r1, [r0]\n\
- bl Random\n\
- mov r2, r8\n\
- ldrb r1, [r2]\n\
- adds r2, r1, 0\n\
- muls r2, r5\n\
- adds r2, r4\n\
- movs r1, 0x1\n\
- ands r1, r0\n\
- adds r1, 0x2\n\
- lsls r1, 10\n\
- ldr r0, [r2]\n\
+ movs r0, 0x80\n\
+ lsls r0, 5\n\
+ orrs r1, r0\n\
+ str r1, [r2]\n\
+ ldr r1, _0801F4F8 @ =gLockedMove\n\
+ ldrb r0, [r3]\n\
+ lsls r0, 1\n\
+ adds r0, r1\n\
+ ldr r1, _0801F4FC @ =gCurrentMove\n\
+ ldrh r1, [r1]\n\
+ strh r1, [r0]\n\
+ bl Random\n\
+ mov r2, r8\n\
+ ldrb r1, [r2]\n\
+ adds r2, r1, 0\n\
+ muls r2, r5\n\
+ adds r2, r4\n\
+ movs r1, 0x1\n\
+ ands r1, r0\n\
+ adds r1, 0x2\n\
+ lsls r1, 10\n\
+ ldr r0, [r2]\n\
_0801F4F2:\n\
- orrs r0, r1\n\
- str r0, [r2]\n\
- b _0801F5FA\n\
- .align 2, 0\n\
+ orrs r0, r1\n\
+ str r0, [r2]\n\
+ b _0801F5FA\n\
+ .align 2, 0\n\
_0801F4F8: .4byte gLockedMove\n\
_0801F4FC: .4byte gCurrentMove\n\
_0801F500:\n\
- mov r5, r8\n\
- ldrb r3, [r5]\n\
- movs r4, 0x58\n\
- adds r0, r3, 0\n\
- muls r0, r4\n\
- mov r2, r9\n\
- adds r1, r0, r2\n\
- adds r0, r1, 0\n\
- adds r0, 0x20\n\
- ldrb r2, [r0]\n\
- cmp r2, 0x3C\n\
- bne _0801F540\n\
- ldrh r0, [r1, 0x2E]\n\
- cmp r0, 0\n\
- beq _0801F5DC\n\
- ldr r0, _0801F534 @ =gLastUsedAbility\n\
- strb r2, [r0]\n\
- ldr r1, _0801F538 @ =gBattlescriptCurrInstr\n\
- ldr r0, _0801F53C @ =BattleScript_NoItemSteal\n\
- str r0, [r1]\n\
- ldrb r0, [r5]\n\
- movs r1, 0x3C\n\
- bl RecordAbilityBattle\n\
- b _0801F5FA\n\
- .align 2, 0\n\
+ mov r5, r8\n\
+ ldrb r3, [r5]\n\
+ movs r4, 0x58\n\
+ adds r0, r3, 0\n\
+ muls r0, r4\n\
+ mov r2, r9\n\
+ adds r1, r0, r2\n\
+ adds r0, r1, 0\n\
+ adds r0, 0x20\n\
+ ldrb r2, [r0]\n\
+ cmp r2, 0x3C\n\
+ bne _0801F540\n\
+ ldrh r0, [r1, 0x2E]\n\
+ cmp r0, 0\n\
+ beq _0801F5DC\n\
+ ldr r0, _0801F534 @ =gLastUsedAbility\n\
+ strb r2, [r0]\n\
+ ldr r1, _0801F538 @ =gBattlescriptCurrInstr\n\
+ ldr r0, _0801F53C @ =BattleScript_NoItemSteal\n\
+ str r0, [r1]\n\
+ ldrb r0, [r5]\n\
+ movs r1, 0x3C\n\
+ bl RecordAbilityBattle\n\
+ b _0801F5FA\n\
+ .align 2, 0\n\
_0801F534: .4byte gLastUsedAbility\n\
_0801F538: .4byte gBattlescriptCurrInstr\n\
_0801F53C: .4byte BattleScript_NoItemSteal\n\
_0801F540:\n\
- ldrh r0, [r1, 0x2E]\n\
- cmp r0, 0\n\
- beq _0801F5DC\n\
- adds r0, r3, 0\n\
- bl GetBankSide\n\
- lsls r0, 24\n\
- lsrs r6, r0, 24\n\
- ldr r1, _0801F5B8 @ =gLastUsedItem\n\
- mov r3, r8\n\
- ldrb r0, [r3]\n\
- muls r0, r4\n\
- add r0, r9\n\
- ldrh r0, [r0, 0x2E]\n\
- strh r0, [r1]\n\
- ldrb r0, [r3]\n\
- muls r0, r4\n\
- add r0, r9\n\
- movs r5, 0\n\
- movs r1, 0\n\
- strh r1, [r0, 0x2E]\n\
- ldr r2, _0801F5BC @ =gWishFutureKnock\n\
- adds r2, 0x29\n\
- adds r2, r6, r2\n\
- ldr r3, _0801F5C0 @ =gBitTable\n\
- ldr r1, _0801F5C4 @ =gBattlePartyID\n\
- mov r4, r8\n\
- ldrb r0, [r4]\n\
- lsls r0, 1\n\
- adds r0, r1\n\
- ldrh r0, [r0]\n\
- lsls r0, 2\n\
- adds r0, r3\n\
- ldr r0, [r0]\n\
- ldrb r1, [r2]\n\
- orrs r0, r1\n\
- strb r0, [r2]\n\
- ldr r4, _0801F5C8 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r4]\n\
- adds r0, 0x1\n\
- bl b_movescr_stack_push\n\
- ldr r0, _0801F5CC @ =BattleScript_KnockedOff\n\
- str r0, [r4]\n\
- ldr r1, _0801F5D0 @ =0x02000000\n\
- mov r2, r8\n\
- ldrb r0, [r2]\n\
- lsls r0, 1\n\
- ldr r3, _0801F5D4 @ =0x000160e8\n\
- adds r0, r3\n\
- adds r0, r1\n\
- strb r5, [r0]\n\
- ldrb r0, [r2]\n\
- lsls r0, 1\n\
- ldr r4, _0801F5D8 @ =0x000160e9\n\
- adds r0, r4\n\
- adds r0, r1\n\
- strb r5, [r0]\n\
- b _0801F5FA\n\
- .align 2, 0\n\
+ ldrh r0, [r1, 0x2E]\n\
+ cmp r0, 0\n\
+ beq _0801F5DC\n\
+ adds r0, r3, 0\n\
+ bl GetBankSide\n\
+ lsls r0, 24\n\
+ lsrs r6, r0, 24\n\
+ ldr r1, _0801F5B8 @ =gLastUsedItem\n\
+ mov r3, r8\n\
+ ldrb r0, [r3]\n\
+ muls r0, r4\n\
+ add r0, r9\n\
+ ldrh r0, [r0, 0x2E]\n\
+ strh r0, [r1]\n\
+ ldrb r0, [r3]\n\
+ muls r0, r4\n\
+ add r0, r9\n\
+ movs r5, 0\n\
+ movs r1, 0\n\
+ strh r1, [r0, 0x2E]\n\
+ ldr r2, _0801F5BC @ =gWishFutureKnock\n\
+ adds r2, 0x29\n\
+ adds r2, r6, r2\n\
+ ldr r3, _0801F5C0 @ =gBitTable\n\
+ ldr r1, _0801F5C4 @ =gBattlePartyID\n\
+ mov r4, r8\n\
+ ldrb r0, [r4]\n\
+ lsls r0, 1\n\
+ adds r0, r1\n\
+ ldrh r0, [r0]\n\
+ lsls r0, 2\n\
+ adds r0, r3\n\
+ ldr r0, [r0]\n\
+ ldrb r1, [r2]\n\
+ orrs r0, r1\n\
+ strb r0, [r2]\n\
+ ldr r4, _0801F5C8 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r4]\n\
+ adds r0, 0x1\n\
+ bl b_movescr_stack_push\n\
+ ldr r0, _0801F5CC @ =BattleScript_KnockedOff\n\
+ str r0, [r4]\n\
+ ldr r1, _0801F5D0 @ =0x02000000\n\
+ mov r2, r8\n\
+ ldrb r0, [r2]\n\
+ lsls r0, 1\n\
+ ldr r3, _0801F5D4 @ =0x000160e8\n\
+ adds r0, r3\n\
+ adds r0, r1\n\
+ strb r5, [r0]\n\
+ ldrb r0, [r2]\n\
+ lsls r0, 1\n\
+ ldr r4, _0801F5D8 @ =0x000160e9\n\
+ adds r0, r4\n\
+ adds r0, r1\n\
+ strb r5, [r0]\n\
+ b _0801F5FA\n\
+ .align 2, 0\n\
_0801F5B8: .4byte gLastUsedItem\n\
_0801F5BC: .4byte gWishFutureKnock\n\
_0801F5C0: .4byte gBitTable\n\
@@ -5102,31 +5102,31 @@ _0801F5D0: .4byte 0x02000000\n\
_0801F5D4: .4byte 0x000160e8\n\
_0801F5D8: .4byte 0x000160e9\n\
_0801F5DC:\n\
- ldr r1, _0801F5E8 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r1]\n\
- adds r0, 0x1\n\
- str r0, [r1]\n\
- b _0801F5FA\n\
- .align 2, 0\n\
+ ldr r1, _0801F5E8 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r1]\n\
+ adds r0, 0x1\n\
+ str r0, [r1]\n\
+ b _0801F5FA\n\
+ .align 2, 0\n\
_0801F5E8: .4byte gBattlescriptCurrInstr\n\
_0801F5EC:\n\
- ldr r4, _0801F60C @ =gBattlescriptCurrInstr\n\
- ldr r0, [r4]\n\
- adds r0, 0x1\n\
- bl b_movescr_stack_push\n\
- ldr r0, _0801F610 @ =gUnknown_081D94B0\n\
+ ldr r4, _0801F60C @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r4]\n\
+ adds r0, 0x1\n\
+ bl b_movescr_stack_push\n\
+ ldr r0, _0801F610 @ =gUnknown_081D94B0\n\
_0801F5F8:\n\
- str r0, [r4]\n\
+ str r0, [r4]\n\
_0801F5FA:\n\
- add sp, 0x8\n\
- pop {r3-r5}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- mov r10, r5\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .align 2, 0\n\
+ add sp, 0x8\n\
+ pop {r3-r5}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ mov r10, r5\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
_0801F60C: .4byte gBattlescriptCurrInstr\n\
_0801F610: .4byte gUnknown_081D94B0\n\
.syntax divided\n");
@@ -5187,59 +5187,59 @@ static void atk19_faint_pokemon(void)
{
asm(".syntax unified\n\
push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- sub sp, 0x4\n\
- ldr r0, _0801F81C @ =gBattlescriptCurrInstr\n\
- ldr r2, [r0]\n\
- ldrb r1, [r2, 0x2]\n\
- adds r6, r0, 0\n\
- cmp r1, 0\n\
- beq _0801F834\n\
- ldrb r0, [r2, 0x1]\n\
- bl GetBattleBank\n\
- ldr r5, _0801F820 @ =gActiveBank\n\
- strb r0, [r5]\n\
- ldr r2, _0801F824 @ =gHitMarker\n\
- ldr r1, _0801F828 @ =gBitTable\n\
- ldrb r0, [r5]\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldr r1, [r0]\n\
- lsls r1, 28\n\
- ldr r0, [r2]\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _0801F7E6\n\
- b _0801FB1C\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ sub sp, 0x4\n\
+ ldr r0, _0801F81C @ =gBattlescriptCurrInstr\n\
+ ldr r2, [r0]\n\
+ ldrb r1, [r2, 0x2]\n\
+ adds r6, r0, 0\n\
+ cmp r1, 0\n\
+ beq _0801F834\n\
+ ldrb r0, [r2, 0x1]\n\
+ bl GetBattleBank\n\
+ ldr r5, _0801F820 @ =gActiveBank\n\
+ strb r0, [r5]\n\
+ ldr r2, _0801F824 @ =gHitMarker\n\
+ ldr r1, _0801F828 @ =gBitTable\n\
+ ldrb r0, [r5]\n\
+ lsls r0, 2\n\
+ adds r0, r1\n\
+ ldr r1, [r0]\n\
+ lsls r1, 28\n\
+ ldr r0, [r2]\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ bne _0801F7E6\n\
+ b _0801FB1C\n\
_0801F7E6:\n\
- ldr r1, [r6]\n\
- ldrb r4, [r1, 0x3]\n\
- ldrb r0, [r1, 0x4]\n\
- lsls r0, 8\n\
- orrs r4, r0\n\
- ldrb r0, [r1, 0x5]\n\
- lsls r0, 16\n\
- orrs r4, r0\n\
- ldrb r0, [r1, 0x6]\n\
- lsls r0, 24\n\
- orrs r4, r0\n\
- bl b_movescr_stack_pop_cursor\n\
- str r4, [r6]\n\
- ldrb r0, [r5]\n\
- bl GetBankSide\n\
- ldr r1, _0801F82C @ =gSideAffecting\n\
- lsls r0, 24\n\
- lsrs r0, 23\n\
- adds r0, r1\n\
- ldrh r2, [r0]\n\
- ldr r1, _0801F830 @ =0x0000fdff\n\
- ands r1, r2\n\
- strh r1, [r0]\n\
- b _0801FB22\n\
- .align 2, 0\n\
+ ldr r1, [r6]\n\
+ ldrb r4, [r1, 0x3]\n\
+ ldrb r0, [r1, 0x4]\n\
+ lsls r0, 8\n\
+ orrs r4, r0\n\
+ ldrb r0, [r1, 0x5]\n\
+ lsls r0, 16\n\
+ orrs r4, r0\n\
+ ldrb r0, [r1, 0x6]\n\
+ lsls r0, 24\n\
+ orrs r4, r0\n\
+ bl b_movescr_stack_pop_cursor\n\
+ str r4, [r6]\n\
+ ldrb r0, [r5]\n\
+ bl GetBankSide\n\
+ ldr r1, _0801F82C @ =gSideAffecting\n\
+ lsls r0, 24\n\
+ lsrs r0, 23\n\
+ adds r0, r1\n\
+ ldrh r2, [r0]\n\
+ ldr r1, _0801F830 @ =0x0000fdff\n\
+ ands r1, r2\n\
+ strh r1, [r0]\n\
+ b _0801FB22\n\
+ .align 2, 0\n\
_0801F81C: .4byte gBattlescriptCurrInstr\n\
_0801F820: .4byte gActiveBank\n\
_0801F824: .4byte gHitMarker\n\
@@ -5247,149 +5247,149 @@ _0801F828: .4byte gBitTable\n\
_0801F82C: .4byte gSideAffecting\n\
_0801F830: .4byte 0x0000fdff\n\
_0801F834:\n\
- ldrb r0, [r2, 0x1]\n\
- cmp r0, 0x1\n\
- bne _0801F85C\n\
- ldr r1, _0801F84C @ =gActiveBank\n\
- ldr r0, _0801F850 @ =gBankAttacker\n\
- ldrb r0, [r0]\n\
- strb r0, [r1]\n\
- ldr r0, _0801F854 @ =gBankTarget\n\
- ldrb r7, [r0]\n\
- ldr r4, _0801F858 @ =gUnknown_081D8C58\n\
- b _0801F86A\n\
- .align 2, 0\n\
+ ldrb r0, [r2, 0x1]\n\
+ cmp r0, 0x1\n\
+ bne _0801F85C\n\
+ ldr r1, _0801F84C @ =gActiveBank\n\
+ ldr r0, _0801F850 @ =gBankAttacker\n\
+ ldrb r0, [r0]\n\
+ strb r0, [r1]\n\
+ ldr r0, _0801F854 @ =gBankTarget\n\
+ ldrb r7, [r0]\n\
+ ldr r4, _0801F858 @ =gUnknown_081D8C58\n\
+ b _0801F86A\n\
+ .align 2, 0\n\
_0801F84C: .4byte gActiveBank\n\
_0801F850: .4byte gBankAttacker\n\
_0801F854: .4byte gBankTarget\n\
_0801F858: .4byte gUnknown_081D8C58\n\
_0801F85C:\n\
- ldr r1, _0801F954 @ =gActiveBank\n\
- ldr r0, _0801F958 @ =gBankTarget\n\
- ldrb r0, [r0]\n\
- strb r0, [r1]\n\
- ldr r0, _0801F95C @ =gBankAttacker\n\
- ldrb r7, [r0]\n\
- ldr r4, _0801F960 @ =gUnknown_081D8C65\n\
+ ldr r1, _0801F954 @ =gActiveBank\n\
+ ldr r0, _0801F958 @ =gBankTarget\n\
+ ldrb r0, [r0]\n\
+ strb r0, [r1]\n\
+ ldr r0, _0801F95C @ =gBankAttacker\n\
+ ldrb r7, [r0]\n\
+ ldr r4, _0801F960 @ =gUnknown_081D8C65\n\
_0801F86A:\n\
- ldr r0, _0801F964 @ =gAbsentBankFlags\n\
- ldrb r1, [r0]\n\
- ldr r0, _0801F968 @ =gBitTable\n\
- mov r12, r0\n\
- ldr r2, _0801F954 @ =gActiveBank\n\
- mov r8, r2\n\
- ldrb r2, [r2]\n\
- lsls r0, r2, 2\n\
- add r0, r12\n\
- ldr r0, [r0]\n\
- ands r1, r0\n\
- cmp r1, 0\n\
- beq _0801F886\n\
- b _0801FB1C\n\
+ ldr r0, _0801F964 @ =gAbsentBankFlags\n\
+ ldrb r1, [r0]\n\
+ ldr r0, _0801F968 @ =gBitTable\n\
+ mov r12, r0\n\
+ ldr r2, _0801F954 @ =gActiveBank\n\
+ mov r8, r2\n\
+ ldrb r2, [r2]\n\
+ lsls r0, r2, 2\n\
+ add r0, r12\n\
+ ldr r0, [r0]\n\
+ ands r1, r0\n\
+ cmp r1, 0\n\
+ beq _0801F886\n\
+ b _0801FB1C\n\
_0801F886:\n\
- ldr r3, _0801F96C @ =gBattleMons\n\
- mov r10, r3\n\
- movs r5, 0x58\n\
- mov r9, r5\n\
- mov r0, r9\n\
- muls r0, r2\n\
- add r0, r10\n\
- ldrh r3, [r0, 0x28]\n\
- cmp r3, 0\n\
- beq _0801F89C\n\
- b _0801FB1C\n\
+ ldr r3, _0801F96C @ =gBattleMons\n\
+ mov r10, r3\n\
+ movs r5, 0x58\n\
+ mov r9, r5\n\
+ mov r0, r9\n\
+ muls r0, r2\n\
+ add r0, r10\n\
+ ldrh r3, [r0, 0x28]\n\
+ cmp r3, 0\n\
+ beq _0801F89C\n\
+ b _0801FB1C\n\
_0801F89C:\n\
- ldr r2, _0801F970 @ =0x02000000\n\
- lsls r1, r7, 1\n\
- ldr r5, _0801F974 @ =0x000160ac\n\
- adds r0, r1, r5\n\
- adds r0, r2\n\
- strb r3, [r0]\n\
- ldr r0, _0801F978 @ =0x000160ad\n\
- adds r1, r0\n\
- adds r1, r2\n\
- strb r3, [r1]\n\
- lsls r1, r7, 2\n\
- adds r5, 0x54\n\
- adds r0, r1, r5\n\
- adds r0, r2\n\
- strb r3, [r0]\n\
- adds r5, 0x1\n\
- adds r0, r1, r5\n\
- adds r0, r2\n\
- strb r3, [r0]\n\
- adds r5, 0x1\n\
- adds r0, r1, r5\n\
- adds r0, r2\n\
- strb r3, [r0]\n\
- ldr r0, _0801F97C @ =0x00016103\n\
- adds r1, r0\n\
- adds r1, r2\n\
- strb r3, [r1]\n\
- ldr r5, _0801F980 @ =gHitMarker\n\
- mov r1, r8\n\
- ldrb r0, [r1]\n\
- lsls r0, 2\n\
- add r0, r12\n\
- ldr r1, [r0]\n\
- lsls r1, 28\n\
- ldr r0, [r5]\n\
- orrs r0, r1\n\
- str r0, [r5]\n\
- ldr r0, [r6]\n\
- adds r0, 0x7\n\
- bl b_movescr_stack_push\n\
- str r4, [r6]\n\
- mov r2, r8\n\
- ldrb r0, [r2]\n\
- bl GetBankSide\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- bne _0801F9B0\n\
- ldr r0, [r5]\n\
- movs r1, 0x80\n\
- lsls r1, 15\n\
- orrs r0, r1\n\
- str r0, [r5]\n\
- ldr r1, _0801F984 @ =gBattleResults\n\
- ldrb r0, [r1]\n\
- cmp r0, 0xFE\n\
- bhi _0801F914\n\
- adds r0, 0x1\n\
- strb r0, [r1]\n\
+ ldr r2, _0801F970 @ =0x02000000\n\
+ lsls r1, r7, 1\n\
+ ldr r5, _0801F974 @ =0x000160ac\n\
+ adds r0, r1, r5\n\
+ adds r0, r2\n\
+ strb r3, [r0]\n\
+ ldr r0, _0801F978 @ =0x000160ad\n\
+ adds r1, r0\n\
+ adds r1, r2\n\
+ strb r3, [r1]\n\
+ lsls r1, r7, 2\n\
+ adds r5, 0x54\n\
+ adds r0, r1, r5\n\
+ adds r0, r2\n\
+ strb r3, [r0]\n\
+ adds r5, 0x1\n\
+ adds r0, r1, r5\n\
+ adds r0, r2\n\
+ strb r3, [r0]\n\
+ adds r5, 0x1\n\
+ adds r0, r1, r5\n\
+ adds r0, r2\n\
+ strb r3, [r0]\n\
+ ldr r0, _0801F97C @ =0x00016103\n\
+ adds r1, r0\n\
+ adds r1, r2\n\
+ strb r3, [r1]\n\
+ ldr r5, _0801F980 @ =gHitMarker\n\
+ mov r1, r8\n\
+ ldrb r0, [r1]\n\
+ lsls r0, 2\n\
+ add r0, r12\n\
+ ldr r1, [r0]\n\
+ lsls r1, 28\n\
+ ldr r0, [r5]\n\
+ orrs r0, r1\n\
+ str r0, [r5]\n\
+ ldr r0, [r6]\n\
+ adds r0, 0x7\n\
+ bl b_movescr_stack_push\n\
+ str r4, [r6]\n\
+ mov r2, r8\n\
+ ldrb r0, [r2]\n\
+ bl GetBankSide\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ bne _0801F9B0\n\
+ ldr r0, [r5]\n\
+ movs r1, 0x80\n\
+ lsls r1, 15\n\
+ orrs r0, r1\n\
+ str r0, [r5]\n\
+ ldr r1, _0801F984 @ =gBattleResults\n\
+ ldrb r0, [r1]\n\
+ cmp r0, 0xFE\n\
+ bhi _0801F914\n\
+ adds r0, 0x1\n\
+ strb r0, [r1]\n\
_0801F914:\n\
- mov r0, r9\n\
- muls r0, r7\n\
- add r0, r10\n\
- adds r3, r0, 0\n\
- adds r3, 0x2A\n\
- mov r4, r8\n\
- ldrb r2, [r4]\n\
- mov r0, r9\n\
- muls r0, r2\n\
- add r0, r10\n\
- adds r1, r0, 0\n\
- adds r1, 0x2A\n\
- ldrb r0, [r3]\n\
- ldrb r5, [r1]\n\
- cmp r0, r5\n\
- bls _0801F9CC\n\
- ldrb r1, [r1]\n\
- subs r0, r1\n\
- cmp r0, 0x1D\n\
- ble _0801F990\n\
- ldr r1, _0801F988 @ =gBattlePartyID\n\
- lsls r0, r2, 1\n\
- adds r0, r1\n\
- ldrh r1, [r0]\n\
- movs r0, 0x64\n\
- muls r0, r1\n\
- ldr r1, _0801F98C @ =gPlayerParty\n\
- adds r0, r1\n\
- movs r1, 0x8\n\
- bl AdjustFriendship\n\
- b _0801F9CC\n\
- .align 2, 0\n\
+ mov r0, r9\n\
+ muls r0, r7\n\
+ add r0, r10\n\
+ adds r3, r0, 0\n\
+ adds r3, 0x2A\n\
+ mov r4, r8\n\
+ ldrb r2, [r4]\n\
+ mov r0, r9\n\
+ muls r0, r2\n\
+ add r0, r10\n\
+ adds r1, r0, 0\n\
+ adds r1, 0x2A\n\
+ ldrb r0, [r3]\n\
+ ldrb r5, [r1]\n\
+ cmp r0, r5\n\
+ bls _0801F9CC\n\
+ ldrb r1, [r1]\n\
+ subs r0, r1\n\
+ cmp r0, 0x1D\n\
+ ble _0801F990\n\
+ ldr r1, _0801F988 @ =gBattlePartyID\n\
+ lsls r0, r2, 1\n\
+ adds r0, r1\n\
+ ldrh r1, [r0]\n\
+ movs r0, 0x64\n\
+ muls r0, r1\n\
+ ldr r1, _0801F98C @ =gPlayerParty\n\
+ adds r0, r1\n\
+ movs r1, 0x8\n\
+ bl AdjustFriendship\n\
+ b _0801F9CC\n\
+ .align 2, 0\n\
_0801F954: .4byte gActiveBank\n\
_0801F958: .4byte gBankTarget\n\
_0801F95C: .4byte gBankAttacker\n\
@@ -5406,171 +5406,171 @@ _0801F984: .4byte gBattleResults\n\
_0801F988: .4byte gBattlePartyID\n\
_0801F98C: .4byte gPlayerParty\n\
_0801F990:\n\
- ldr r1, _0801F9A8 @ =gBattlePartyID\n\
- lsls r0, r2, 1\n\
- adds r0, r1\n\
- ldrh r1, [r0]\n\
- movs r0, 0x64\n\
- muls r0, r1\n\
- ldr r1, _0801F9AC @ =gPlayerParty\n\
- adds r0, r1\n\
- movs r1, 0x6\n\
- bl AdjustFriendship\n\
- b _0801F9CC\n\
- .align 2, 0\n\
+ ldr r1, _0801F9A8 @ =gBattlePartyID\n\
+ lsls r0, r2, 1\n\
+ adds r0, r1\n\
+ ldrh r1, [r0]\n\
+ movs r0, 0x64\n\
+ muls r0, r1\n\
+ ldr r1, _0801F9AC @ =gPlayerParty\n\
+ adds r0, r1\n\
+ movs r1, 0x6\n\
+ bl AdjustFriendship\n\
+ b _0801F9CC\n\
+ .align 2, 0\n\
_0801F9A8: .4byte gBattlePartyID\n\
_0801F9AC: .4byte gPlayerParty\n\
_0801F9B0:\n\
- ldr r1, _0801FAE0 @ =gBattleResults\n\
- ldrb r0, [r1, 0x1]\n\
- cmp r0, 0xFE\n\
- bhi _0801F9BC\n\
- adds r0, 0x1\n\
- strb r0, [r1, 0x1]\n\
+ ldr r1, _0801FAE0 @ =gBattleResults\n\
+ ldrb r0, [r1, 0x1]\n\
+ cmp r0, 0xFE\n\
+ bhi _0801F9BC\n\
+ adds r0, 0x1\n\
+ strb r0, [r1, 0x1]\n\
_0801F9BC:\n\
- ldr r2, _0801FAE4 @ =gActiveBank\n\
- ldrb r0, [r2]\n\
- mov r3, r9\n\
- muls r3, r0\n\
- adds r0, r3, 0\n\
- add r0, r10\n\
- ldrh r0, [r0]\n\
- strh r0, [r1, 0x20]\n\
+ ldr r2, _0801FAE4 @ =gActiveBank\n\
+ ldrb r0, [r2]\n\
+ mov r3, r9\n\
+ muls r3, r0\n\
+ adds r0, r3, 0\n\
+ add r0, r10\n\
+ ldrh r0, [r0]\n\
+ strh r0, [r1, 0x20]\n\
_0801F9CC:\n\
- ldr r0, _0801FAE8 @ =gHitMarker\n\
- ldr r0, [r0]\n\
- movs r1, 0x40\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _0801FA02\n\
- ldr r6, _0801FAEC @ =gBattleMons\n\
- ldr r0, _0801FAF0 @ =gBankAttacker\n\
- ldrb r0, [r0]\n\
- movs r5, 0x58\n\
- muls r0, r5\n\
- adds r0, r6\n\
- ldrh r0, [r0, 0x28]\n\
- cmp r0, 0\n\
- beq _0801FA02\n\
- ldr r4, _0801FAF4 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r4]\n\
- bl b_movescr_stack_push\n\
- ldr r1, _0801FAF8 @ =gBattleMoveDamage\n\
- adds r0, r7, 0\n\
- muls r0, r5\n\
- adds r0, r6\n\
- ldrh r0, [r0, 0x28]\n\
- str r0, [r1]\n\
- ldr r0, _0801FAFC @ =gUnknown_081D9156\n\
- str r0, [r4]\n\
+ ldr r0, _0801FAE8 @ =gHitMarker\n\
+ ldr r0, [r0]\n\
+ movs r1, 0x40\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0801FA02\n\
+ ldr r6, _0801FAEC @ =gBattleMons\n\
+ ldr r0, _0801FAF0 @ =gBankAttacker\n\
+ ldrb r0, [r0]\n\
+ movs r5, 0x58\n\
+ muls r0, r5\n\
+ adds r0, r6\n\
+ ldrh r0, [r0, 0x28]\n\
+ cmp r0, 0\n\
+ beq _0801FA02\n\
+ ldr r4, _0801FAF4 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r4]\n\
+ bl b_movescr_stack_push\n\
+ ldr r1, _0801FAF8 @ =gBattleMoveDamage\n\
+ adds r0, r7, 0\n\
+ muls r0, r5\n\
+ adds r0, r6\n\
+ ldrh r0, [r0, 0x28]\n\
+ str r0, [r1]\n\
+ ldr r0, _0801FAFC @ =gUnknown_081D9156\n\
+ str r0, [r4]\n\
_0801FA02:\n\
- ldr r1, _0801FB00 @ =gStatuses3\n\
- ldr r6, _0801FB04 @ =gBankTarget\n\
- ldrb r0, [r6]\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- movs r1, 0x80\n\
- lsls r1, 7\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _0801FA1A\n\
- b _0801FB22\n\
+ ldr r1, _0801FB00 @ =gStatuses3\n\
+ ldr r6, _0801FB04 @ =gBankTarget\n\
+ ldrb r0, [r6]\n\
+ lsls r0, 2\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ movs r1, 0x80\n\
+ lsls r1, 7\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ bne _0801FA1A\n\
+ b _0801FB22\n\
_0801FA1A:\n\
- ldr r0, _0801FAE8 @ =gHitMarker\n\
- ldr r5, [r0]\n\
- movs r0, 0x80\n\
- lsls r0, 17\n\
- ands r5, r0\n\
- cmp r5, 0\n\
- bne _0801FB22\n\
- ldr r4, _0801FAF0 @ =gBankAttacker\n\
- mov r8, r4\n\
- ldrb r0, [r4]\n\
- bl GetBankSide\n\
- adds r4, r0, 0\n\
- ldrb r0, [r6]\n\
- bl GetBankSide\n\
- lsls r4, 24\n\
- lsls r0, 24\n\
- cmp r4, r0\n\
- beq _0801FB22\n\
- ldr r0, _0801FAEC @ =gBattleMons\n\
- mov r9, r0\n\
- mov r1, r8\n\
- ldrb r2, [r1]\n\
- movs r7, 0x58\n\
- adds r3, r2, 0\n\
- muls r3, r7\n\
- adds r0, r3, r0\n\
- ldrh r0, [r0, 0x28]\n\
- cmp r0, 0\n\
- beq _0801FB22\n\
- ldr r0, _0801FB08 @ =gCurrentMove\n\
- ldrh r0, [r0]\n\
- cmp r0, 0xA5\n\
- beq _0801FB22\n\
- ldr r1, _0801FB0C @ =0x02000000\n\
- ldr r4, _0801FB10 @ =0x0001608c\n\
- adds r0, r2, r4\n\
- adds r0, r1\n\
- ldrb r4, [r0]\n\
- adds r0, r4, r3\n\
- mov r6, r9\n\
- adds r6, 0x24\n\
- adds r0, r6\n\
- strb r5, [r0]\n\
- ldr r5, _0801FAF4 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r5]\n\
- bl b_movescr_stack_push\n\
- ldr r0, _0801FB14 @ =gUnknown_081D9468\n\
- str r0, [r5]\n\
- ldr r5, _0801FAE4 @ =gActiveBank\n\
- mov r1, r8\n\
- ldrb r0, [r1]\n\
- strb r0, [r5]\n\
- adds r1, r4, 0\n\
- adds r1, 0x9\n\
- lsls r1, 24\n\
- lsrs r1, 24\n\
- ldrb r0, [r5]\n\
- muls r0, r7\n\
- adds r0, r6\n\
- adds r0, r4\n\
- str r0, [sp]\n\
- movs r0, 0\n\
- movs r2, 0\n\
- movs r3, 0x1\n\
- bl EmitSetAttributes\n\
- ldrb r0, [r5]\n\
- bl MarkBufferBankForExecution\n\
- ldr r1, _0801FB18 @ =gBattleTextBuff1\n\
- movs r0, 0xFD\n\
- strb r0, [r1]\n\
- movs r0, 0x2\n\
- strb r0, [r1, 0x1]\n\
- lsls r4, 1\n\
- mov r2, r8\n\
- ldrb r0, [r2]\n\
- muls r0, r7\n\
- adds r0, r4, r0\n\
- mov r2, r9\n\
- adds r2, 0xC\n\
- adds r0, r2\n\
- ldrh r0, [r0]\n\
- strb r0, [r1, 0x2]\n\
- mov r3, r8\n\
- ldrb r0, [r3]\n\
- muls r0, r7\n\
- adds r4, r0\n\
- adds r4, r2\n\
- ldrh r0, [r4]\n\
- lsrs r0, 8\n\
- strb r0, [r1, 0x3]\n\
- movs r0, 0xFF\n\
- strb r0, [r1, 0x4]\n\
- b _0801FB22\n\
- .align 2, 0\n\
+ ldr r0, _0801FAE8 @ =gHitMarker\n\
+ ldr r5, [r0]\n\
+ movs r0, 0x80\n\
+ lsls r0, 17\n\
+ ands r5, r0\n\
+ cmp r5, 0\n\
+ bne _0801FB22\n\
+ ldr r4, _0801FAF0 @ =gBankAttacker\n\
+ mov r8, r4\n\
+ ldrb r0, [r4]\n\
+ bl GetBankSide\n\
+ adds r4, r0, 0\n\
+ ldrb r0, [r6]\n\
+ bl GetBankSide\n\
+ lsls r4, 24\n\
+ lsls r0, 24\n\
+ cmp r4, r0\n\
+ beq _0801FB22\n\
+ ldr r0, _0801FAEC @ =gBattleMons\n\
+ mov r9, r0\n\
+ mov r1, r8\n\
+ ldrb r2, [r1]\n\
+ movs r7, 0x58\n\
+ adds r3, r2, 0\n\
+ muls r3, r7\n\
+ adds r0, r3, r0\n\
+ ldrh r0, [r0, 0x28]\n\
+ cmp r0, 0\n\
+ beq _0801FB22\n\
+ ldr r0, _0801FB08 @ =gCurrentMove\n\
+ ldrh r0, [r0]\n\
+ cmp r0, 0xA5\n\
+ beq _0801FB22\n\
+ ldr r1, _0801FB0C @ =0x02000000\n\
+ ldr r4, _0801FB10 @ =0x0001608c\n\
+ adds r0, r2, r4\n\
+ adds r0, r1\n\
+ ldrb r4, [r0]\n\
+ adds r0, r4, r3\n\
+ mov r6, r9\n\
+ adds r6, 0x24\n\
+ adds r0, r6\n\
+ strb r5, [r0]\n\
+ ldr r5, _0801FAF4 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r5]\n\
+ bl b_movescr_stack_push\n\
+ ldr r0, _0801FB14 @ =gUnknown_081D9468\n\
+ str r0, [r5]\n\
+ ldr r5, _0801FAE4 @ =gActiveBank\n\
+ mov r1, r8\n\
+ ldrb r0, [r1]\n\
+ strb r0, [r5]\n\
+ adds r1, r4, 0\n\
+ adds r1, 0x9\n\
+ lsls r1, 24\n\
+ lsrs r1, 24\n\
+ ldrb r0, [r5]\n\
+ muls r0, r7\n\
+ adds r0, r6\n\
+ adds r0, r4\n\
+ str r0, [sp]\n\
+ movs r0, 0\n\
+ movs r2, 0\n\
+ movs r3, 0x1\n\
+ bl EmitSetAttributes\n\
+ ldrb r0, [r5]\n\
+ bl MarkBufferBankForExecution\n\
+ ldr r1, _0801FB18 @ =gBattleTextBuff1\n\
+ movs r0, 0xFD\n\
+ strb r0, [r1]\n\
+ movs r0, 0x2\n\
+ strb r0, [r1, 0x1]\n\
+ lsls r4, 1\n\
+ mov r2, r8\n\
+ ldrb r0, [r2]\n\
+ muls r0, r7\n\
+ adds r0, r4, r0\n\
+ mov r2, r9\n\
+ adds r2, 0xC\n\
+ adds r0, r2\n\
+ ldrh r0, [r0]\n\
+ strb r0, [r1, 0x2]\n\
+ mov r3, r8\n\
+ ldrb r0, [r3]\n\
+ muls r0, r7\n\
+ adds r4, r0\n\
+ adds r4, r2\n\
+ ldrh r0, [r4]\n\
+ lsrs r0, 8\n\
+ strb r0, [r1, 0x3]\n\
+ movs r0, 0xFF\n\
+ strb r0, [r1, 0x4]\n\
+ b _0801FB22\n\
+ .align 2, 0\n\
_0801FAE0: .4byte gBattleResults\n\
_0801FAE4: .4byte gActiveBank\n\
_0801FAE8: .4byte gHitMarker\n\
@@ -5587,18 +5587,18 @@ _0801FB10: .4byte 0x0001608c\n\
_0801FB14: .4byte gUnknown_081D9468\n\
_0801FB18: .4byte gBattleTextBuff1\n\
_0801FB1C:\n\
- ldr r0, [r6]\n\
- adds r0, 0x7\n\
- str r0, [r6]\n\
+ ldr r0, [r6]\n\
+ adds r0, 0x7\n\
+ str r0, [r6]\n\
_0801FB22:\n\
- add sp, 0x4\n\
- pop {r3-r5}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- mov r10, r5\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
+ add sp, 0x4\n\
+ pop {r3-r5}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ mov r10, r5\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
.syntax divided\n");
}
@@ -6067,273 +6067,273 @@ __attribute__((naked))
static void atk23_getexp(void)
{
asm(".syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- movs r6, 0\n\
- ldr r0, _0802004C @ =0x0201605c\n\
- mov r10, r0\n\
- ldr r0, _08020050 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r0]\n\
- ldrb r0, [r0, 0x1]\n\
- bl GetBattleBank\n\
- ldr r1, _08020054 @ =gBank1\n\
- strb r0, [r1]\n\
- ldr r2, _08020058 @ =gSentPokesToOpponent\n\
- movs r1, 0x2\n\
- ands r1, r0\n\
- lsls r1, 24\n\
- lsrs r1, 25\n\
- adds r1, r2\n\
- ldrb r1, [r1]\n\
- mov r8, r1\n\
- mov r0, r10\n\
- subs r0, 0x4D\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x6\n\
- bls _08020040\n\
- bl _08020996\n\
+ push {r4-r7,lr}\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ movs r6, 0\n\
+ ldr r0, _0802004C @ =0x0201605c\n\
+ mov r10, r0\n\
+ ldr r0, _08020050 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r0]\n\
+ ldrb r0, [r0, 0x1]\n\
+ bl GetBattleBank\n\
+ ldr r1, _08020054 @ =gBank1\n\
+ strb r0, [r1]\n\
+ ldr r2, _08020058 @ =gSentPokesToOpponent\n\
+ movs r1, 0x2\n\
+ ands r1, r0\n\
+ lsls r1, 24\n\
+ lsrs r1, 25\n\
+ adds r1, r2\n\
+ ldrb r1, [r1]\n\
+ mov r8, r1\n\
+ mov r0, r10\n\
+ subs r0, 0x4D\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x6\n\
+ bls _08020040\n\
+ bl _08020996\n\
_08020040:\n\
- lsls r0, 2\n\
- ldr r1, _0802005C @ =_08020060\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- mov pc, r0\n\
- .align 2, 0\n\
+ lsls r0, 2\n\
+ ldr r1, _0802005C @ =_08020060\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ mov pc, r0\n\
+ .align 2, 0\n\
_0802004C: .4byte 0x0201605c\n\
_08020050: .4byte gBattlescriptCurrInstr\n\
_08020054: .4byte gBank1\n\
_08020058: .4byte gSentPokesToOpponent\n\
_0802005C: .4byte _08020060\n\
- .align 2, 0\n\
+ .align 2, 0\n\
_08020060:\n\
- .4byte _0802007C\n\
- .4byte _080200FC\n\
- .4byte _08020216\n\
- .4byte _0802055C\n\
- .4byte _08020648\n\
- .4byte _08020910\n\
- .4byte _0802096C\n\
+ .4byte _0802007C\n\
+ .4byte _080200FC\n\
+ .4byte _08020216\n\
+ .4byte _0802055C\n\
+ .4byte _08020648\n\
+ .4byte _08020910\n\
+ .4byte _0802096C\n\
_0802007C:\n\
- ldr r4, _080200A8 @ =gBank1\n\
- ldrb r0, [r4]\n\
- bl GetBankSide\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r0, 0x1\n\
- bne _08020098\n\
- ldr r0, _080200AC @ =gBattleTypeFlags\n\
- ldrh r1, [r0]\n\
- ldr r0, _080200B0 @ =0x00000982\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _080200BC\n\
+ ldr r4, _080200A8 @ =gBank1\n\
+ ldrb r0, [r4]\n\
+ bl GetBankSide\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ cmp r0, 0x1\n\
+ bne _08020098\n\
+ ldr r0, _080200AC @ =gBattleTypeFlags\n\
+ ldrh r1, [r0]\n\
+ ldr r0, _080200B0 @ =0x00000982\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _080200BC\n\
_08020098:\n\
- ldr r0, _080200B4 @ =0x02000000\n\
- ldr r1, _080200B8 @ =0x0001600f\n\
- adds r0, r1\n\
- movs r1, 0x6\n\
- strb r1, [r0]\n\
- bl _08020996\n\
- .align 2, 0\n\
+ ldr r0, _080200B4 @ =0x02000000\n\
+ ldr r1, _080200B8 @ =0x0001600f\n\
+ adds r0, r1\n\
+ movs r1, 0x6\n\
+ strb r1, [r0]\n\
+ bl _08020996\n\
+ .align 2, 0\n\
_080200A8: .4byte gBank1\n\
_080200AC: .4byte gBattleTypeFlags\n\
_080200B0: .4byte 0x00000982\n\
_080200B4: .4byte 0x02000000\n\
_080200B8: .4byte 0x0001600f\n\
_080200BC:\n\
- ldr r2, _080200E8 @ =0x02000000\n\
- ldr r3, _080200EC @ =0x0001600f\n\
- adds r1, r2, r3\n\
- ldrb r0, [r1]\n\
- adds r0, 0x1\n\
- strb r0, [r1]\n\
- ldr r0, _080200F0 @ =0x00016113\n\
- adds r2, r0\n\
- ldr r3, _080200F4 @ =gBitTable\n\
- ldr r1, _080200F8 @ =gBattlePartyID\n\
- ldrb r0, [r4]\n\
- lsls r0, 1\n\
- adds r0, r1\n\
- ldrh r0, [r0]\n\
- lsls r0, 2\n\
- adds r0, r3\n\
- ldr r0, [r0]\n\
- ldrb r1, [r2]\n\
- orrs r0, r1\n\
- strb r0, [r2]\n\
- bl _08020996\n\
- .align 2, 0\n\
+ ldr r2, _080200E8 @ =0x02000000\n\
+ ldr r3, _080200EC @ =0x0001600f\n\
+ adds r1, r2, r3\n\
+ ldrb r0, [r1]\n\
+ adds r0, 0x1\n\
+ strb r0, [r1]\n\
+ ldr r0, _080200F0 @ =0x00016113\n\
+ adds r2, r0\n\
+ ldr r3, _080200F4 @ =gBitTable\n\
+ ldr r1, _080200F8 @ =gBattlePartyID\n\
+ ldrb r0, [r4]\n\
+ lsls r0, 1\n\
+ adds r0, r1\n\
+ ldrh r0, [r0]\n\
+ lsls r0, 2\n\
+ adds r0, r3\n\
+ ldr r0, [r0]\n\
+ ldrb r1, [r2]\n\
+ orrs r0, r1\n\
+ strb r0, [r2]\n\
+ bl _08020996\n\
+ .align 2, 0\n\
_080200E8: .4byte 0x02000000\n\
_080200EC: .4byte 0x0001600f\n\
_080200F0: .4byte 0x00016113\n\
_080200F4: .4byte gBitTable\n\
_080200F8: .4byte gBattlePartyID\n\
_080200FC:\n\
- movs r5, 0\n\
- movs r7, 0\n\
- ldr r1, _08020150 @ =gSaveBlock1 + 0x3688\n\
- mov r9, r1\n\
+ movs r5, 0\n\
+ movs r7, 0\n\
+ ldr r1, _08020150 @ =gSaveBlock1 + 0x3688\n\
+ mov r9, r1\n\
_08020104:\n\
- movs r0, 0x64\n\
- adds r1, r7, 0\n\
- muls r1, r0\n\
- ldr r0, _08020154 @ =gPlayerParty\n\
- adds r4, r1, r0\n\
- adds r0, r4, 0\n\
- movs r1, 0xB\n\
- bl GetMonData\n\
- cmp r0, 0\n\
- beq _0802016A\n\
- adds r0, r4, 0\n\
- movs r1, 0x39\n\
- bl GetMonData\n\
- cmp r0, 0\n\
- beq _0802016A\n\
- ldr r0, _08020158 @ =gBitTable\n\
- lsls r1, r7, 2\n\
- adds r1, r0\n\
- ldr r0, [r1]\n\
- mov r2, r8\n\
- ands r0, r2\n\
- cmp r0, 0\n\
- beq _08020138\n\
- adds r5, 0x1\n\
+ movs r0, 0x64\n\
+ adds r1, r7, 0\n\
+ muls r1, r0\n\
+ ldr r0, _08020154 @ =gPlayerParty\n\
+ adds r4, r1, r0\n\
+ adds r0, r4, 0\n\
+ movs r1, 0xB\n\
+ bl GetMonData\n\
+ cmp r0, 0\n\
+ beq _0802016A\n\
+ adds r0, r4, 0\n\
+ movs r1, 0x39\n\
+ bl GetMonData\n\
+ cmp r0, 0\n\
+ beq _0802016A\n\
+ ldr r0, _08020158 @ =gBitTable\n\
+ lsls r1, r7, 2\n\
+ adds r1, r0\n\
+ ldr r0, [r1]\n\
+ mov r2, r8\n\
+ ands r0, r2\n\
+ cmp r0, 0\n\
+ beq _08020138\n\
+ adds r5, 0x1\n\
_08020138:\n\
- adds r0, r4, 0\n\
- movs r1, 0xC\n\
- bl GetMonData\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- cmp r0, 0xAF\n\
- bne _0802015C\n\
- mov r3, r9\n\
- ldrb r4, [r3]\n\
- b _08020164\n\
- .align 2, 0\n\
+ adds r0, r4, 0\n\
+ movs r1, 0xC\n\
+ bl GetMonData\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ cmp r0, 0xAF\n\
+ bne _0802015C\n\
+ mov r3, r9\n\
+ ldrb r4, [r3]\n\
+ b _08020164\n\
+ .align 2, 0\n\
_08020150: .4byte gSaveBlock1 + 0x3688\n\
_08020154: .4byte gPlayerParty\n\
_08020158: .4byte gBitTable\n\
_0802015C:\n\
- bl ItemId_GetHoldEffect\n\
- lsls r0, 24\n\
- lsrs r4, r0, 24\n\
+ bl ItemId_GetHoldEffect\n\
+ lsls r0, 24\n\
+ lsrs r4, r0, 24\n\
_08020164:\n\
- cmp r4, 0x19\n\
- bne _0802016A\n\
- adds r6, 0x1\n\
+ cmp r4, 0x19\n\
+ bne _0802016A\n\
+ adds r6, 0x1\n\
_0802016A:\n\
- adds r7, 0x1\n\
- cmp r7, 0x5\n\
- ble _08020104\n\
- ldr r3, _080201D0 @ =gBaseStats\n\
- ldr r2, _080201D4 @ =gBattleMons\n\
- ldr r0, _080201D8 @ =gBank1\n\
- ldrb r1, [r0]\n\
- movs r0, 0x58\n\
- muls r1, r0\n\
- adds r1, r2\n\
- ldrh r2, [r1]\n\
- lsls r0, r2, 3\n\
- subs r0, r2\n\
- lsls r0, 2\n\
- adds r0, r3\n\
- ldrb r2, [r0, 0x9]\n\
- adds r1, 0x2A\n\
- ldrb r0, [r1]\n\
- muls r0, r2\n\
- movs r1, 0x7\n\
- bl __divsi3\n\
- lsls r0, 16\n\
- lsrs r1, r0, 16\n\
- cmp r6, 0\n\
- beq _080201E0\n\
- lsrs r4, r0, 17\n\
- adds r0, r4, 0\n\
- adds r1, r5, 0\n\
- bl __divsi3\n\
- mov r1, r10\n\
- strh r0, [r1]\n\
- lsls r0, 16\n\
- cmp r0, 0\n\
- bne _080201B6\n\
- movs r0, 0x1\n\
- strh r0, [r1]\n\
+ adds r7, 0x1\n\
+ cmp r7, 0x5\n\
+ ble _08020104\n\
+ ldr r3, _080201D0 @ =gBaseStats\n\
+ ldr r2, _080201D4 @ =gBattleMons\n\
+ ldr r0, _080201D8 @ =gBank1\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0x58\n\
+ muls r1, r0\n\
+ adds r1, r2\n\
+ ldrh r2, [r1]\n\
+ lsls r0, r2, 3\n\
+ subs r0, r2\n\
+ lsls r0, 2\n\
+ adds r0, r3\n\
+ ldrb r2, [r0, 0x9]\n\
+ adds r1, 0x2A\n\
+ ldrb r0, [r1]\n\
+ muls r0, r2\n\
+ movs r1, 0x7\n\
+ bl __divsi3\n\
+ lsls r0, 16\n\
+ lsrs r1, r0, 16\n\
+ cmp r6, 0\n\
+ beq _080201E0\n\
+ lsrs r4, r0, 17\n\
+ adds r0, r4, 0\n\
+ adds r1, r5, 0\n\
+ bl __divsi3\n\
+ mov r1, r10\n\
+ strh r0, [r1]\n\
+ lsls r0, 16\n\
+ cmp r0, 0\n\
+ bne _080201B6\n\
+ movs r0, 0x1\n\
+ strh r0, [r1]\n\
_080201B6:\n\
- ldr r5, _080201DC @ =gExpShareExp\n\
- adds r0, r4, 0\n\
- adds r1, r6, 0\n\
- bl __divsi3\n\
- strh r0, [r5]\n\
- lsls r0, 16\n\
- cmp r0, 0\n\
- bne _080201FA\n\
- movs r0, 0x1\n\
- strh r0, [r5]\n\
- b _080201FA\n\
- .align 2, 0\n\
+ ldr r5, _080201DC @ =gExpShareExp\n\
+ adds r0, r4, 0\n\
+ adds r1, r6, 0\n\
+ bl __divsi3\n\
+ strh r0, [r5]\n\
+ lsls r0, 16\n\
+ cmp r0, 0\n\
+ bne _080201FA\n\
+ movs r0, 0x1\n\
+ strh r0, [r5]\n\
+ b _080201FA\n\
+ .align 2, 0\n\
_080201D0: .4byte gBaseStats\n\
_080201D4: .4byte gBattleMons\n\
_080201D8: .4byte gBank1\n\
_080201DC: .4byte gExpShareExp\n\
_080201E0:\n\
- adds r0, r1, 0\n\
- adds r1, r5, 0\n\
- bl __divsi3\n\
- mov r2, r10\n\
- strh r0, [r2]\n\
- lsls r0, 16\n\
- cmp r0, 0\n\
- bne _080201F6\n\
- movs r0, 0x1\n\
- strh r0, [r2]\n\
+ adds r0, r1, 0\n\
+ adds r1, r5, 0\n\
+ bl __divsi3\n\
+ mov r2, r10\n\
+ strh r0, [r2]\n\
+ lsls r0, 16\n\
+ cmp r0, 0\n\
+ bne _080201F6\n\
+ movs r0, 0x1\n\
+ strh r0, [r2]\n\
_080201F6:\n\
- ldr r0, _08020248 @ =gExpShareExp\n\
- strh r6, [r0]\n\
+ ldr r0, _08020248 @ =gExpShareExp\n\
+ strh r6, [r0]\n\
_080201FA:\n\
- ldr r1, _0802024C @ =0x02000000\n\
- ldr r3, _08020250 @ =0x0001600f\n\
- adds r2, r1, r3\n\
- ldrb r0, [r2]\n\
- adds r0, 0x1\n\
- movs r3, 0\n\
- strb r0, [r2]\n\
- ldr r2, _08020254 @ =0x00016018\n\
- adds r0, r1, r2\n\
- strb r3, [r0]\n\
- ldr r3, _08020258 @ =0x0001605f\n\
- adds r1, r3\n\
- mov r0, r8\n\
- strb r0, [r1]\n\
+ ldr r1, _0802024C @ =0x02000000\n\
+ ldr r3, _08020250 @ =0x0001600f\n\
+ adds r2, r1, r3\n\
+ ldrb r0, [r2]\n\
+ adds r0, 0x1\n\
+ movs r3, 0\n\
+ strb r0, [r2]\n\
+ ldr r2, _08020254 @ =0x00016018\n\
+ adds r0, r1, r2\n\
+ strb r3, [r0]\n\
+ ldr r3, _08020258 @ =0x0001605f\n\
+ adds r1, r3\n\
+ mov r0, r8\n\
+ strb r0, [r1]\n\
_08020216:\n\
- ldr r0, _0802025C @ =gBattleExecBuffer\n\
- ldr r0, [r0]\n\
- cmp r0, 0\n\
- beq _08020220\n\
- b _08020996\n\
+ ldr r0, _0802025C @ =gBattleExecBuffer\n\
+ ldr r0, [r0]\n\
+ cmp r0, 0\n\
+ beq _08020220\n\
+ b _08020996\n\
_08020220:\n\
- ldr r0, _0802024C @ =0x02000000\n\
- ldr r1, _08020254 @ =0x00016018\n\
- adds r0, r1\n\
- ldrb r1, [r0]\n\
- movs r0, 0x64\n\
- muls r0, r1\n\
- ldr r1, _08020260 @ =gPlayerParty\n\
- adds r0, r1\n\
- movs r1, 0xC\n\
- bl GetMonData\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- cmp r0, 0xAF\n\
- bne _0802026C\n\
- ldr r0, _08020264 @ =gSaveBlock1\n\
- ldr r2, _08020268 @ =0x00003688\n\
- adds r0, r2\n\
- ldrb r4, [r0]\n\
- b _08020274\n\
- .align 2, 0\n\
+ ldr r0, _0802024C @ =0x02000000\n\
+ ldr r1, _08020254 @ =0x00016018\n\
+ adds r0, r1\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0x64\n\
+ muls r0, r1\n\
+ ldr r1, _08020260 @ =gPlayerParty\n\
+ adds r0, r1\n\
+ movs r1, 0xC\n\
+ bl GetMonData\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ cmp r0, 0xAF\n\
+ bne _0802026C\n\
+ ldr r0, _08020264 @ =gSaveBlock1\n\
+ ldr r2, _08020268 @ =0x00003688\n\
+ adds r0, r2\n\
+ ldrb r4, [r0]\n\
+ b _08020274\n\
+ .align 2, 0\n\
_08020248: .4byte gExpShareExp\n\
_0802024C: .4byte 0x02000000\n\
_08020250: .4byte 0x0001600f\n\
@@ -6344,112 +6344,112 @@ _08020260: .4byte gPlayerParty\n\
_08020264: .4byte gSaveBlock1\n\
_08020268: .4byte 0x00003688\n\
_0802026C:\n\
- bl ItemId_GetHoldEffect\n\
- lsls r0, 24\n\
- lsrs r4, r0, 24\n\
+ bl ItemId_GetHoldEffect\n\
+ lsls r0, 24\n\
+ lsrs r4, r0, 24\n\
_08020274:\n\
- ldr r5, _08020294 @ =0x02000000\n\
- cmp r4, 0x19\n\
- beq _080202A0\n\
- ldr r3, _08020298 @ =0x0001605f\n\
- adds r1, r5, r3\n\
- ldrb r0, [r1]\n\
- movs r2, 0x1\n\
- ands r2, r0\n\
- cmp r2, 0\n\
- bne _080202A0\n\
- lsrs r0, 1\n\
- strb r0, [r1]\n\
- ldr r0, _0802029C @ =0x0001600f\n\
- adds r1, r5, r0\n\
- b _080202C8\n\
- .align 2, 0\n\
+ ldr r5, _08020294 @ =0x02000000\n\
+ cmp r4, 0x19\n\
+ beq _080202A0\n\
+ ldr r3, _08020298 @ =0x0001605f\n\
+ adds r1, r5, r3\n\
+ ldrb r0, [r1]\n\
+ movs r2, 0x1\n\
+ ands r2, r0\n\
+ cmp r2, 0\n\
+ bne _080202A0\n\
+ lsrs r0, 1\n\
+ strb r0, [r1]\n\
+ ldr r0, _0802029C @ =0x0001600f\n\
+ adds r1, r5, r0\n\
+ b _080202C8\n\
+ .align 2, 0\n\
_08020294: .4byte 0x02000000\n\
_08020298: .4byte 0x0001605f\n\
_0802029C: .4byte 0x0001600f\n\
_080202A0:\n\
- ldr r1, _080202D4 @ =0x00016018\n\
- adds r0, r5, r1\n\
- ldrb r1, [r0]\n\
- movs r0, 0x64\n\
- muls r0, r1\n\
- ldr r1, _080202D8 @ =gPlayerParty\n\
- adds r0, r1\n\
- movs r1, 0x38\n\
- bl GetMonData\n\
- cmp r0, 0x64\n\
- bne _080202E8\n\
- ldr r2, _080202DC @ =0x0001605f\n\
- adds r1, r5, r2\n\
- ldrb r0, [r1]\n\
- lsrs r0, 1\n\
- movs r2, 0\n\
- strb r0, [r1]\n\
- ldr r3, _080202E0 @ =0x0001600f\n\
- adds r1, r5, r3\n\
+ ldr r1, _080202D4 @ =0x00016018\n\
+ adds r0, r5, r1\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0x64\n\
+ muls r0, r1\n\
+ ldr r1, _080202D8 @ =gPlayerParty\n\
+ adds r0, r1\n\
+ movs r1, 0x38\n\
+ bl GetMonData\n\
+ cmp r0, 0x64\n\
+ bne _080202E8\n\
+ ldr r2, _080202DC @ =0x0001605f\n\
+ adds r1, r5, r2\n\
+ ldrb r0, [r1]\n\
+ lsrs r0, 1\n\
+ movs r2, 0\n\
+ strb r0, [r1]\n\
+ ldr r3, _080202E0 @ =0x0001600f\n\
+ adds r1, r5, r3\n\
_080202C8:\n\
- movs r0, 0x5\n\
- strb r0, [r1]\n\
- ldr r0, _080202E4 @ =gBattleMoveDamage\n\
- str r2, [r0]\n\
- b _08020996\n\
- .align 2, 0\n\
+ movs r0, 0x5\n\
+ strb r0, [r1]\n\
+ ldr r0, _080202E4 @ =gBattleMoveDamage\n\
+ str r2, [r0]\n\
+ b _08020996\n\
+ .align 2, 0\n\
_080202D4: .4byte 0x00016018\n\
_080202D8: .4byte gPlayerParty\n\
_080202DC: .4byte 0x0001605f\n\
_080202E0: .4byte 0x0001600f\n\
_080202E4: .4byte gBattleMoveDamage\n\
_080202E8:\n\
- ldr r0, _0802034C @ =gBattleTypeFlags\n\
- ldrh r1, [r0]\n\
- movs r0, 0x8\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _08020316\n\
- ldr r0, _08020350 @ =gBattleMons\n\
- ldrh r0, [r0, 0x28]\n\
- cmp r0, 0\n\
- beq _08020316\n\
- ldr r0, _08020354 @ =0x0001601b\n\
- adds r5, r0\n\
- ldrb r0, [r5]\n\
- cmp r0, 0\n\
- bne _08020316\n\
- bl BattleMusicStop\n\
- ldr r0, _08020358 @ =0x00000161\n\
- bl PlayBGM\n\
- ldrb r0, [r5]\n\
- adds r0, 0x1\n\
- strb r0, [r5]\n\
+ ldr r0, _0802034C @ =gBattleTypeFlags\n\
+ ldrh r1, [r0]\n\
+ movs r0, 0x8\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ bne _08020316\n\
+ ldr r0, _08020350 @ =gBattleMons\n\
+ ldrh r0, [r0, 0x28]\n\
+ cmp r0, 0\n\
+ beq _08020316\n\
+ ldr r0, _08020354 @ =0x0001601b\n\
+ adds r5, r0\n\
+ ldrb r0, [r5]\n\
+ cmp r0, 0\n\
+ bne _08020316\n\
+ bl BattleMusicStop\n\
+ ldr r0, _08020358 @ =0x00000161\n\
+ bl PlayBGM\n\
+ ldrb r0, [r5]\n\
+ adds r0, 0x1\n\
+ strb r0, [r5]\n\
_08020316:\n\
- ldr r5, _0802035C @ =0x02000000\n\
- ldr r1, _08020360 @ =0x00016018\n\
- adds r0, r5, r1\n\
- ldrb r1, [r0]\n\
- movs r0, 0x64\n\
- muls r0, r1\n\
- ldr r1, _08020364 @ =gPlayerParty\n\
- adds r0, r1\n\
- movs r1, 0x39\n\
- bl GetMonData\n\
- cmp r0, 0\n\
- bne _08020332\n\
- b _0802051E\n\
+ ldr r5, _0802035C @ =0x02000000\n\
+ ldr r1, _08020360 @ =0x00016018\n\
+ adds r0, r5, r1\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0x64\n\
+ muls r0, r1\n\
+ ldr r1, _08020364 @ =gPlayerParty\n\
+ adds r0, r1\n\
+ movs r1, 0x39\n\
+ bl GetMonData\n\
+ cmp r0, 0\n\
+ bne _08020332\n\
+ b _0802051E\n\
_08020332:\n\
- ldr r2, _08020368 @ =0x0001605f\n\
- adds r0, r5, r2\n\
- ldrb r0, [r0]\n\
- movs r3, 0x1\n\
- ands r3, r0\n\
- cmp r3, 0\n\
- beq _08020370\n\
- ldr r1, _0802036C @ =gBattleMoveDamage\n\
- mov r3, r10\n\
- ldrh r0, [r3]\n\
- str r0, [r1]\n\
- mov r8, r1\n\
- b _08020376\n\
- .align 2, 0\n\
+ ldr r2, _08020368 @ =0x0001605f\n\
+ adds r0, r5, r2\n\
+ ldrb r0, [r0]\n\
+ movs r3, 0x1\n\
+ ands r3, r0\n\
+ cmp r3, 0\n\
+ beq _08020370\n\
+ ldr r1, _0802036C @ =gBattleMoveDamage\n\
+ mov r3, r10\n\
+ ldrh r0, [r3]\n\
+ str r0, [r1]\n\
+ mov r8, r1\n\
+ b _08020376\n\
+ .align 2, 0\n\
_0802034C: .4byte gBattleTypeFlags\n\
_08020350: .4byte gBattleMons\n\
_08020354: .4byte 0x0001601b\n\
@@ -6460,68 +6460,68 @@ _08020364: .4byte gPlayerParty\n\
_08020368: .4byte 0x0001605f\n\
_0802036C: .4byte gBattleMoveDamage\n\
_08020370:\n\
- ldr r0, _080203EC @ =gBattleMoveDamage\n\
- str r3, [r0]\n\
- mov r8, r0\n\
+ ldr r0, _080203EC @ =gBattleMoveDamage\n\
+ str r3, [r0]\n\
+ mov r8, r0\n\
_08020376:\n\
- cmp r4, 0x19\n\
- bne _08020386\n\
- ldr r0, _080203F0 @ =gExpShareExp\n\
- ldrh r1, [r0]\n\
- mov r2, r8\n\
- ldr r0, [r2]\n\
- adds r0, r1\n\
- str r0, [r2]\n\
+ cmp r4, 0x19\n\
+ bne _08020386\n\
+ ldr r0, _080203F0 @ =gExpShareExp\n\
+ ldrh r1, [r0]\n\
+ mov r2, r8\n\
+ ldr r0, [r2]\n\
+ adds r0, r1\n\
+ str r0, [r2]\n\
_08020386:\n\
- cmp r4, 0x28\n\
- bne _0802039C\n\
- mov r3, r8\n\
- ldr r1, [r3]\n\
- movs r0, 0x96\n\
- muls r0, r1\n\
- movs r1, 0x64\n\
- bl __divsi3\n\
- mov r1, r8\n\
- str r0, [r1]\n\
+ cmp r4, 0x28\n\
+ bne _0802039C\n\
+ mov r3, r8\n\
+ ldr r1, [r3]\n\
+ movs r0, 0x96\n\
+ muls r0, r1\n\
+ movs r1, 0x64\n\
+ bl __divsi3\n\
+ mov r1, r8\n\
+ str r0, [r1]\n\
_0802039C:\n\
- ldr r0, _080203F4 @ =gBattleTypeFlags\n\
- ldrh r1, [r0]\n\
- movs r0, 0x8\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _080203B8\n\
- ldr r4, _080203EC @ =gBattleMoveDamage\n\
- ldr r1, [r4]\n\
- movs r0, 0x96\n\
- muls r0, r1\n\
- movs r1, 0x64\n\
- bl __divsi3\n\
- str r0, [r4]\n\
+ ldr r0, _080203F4 @ =gBattleTypeFlags\n\
+ ldrh r1, [r0]\n\
+ movs r0, 0x8\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _080203B8\n\
+ ldr r4, _080203EC @ =gBattleMoveDamage\n\
+ ldr r1, [r4]\n\
+ movs r0, 0x96\n\
+ muls r0, r1\n\
+ movs r1, 0x64\n\
+ bl __divsi3\n\
+ str r0, [r4]\n\
_080203B8:\n\
- ldr r0, _080203F8 @ =0x02000000\n\
- ldr r2, _080203FC @ =0x00016018\n\
- adds r0, r2\n\
- ldrb r1, [r0]\n\
- movs r0, 0x64\n\
- muls r0, r1\n\
- ldr r1, _08020400 @ =gPlayerParty\n\
- adds r0, r1\n\
- bl IsTradedMon\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _08020404\n\
- ldr r4, _080203EC @ =gBattleMoveDamage\n\
- ldr r1, [r4]\n\
- movs r0, 0x96\n\
- muls r0, r1\n\
- movs r1, 0x64\n\
- bl __divsi3\n\
- str r0, [r4]\n\
- movs r7, 0xA5\n\
- lsls r7, 1\n\
- mov r8, r4\n\
- b _0802040A\n\
- .align 2, 0\n\
+ ldr r0, _080203F8 @ =0x02000000\n\
+ ldr r2, _080203FC @ =0x00016018\n\
+ adds r0, r2\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0x64\n\
+ muls r0, r1\n\
+ ldr r1, _08020400 @ =gPlayerParty\n\
+ adds r0, r1\n\
+ bl IsTradedMon\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _08020404\n\
+ ldr r4, _080203EC @ =gBattleMoveDamage\n\
+ ldr r1, [r4]\n\
+ movs r0, 0x96\n\
+ muls r0, r1\n\
+ movs r1, 0x64\n\
+ bl __divsi3\n\
+ str r0, [r4]\n\
+ movs r7, 0xA5\n\
+ lsls r7, 1\n\
+ mov r8, r4\n\
+ b _0802040A\n\
+ .align 2, 0\n\
_080203EC: .4byte gBattleMoveDamage\n\
_080203F0: .4byte gExpShareExp\n\
_080203F4: .4byte gBattleTypeFlags\n\
@@ -6529,36 +6529,36 @@ _080203F8: .4byte 0x02000000\n\
_080203FC: .4byte 0x00016018\n\
_08020400: .4byte gPlayerParty\n\
_08020404:\n\
- ldr r7, _0802043C @ =0x00000149\n\
- ldr r3, _08020440 @ =gBattleMoveDamage\n\
- mov r8, r3\n\
+ ldr r7, _0802043C @ =0x00000149\n\
+ ldr r3, _08020440 @ =gBattleMoveDamage\n\
+ mov r8, r3\n\
_0802040A:\n\
- ldr r0, _08020444 @ =gBattleTypeFlags\n\
- ldrh r0, [r0]\n\
- movs r1, 0x1\n\
- ands r1, r0\n\
- cmp r1, 0\n\
- beq _08020488\n\
- ldr r1, _08020448 @ =gBattlePartyID\n\
- ldr r0, _0802044C @ =0x02000000\n\
- ldr r3, _08020450 @ =0x00016018\n\
- adds r2, r0, r3\n\
- ldrh r1, [r1, 0x4]\n\
- adds r5, r0, 0\n\
- ldr r4, _08020454 @ =gBitTable\n\
- ldr r3, _08020458 @ =gAbsentBankFlags\n\
- ldrb r2, [r2]\n\
- cmp r1, r2\n\
- bne _08020460\n\
- ldrb r1, [r3]\n\
- ldr r0, [r4, 0x8]\n\
- ands r1, r0\n\
- cmp r1, 0\n\
- bne _08020460\n\
- ldr r0, _0802045C @ =0x000160a2\n\
- adds r1, r5, r0\n\
- b _0802047C\n\
- .align 2, 0\n\
+ ldr r0, _08020444 @ =gBattleTypeFlags\n\
+ ldrh r0, [r0]\n\
+ movs r1, 0x1\n\
+ ands r1, r0\n\
+ cmp r1, 0\n\
+ beq _08020488\n\
+ ldr r1, _08020448 @ =gBattlePartyID\n\
+ ldr r0, _0802044C @ =0x02000000\n\
+ ldr r3, _08020450 @ =0x00016018\n\
+ adds r2, r0, r3\n\
+ ldrh r1, [r1, 0x4]\n\
+ adds r5, r0, 0\n\
+ ldr r4, _08020454 @ =gBitTable\n\
+ ldr r3, _08020458 @ =gAbsentBankFlags\n\
+ ldrb r2, [r2]\n\
+ cmp r1, r2\n\
+ bne _08020460\n\
+ ldrb r1, [r3]\n\
+ ldr r0, [r4, 0x8]\n\
+ ands r1, r0\n\
+ cmp r1, 0\n\
+ bne _08020460\n\
+ ldr r0, _0802045C @ =0x000160a2\n\
+ adds r1, r5, r0\n\
+ b _0802047C\n\
+ .align 2, 0\n\
_0802043C: .4byte 0x00000149\n\
_08020440: .4byte gBattleMoveDamage\n\
_08020444: .4byte gBattleTypeFlags\n\
@@ -6569,112 +6569,112 @@ _08020454: .4byte gBitTable\n\
_08020458: .4byte gAbsentBankFlags\n\
_0802045C: .4byte 0x000160a2\n\
_08020460:\n\
- ldrb r2, [r3]\n\
- ldr r0, [r4]\n\
- ands r2, r0\n\
- cmp r2, 0\n\
- bne _08020478\n\
- ldr r1, _08020474 @ =0x000160a2\n\
- adds r0, r5, r1\n\
- strb r2, [r0]\n\
- b _08020490\n\
- .align 2, 0\n\
+ ldrb r2, [r3]\n\
+ ldr r0, [r4]\n\
+ ands r2, r0\n\
+ cmp r2, 0\n\
+ bne _08020478\n\
+ ldr r1, _08020474 @ =0x000160a2\n\
+ adds r0, r5, r1\n\
+ strb r2, [r0]\n\
+ b _08020490\n\
+ .align 2, 0\n\
_08020474: .4byte 0x000160a2\n\
_08020478:\n\
- ldr r2, _08020484 @ =0x000160a2\n\
- adds r1, r5, r2\n\
+ ldr r2, _08020484 @ =0x000160a2\n\
+ adds r1, r5, r2\n\
_0802047C:\n\
- movs r0, 0x2\n\
- strb r0, [r1]\n\
- b _08020490\n\
- .align 2, 0\n\
+ movs r0, 0x2\n\
+ strb r0, [r1]\n\
+ b _08020490\n\
+ .align 2, 0\n\
_08020484: .4byte 0x000160a2\n\
_08020488:\n\
- ldr r0, _08020530 @ =0x02000000\n\
- ldr r3, _08020534 @ =0x000160a2\n\
- adds r0, r3\n\
- strb r1, [r0]\n\
+ ldr r0, _08020530 @ =0x02000000\n\
+ ldr r3, _08020534 @ =0x000160a2\n\
+ adds r0, r3\n\
+ strb r1, [r0]\n\
_08020490:\n\
- ldr r1, _08020538 @ =gBattleTextBuff1\n\
- movs r3, 0\n\
- movs r2, 0xFD\n\
- strb r2, [r1]\n\
- movs r5, 0x4\n\
- strb r5, [r1, 0x1]\n\
- ldr r4, _08020530 @ =0x02000000\n\
- ldr r0, _08020534 @ =0x000160a2\n\
- adds r6, r4, r0\n\
- ldrb r0, [r6]\n\
- strb r0, [r1, 0x2]\n\
- ldr r0, _0802053C @ =0x00016018\n\
- adds r4, r0\n\
- ldrb r0, [r4]\n\
- strb r0, [r1, 0x3]\n\
- movs r0, 0xFF\n\
- strb r0, [r1, 0x4]\n\
- ldr r1, _08020540 @ =gBattleTextBuff2\n\
- strb r2, [r1]\n\
- strb r3, [r1, 0x1]\n\
- strb r7, [r1, 0x2]\n\
- movs r3, 0xFF\n\
- lsls r3, 8\n\
- ands r7, r3\n\
- asrs r0, r7, 8\n\
- strb r0, [r1, 0x3]\n\
- movs r0, 0x1\n\
- negs r0, r0\n\
- strb r0, [r1, 0x4]\n\
- ldr r1, _08020544 @ =gBattleTextBuff3\n\
- strb r2, [r1]\n\
- movs r0, 0x1\n\
- strb r0, [r1, 0x1]\n\
- strb r5, [r1, 0x2]\n\
- movs r0, 0x5\n\
- strb r0, [r1, 0x3]\n\
- mov r0, r8\n\
- ldr r2, [r0]\n\
- strb r2, [r1, 0x4]\n\
- adds r0, r2, 0\n\
- ands r0, r3\n\
- asrs r0, 8\n\
- strb r0, [r1, 0x5]\n\
- movs r0, 0xFF\n\
- lsls r0, 16\n\
- ands r0, r2\n\
- asrs r0, 16\n\
- strb r0, [r1, 0x6]\n\
- lsrs r2, 24\n\
- strb r2, [r1, 0x7]\n\
- movs r0, 0x1\n\
- negs r0, r0\n\
- strb r0, [r1, 0x8]\n\
- ldrb r1, [r6]\n\
- movs r0, 0xD\n\
- bl PrepareStringBattle\n\
- ldrb r1, [r4]\n\
- movs r0, 0x64\n\
- muls r0, r1\n\
- ldr r1, _08020548 @ =gPlayerParty\n\
- adds r0, r1\n\
- ldr r3, _0802054C @ =gBattleMons\n\
- ldr r1, _08020550 @ =gBank1\n\
- ldrb r2, [r1]\n\
- movs r1, 0x58\n\
- muls r1, r2\n\
- adds r1, r3\n\
- ldrh r1, [r1]\n\
- bl MonGainEVs\n\
+ ldr r1, _08020538 @ =gBattleTextBuff1\n\
+ movs r3, 0\n\
+ movs r2, 0xFD\n\
+ strb r2, [r1]\n\
+ movs r5, 0x4\n\
+ strb r5, [r1, 0x1]\n\
+ ldr r4, _08020530 @ =0x02000000\n\
+ ldr r0, _08020534 @ =0x000160a2\n\
+ adds r6, r4, r0\n\
+ ldrb r0, [r6]\n\
+ strb r0, [r1, 0x2]\n\
+ ldr r0, _0802053C @ =0x00016018\n\
+ adds r4, r0\n\
+ ldrb r0, [r4]\n\
+ strb r0, [r1, 0x3]\n\
+ movs r0, 0xFF\n\
+ strb r0, [r1, 0x4]\n\
+ ldr r1, _08020540 @ =gBattleTextBuff2\n\
+ strb r2, [r1]\n\
+ strb r3, [r1, 0x1]\n\
+ strb r7, [r1, 0x2]\n\
+ movs r3, 0xFF\n\
+ lsls r3, 8\n\
+ ands r7, r3\n\
+ asrs r0, r7, 8\n\
+ strb r0, [r1, 0x3]\n\
+ movs r0, 0x1\n\
+ negs r0, r0\n\
+ strb r0, [r1, 0x4]\n\
+ ldr r1, _08020544 @ =gBattleTextBuff3\n\
+ strb r2, [r1]\n\
+ movs r0, 0x1\n\
+ strb r0, [r1, 0x1]\n\
+ strb r5, [r1, 0x2]\n\
+ movs r0, 0x5\n\
+ strb r0, [r1, 0x3]\n\
+ mov r0, r8\n\
+ ldr r2, [r0]\n\
+ strb r2, [r1, 0x4]\n\
+ adds r0, r2, 0\n\
+ ands r0, r3\n\
+ asrs r0, 8\n\
+ strb r0, [r1, 0x5]\n\
+ movs r0, 0xFF\n\
+ lsls r0, 16\n\
+ ands r0, r2\n\
+ asrs r0, 16\n\
+ strb r0, [r1, 0x6]\n\
+ lsrs r2, 24\n\
+ strb r2, [r1, 0x7]\n\
+ movs r0, 0x1\n\
+ negs r0, r0\n\
+ strb r0, [r1, 0x8]\n\
+ ldrb r1, [r6]\n\
+ movs r0, 0xD\n\
+ bl PrepareStringBattle\n\
+ ldrb r1, [r4]\n\
+ movs r0, 0x64\n\
+ muls r0, r1\n\
+ ldr r1, _08020548 @ =gPlayerParty\n\
+ adds r0, r1\n\
+ ldr r3, _0802054C @ =gBattleMons\n\
+ ldr r1, _08020550 @ =gBank1\n\
+ ldrb r2, [r1]\n\
+ movs r1, 0x58\n\
+ muls r1, r2\n\
+ adds r1, r3\n\
+ ldrh r1, [r1]\n\
+ bl MonGainEVs\n\
_0802051E:\n\
- ldr r1, _08020530 @ =0x02000000\n\
- ldr r3, _08020554 @ =0x0001605f\n\
- adds r2, r1, r3\n\
- ldrb r0, [r2]\n\
- lsrs r0, 1\n\
- strb r0, [r2]\n\
- ldr r0, _08020558 @ =0x0001600f\n\
- adds r1, r0\n\
- b _08020618\n\
- .align 2, 0\n\
+ ldr r1, _08020530 @ =0x02000000\n\
+ ldr r3, _08020554 @ =0x0001605f\n\
+ adds r2, r1, r3\n\
+ ldrb r0, [r2]\n\
+ lsrs r0, 1\n\
+ strb r0, [r2]\n\
+ ldr r0, _08020558 @ =0x0001600f\n\
+ adds r1, r0\n\
+ b _08020618\n\
+ .align 2, 0\n\
_08020530: .4byte 0x02000000\n\
_08020534: .4byte 0x000160a2\n\
_08020538: .4byte gBattleTextBuff1\n\
@@ -6687,98 +6687,98 @@ _08020550: .4byte gBank1\n\
_08020554: .4byte 0x0001605f\n\
_08020558: .4byte 0x0001600f\n\
_0802055C:\n\
- ldr r0, _08020620 @ =gBattleExecBuffer\n\
- ldr r2, [r0]\n\
- cmp r2, 0\n\
- beq _08020566\n\
- b _08020996\n\
+ ldr r0, _08020620 @ =gBattleExecBuffer\n\
+ ldr r2, [r0]\n\
+ cmp r2, 0\n\
+ beq _08020566\n\
+ b _08020996\n\
_08020566:\n\
- ldr r1, _08020624 @ =gBattleBufferB\n\
- ldr r4, _08020628 @ =0x02000000\n\
- ldr r3, _0802062C @ =0x000160a2\n\
- adds r3, r4\n\
- mov r8, r3\n\
- ldrb r0, [r3]\n\
- lsls r0, 9\n\
- adds r0, r1\n\
- strb r2, [r0]\n\
- ldr r0, _08020630 @ =0x00016018\n\
- adds r7, r4, r0\n\
- ldrb r0, [r7]\n\
- movs r6, 0x64\n\
- muls r0, r6\n\
- ldr r5, _08020634 @ =gPlayerParty\n\
- adds r0, r5\n\
- movs r1, 0x39\n\
- bl GetMonData\n\
- cmp r0, 0\n\
- beq _08020612\n\
- ldrb r0, [r7]\n\
- muls r0, r6\n\
- adds r0, r5\n\
- movs r1, 0x38\n\
- bl GetMonData\n\
- cmp r0, 0x64\n\
- beq _08020612\n\
- ldrb r0, [r7]\n\
- muls r0, r6\n\
- adds r0, r5\n\
- movs r1, 0x3A\n\
- bl GetMonData\n\
- ldr r1, _08020638 @ =0x00017180\n\
- adds r4, r1\n\
- strh r0, [r4]\n\
- ldrb r0, [r7]\n\
- muls r0, r6\n\
- adds r0, r5\n\
- movs r1, 0x3B\n\
- bl GetMonData\n\
- strh r0, [r4, 0x2]\n\
- ldrb r0, [r7]\n\
- muls r0, r6\n\
- adds r0, r5\n\
- movs r1, 0x3C\n\
- bl GetMonData\n\
- strh r0, [r4, 0x4]\n\
- ldrb r0, [r7]\n\
- muls r0, r6\n\
- adds r0, r5\n\
- movs r1, 0x3D\n\
- bl GetMonData\n\
- strh r0, [r4, 0x6]\n\
- ldrb r0, [r7]\n\
- muls r0, r6\n\
- adds r0, r5\n\
- movs r1, 0x3E\n\
- bl GetMonData\n\
- strh r0, [r4, 0x8]\n\
- ldrb r0, [r7]\n\
- muls r0, r6\n\
- adds r0, r5\n\
- movs r1, 0x3F\n\
- bl GetMonData\n\
- strh r0, [r4, 0xA]\n\
- ldr r4, _0802063C @ =gActiveBank\n\
- mov r2, r8\n\
- ldrb r0, [r2]\n\
- strb r0, [r4]\n\
- ldrb r1, [r7]\n\
- ldr r0, _08020640 @ =gBattleMoveDamage\n\
- ldrh r2, [r0]\n\
- movs r0, 0\n\
- bl EmitExpBarUpdate\n\
- ldrb r0, [r4]\n\
- bl MarkBufferBankForExecution\n\
+ ldr r1, _08020624 @ =gBattleBufferB\n\
+ ldr r4, _08020628 @ =0x02000000\n\
+ ldr r3, _0802062C @ =0x000160a2\n\
+ adds r3, r4\n\
+ mov r8, r3\n\
+ ldrb r0, [r3]\n\
+ lsls r0, 9\n\
+ adds r0, r1\n\
+ strb r2, [r0]\n\
+ ldr r0, _08020630 @ =0x00016018\n\
+ adds r7, r4, r0\n\
+ ldrb r0, [r7]\n\
+ movs r6, 0x64\n\
+ muls r0, r6\n\
+ ldr r5, _08020634 @ =gPlayerParty\n\
+ adds r0, r5\n\
+ movs r1, 0x39\n\
+ bl GetMonData\n\
+ cmp r0, 0\n\
+ beq _08020612\n\
+ ldrb r0, [r7]\n\
+ muls r0, r6\n\
+ adds r0, r5\n\
+ movs r1, 0x38\n\
+ bl GetMonData\n\
+ cmp r0, 0x64\n\
+ beq _08020612\n\
+ ldrb r0, [r7]\n\
+ muls r0, r6\n\
+ adds r0, r5\n\
+ movs r1, 0x3A\n\
+ bl GetMonData\n\
+ ldr r1, _08020638 @ =0x00017180\n\
+ adds r4, r1\n\
+ strh r0, [r4]\n\
+ ldrb r0, [r7]\n\
+ muls r0, r6\n\
+ adds r0, r5\n\
+ movs r1, 0x3B\n\
+ bl GetMonData\n\
+ strh r0, [r4, 0x2]\n\
+ ldrb r0, [r7]\n\
+ muls r0, r6\n\
+ adds r0, r5\n\
+ movs r1, 0x3C\n\
+ bl GetMonData\n\
+ strh r0, [r4, 0x4]\n\
+ ldrb r0, [r7]\n\
+ muls r0, r6\n\
+ adds r0, r5\n\
+ movs r1, 0x3D\n\
+ bl GetMonData\n\
+ strh r0, [r4, 0x6]\n\
+ ldrb r0, [r7]\n\
+ muls r0, r6\n\
+ adds r0, r5\n\
+ movs r1, 0x3E\n\
+ bl GetMonData\n\
+ strh r0, [r4, 0x8]\n\
+ ldrb r0, [r7]\n\
+ muls r0, r6\n\
+ adds r0, r5\n\
+ movs r1, 0x3F\n\
+ bl GetMonData\n\
+ strh r0, [r4, 0xA]\n\
+ ldr r4, _0802063C @ =gActiveBank\n\
+ mov r2, r8\n\
+ ldrb r0, [r2]\n\
+ strb r0, [r4]\n\
+ ldrb r1, [r7]\n\
+ ldr r0, _08020640 @ =gBattleMoveDamage\n\
+ ldrh r2, [r0]\n\
+ movs r0, 0\n\
+ bl EmitExpBarUpdate\n\
+ ldrb r0, [r4]\n\
+ bl MarkBufferBankForExecution\n\
_08020612:\n\
- ldr r1, _08020628 @ =0x02000000\n\
- ldr r3, _08020644 @ =0x0001600f\n\
- adds r1, r3\n\
+ ldr r1, _08020628 @ =0x02000000\n\
+ ldr r3, _08020644 @ =0x0001600f\n\
+ adds r1, r3\n\
_08020618:\n\
- ldrb r0, [r1]\n\
- adds r0, 0x1\n\
- strb r0, [r1]\n\
- b _08020996\n\
- .align 2, 0\n\
+ ldrb r0, [r1]\n\
+ adds r0, 0x1\n\
+ strb r0, [r1]\n\
+ b _08020996\n\
+ .align 2, 0\n\
_08020620: .4byte gBattleExecBuffer\n\
_08020624: .4byte gBattleBufferB\n\
_08020628: .4byte 0x02000000\n\
@@ -6790,296 +6790,296 @@ _0802063C: .4byte gActiveBank\n\
_08020640: .4byte gBattleMoveDamage\n\
_08020644: .4byte 0x0001600f\n\
_08020648:\n\
- ldr r0, _080208AC @ =gBattleExecBuffer\n\
- ldr r0, [r0]\n\
- cmp r0, 0\n\
- beq _08020652\n\
- b _08020996\n\
+ ldr r0, _080208AC @ =gBattleExecBuffer\n\
+ ldr r0, [r0]\n\
+ cmp r0, 0\n\
+ beq _08020652\n\
+ b _08020996\n\
_08020652:\n\
- ldr r1, _080208B0 @ =gActiveBank\n\
- ldr r4, _080208B4 @ =0x02000000\n\
- ldr r2, _080208B8 @ =0x000160a2\n\
- adds r0, r4, r2\n\
- ldrb r0, [r0]\n\
- strb r0, [r1]\n\
- ldr r2, _080208BC @ =gBattleBufferB\n\
- ldrb r3, [r1]\n\
- lsls r1, r3, 9\n\
- adds r0, r1, r2\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x21\n\
- beq _0802066E\n\
- b _080208F0\n\
+ ldr r1, _080208B0 @ =gActiveBank\n\
+ ldr r4, _080208B4 @ =0x02000000\n\
+ ldr r2, _080208B8 @ =0x000160a2\n\
+ adds r0, r4, r2\n\
+ ldrb r0, [r0]\n\
+ strb r0, [r1]\n\
+ ldr r2, _080208BC @ =gBattleBufferB\n\
+ ldrb r3, [r1]\n\
+ lsls r1, r3, 9\n\
+ adds r0, r1, r2\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x21\n\
+ beq _0802066E\n\
+ b _080208F0\n\
_0802066E:\n\
- adds r0, r2, 0x1\n\
- adds r0, r1, r0\n\
- ldrb r0, [r0]\n\
- cmp r0, 0xB\n\
- beq _0802067A\n\
- b _080208F0\n\
+ adds r0, r2, 0x1\n\
+ adds r0, r1, r0\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0xB\n\
+ beq _0802067A\n\
+ b _080208F0\n\
_0802067A:\n\
- ldr r0, _080208C0 @ =gBattleTypeFlags\n\
- ldrh r1, [r0]\n\
- movs r0, 0x8\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _080206A8\n\
- ldr r1, _080208C4 @ =gBattlePartyID\n\
- lsls r0, r3, 1\n\
- adds r2, r0, r1\n\
- ldr r0, _080208C8 @ =0x00016018\n\
- adds r1, r4, r0\n\
- ldrh r0, [r2]\n\
- ldrb r1, [r1]\n\
- cmp r0, r1\n\
- bne _080206A8\n\
- adds r1, r0, 0\n\
- movs r0, 0x64\n\
- muls r0, r1\n\
- ldr r1, _080208CC @ =gPlayerParty\n\
- adds r0, r1\n\
- adds r1, r3, 0\n\
- bl sub_80324F8\n\
+ ldr r0, _080208C0 @ =gBattleTypeFlags\n\
+ ldrh r1, [r0]\n\
+ movs r0, 0x8\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _080206A8\n\
+ ldr r1, _080208C4 @ =gBattlePartyID\n\
+ lsls r0, r3, 1\n\
+ adds r2, r0, r1\n\
+ ldr r0, _080208C8 @ =0x00016018\n\
+ adds r1, r4, r0\n\
+ ldrh r0, [r2]\n\
+ ldrb r1, [r1]\n\
+ cmp r0, r1\n\
+ bne _080206A8\n\
+ adds r1, r0, 0\n\
+ movs r0, 0x64\n\
+ muls r0, r1\n\
+ ldr r1, _080208CC @ =gPlayerParty\n\
+ adds r0, r1\n\
+ adds r1, r3, 0\n\
+ bl sub_80324F8\n\
_080206A8:\n\
- ldr r1, _080208D0 @ =gBattleTextBuff1\n\
- movs r2, 0xFD\n\
- strb r2, [r1]\n\
- movs r0, 0x4\n\
- strb r0, [r1, 0x1]\n\
- ldr r5, _080208B0 @ =gActiveBank\n\
- ldrb r0, [r5]\n\
- strb r0, [r1, 0x2]\n\
- ldr r0, _080208B4 @ =0x02000000\n\
- ldr r3, _080208C8 @ =0x00016018\n\
- adds r6, r0, r3\n\
- ldrb r0, [r6]\n\
- strb r0, [r1, 0x3]\n\
- movs r0, 0xFF\n\
- strb r0, [r1, 0x4]\n\
- ldr r4, _080208D4 @ =gBattleTextBuff2\n\
- strb r2, [r4]\n\
- movs r0, 0x1\n\
- strb r0, [r4, 0x1]\n\
- strb r0, [r4, 0x2]\n\
- movs r0, 0x3\n\
- strb r0, [r4, 0x3]\n\
- ldrb r0, [r6]\n\
- movs r1, 0x64\n\
- mov r8, r1\n\
- mov r2, r8\n\
- muls r2, r0\n\
- adds r0, r2, 0\n\
- ldr r7, _080208CC @ =gPlayerParty\n\
- adds r0, r7\n\
- movs r1, 0x38\n\
- bl GetMonData\n\
- strb r0, [r4, 0x4]\n\
- movs r0, 0x1\n\
- negs r0, r0\n\
- strb r0, [r4, 0x5]\n\
- bl b_movescr_stack_push_cursor\n\
- ldr r2, _080208D8 @ =gLeveledUpInBattle\n\
- ldr r1, _080208DC @ =gBitTable\n\
- ldrb r0, [r6]\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- ldrb r1, [r2]\n\
- orrs r0, r1\n\
- strb r0, [r2]\n\
- ldr r1, _080208E0 @ =gBattlescriptCurrInstr\n\
- ldr r0, _080208E4 @ =BattleScript_LevelUp\n\
- str r0, [r1]\n\
- ldr r4, _080208E8 @ =gBattleMoveDamage\n\
- ldr r2, _080208BC @ =gBattleBufferB\n\
- ldrb r1, [r5]\n\
- lsls r1, 9\n\
- adds r0, r2, 0x2\n\
- adds r0, r1, r0\n\
- ldrb r3, [r0]\n\
- adds r2, 0x3\n\
- adds r1, r2\n\
- ldrb r0, [r1]\n\
- lsls r0, 8\n\
- orrs r3, r0\n\
- str r3, [r4]\n\
- ldrb r0, [r6]\n\
- mov r3, r8\n\
- muls r3, r0\n\
- adds r0, r3, 0\n\
- adds r0, r7\n\
- movs r1, 0\n\
- bl AdjustFriendship\n\
- ldr r0, _080208C4 @ =gBattlePartyID\n\
- ldrb r1, [r6]\n\
- ldrh r0, [r0]\n\
- cmp r0, r1\n\
- bne _080207EC\n\
- ldr r4, _080208EC @ =gBattleMons\n\
- ldrh r0, [r4, 0x28]\n\
- cmp r0, 0\n\
- beq _080207EC\n\
- mov r0, r8\n\
- muls r0, r1\n\
- adds r0, r7\n\
- movs r1, 0x38\n\
- bl GetMonData\n\
- adds r1, r4, 0\n\
- adds r1, 0x2A\n\
- strb r0, [r1]\n\
- ldrb r0, [r6]\n\
- mov r1, r8\n\
- muls r1, r0\n\
- adds r0, r1, 0\n\
- adds r0, r7\n\
- movs r1, 0x39\n\
- bl GetMonData\n\
- strh r0, [r4, 0x28]\n\
- ldrb r0, [r6]\n\
- mov r2, r8\n\
- muls r2, r0\n\
- adds r0, r2, 0\n\
- adds r0, r7\n\
- movs r1, 0x3A\n\
- bl GetMonData\n\
- strh r0, [r4, 0x2C]\n\
- ldrb r0, [r6]\n\
- mov r3, r8\n\
- muls r3, r0\n\
- adds r0, r3, 0\n\
- adds r0, r7\n\
- movs r1, 0x3B\n\
- bl GetMonData\n\
- strh r0, [r4, 0x2]\n\
- ldrb r0, [r6]\n\
- mov r1, r8\n\
- muls r1, r0\n\
- adds r0, r1, 0\n\
- adds r0, r7\n\
- movs r1, 0x3C\n\
- bl GetMonData\n\
- strh r0, [r4, 0x4]\n\
- ldrb r0, [r6]\n\
- mov r2, r8\n\
- muls r2, r0\n\
- adds r0, r2, 0\n\
- adds r0, r7\n\
- movs r1, 0x3D\n\
- bl GetMonData\n\
- strh r0, [r4, 0x6]\n\
- ldrb r0, [r6]\n\
- mov r3, r8\n\
- muls r3, r0\n\
- adds r0, r3, 0\n\
- adds r0, r7\n\
- movs r1, 0x3D\n\
- bl GetMonData\n\
- strh r0, [r4, 0x6]\n\
- ldrb r0, [r6]\n\
- mov r1, r8\n\
- muls r1, r0\n\
- adds r0, r1, 0\n\
- adds r0, r7\n\
- movs r1, 0x3E\n\
- bl GetMonData\n\
- strh r0, [r4, 0x8]\n\
- ldrb r0, [r6]\n\
- mov r2, r8\n\
- muls r2, r0\n\
- adds r0, r2, 0\n\
- adds r0, r7\n\
- movs r1, 0x3F\n\
- bl GetMonData\n\
- strh r0, [r4, 0xA]\n\
+ ldr r1, _080208D0 @ =gBattleTextBuff1\n\
+ movs r2, 0xFD\n\
+ strb r2, [r1]\n\
+ movs r0, 0x4\n\
+ strb r0, [r1, 0x1]\n\
+ ldr r5, _080208B0 @ =gActiveBank\n\
+ ldrb r0, [r5]\n\
+ strb r0, [r1, 0x2]\n\
+ ldr r0, _080208B4 @ =0x02000000\n\
+ ldr r3, _080208C8 @ =0x00016018\n\
+ adds r6, r0, r3\n\
+ ldrb r0, [r6]\n\
+ strb r0, [r1, 0x3]\n\
+ movs r0, 0xFF\n\
+ strb r0, [r1, 0x4]\n\
+ ldr r4, _080208D4 @ =gBattleTextBuff2\n\
+ strb r2, [r4]\n\
+ movs r0, 0x1\n\
+ strb r0, [r4, 0x1]\n\
+ strb r0, [r4, 0x2]\n\
+ movs r0, 0x3\n\
+ strb r0, [r4, 0x3]\n\
+ ldrb r0, [r6]\n\
+ movs r1, 0x64\n\
+ mov r8, r1\n\
+ mov r2, r8\n\
+ muls r2, r0\n\
+ adds r0, r2, 0\n\
+ ldr r7, _080208CC @ =gPlayerParty\n\
+ adds r0, r7\n\
+ movs r1, 0x38\n\
+ bl GetMonData\n\
+ strb r0, [r4, 0x4]\n\
+ movs r0, 0x1\n\
+ negs r0, r0\n\
+ strb r0, [r4, 0x5]\n\
+ bl b_movescr_stack_push_cursor\n\
+ ldr r2, _080208D8 @ =gLeveledUpInBattle\n\
+ ldr r1, _080208DC @ =gBitTable\n\
+ ldrb r0, [r6]\n\
+ lsls r0, 2\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ ldrb r1, [r2]\n\
+ orrs r0, r1\n\
+ strb r0, [r2]\n\
+ ldr r1, _080208E0 @ =gBattlescriptCurrInstr\n\
+ ldr r0, _080208E4 @ =BattleScript_LevelUp\n\
+ str r0, [r1]\n\
+ ldr r4, _080208E8 @ =gBattleMoveDamage\n\
+ ldr r2, _080208BC @ =gBattleBufferB\n\
+ ldrb r1, [r5]\n\
+ lsls r1, 9\n\
+ adds r0, r2, 0x2\n\
+ adds r0, r1, r0\n\
+ ldrb r3, [r0]\n\
+ adds r2, 0x3\n\
+ adds r1, r2\n\
+ ldrb r0, [r1]\n\
+ lsls r0, 8\n\
+ orrs r3, r0\n\
+ str r3, [r4]\n\
+ ldrb r0, [r6]\n\
+ mov r3, r8\n\
+ muls r3, r0\n\
+ adds r0, r3, 0\n\
+ adds r0, r7\n\
+ movs r1, 0\n\
+ bl AdjustFriendship\n\
+ ldr r0, _080208C4 @ =gBattlePartyID\n\
+ ldrb r1, [r6]\n\
+ ldrh r0, [r0]\n\
+ cmp r0, r1\n\
+ bne _080207EC\n\
+ ldr r4, _080208EC @ =gBattleMons\n\
+ ldrh r0, [r4, 0x28]\n\
+ cmp r0, 0\n\
+ beq _080207EC\n\
+ mov r0, r8\n\
+ muls r0, r1\n\
+ adds r0, r7\n\
+ movs r1, 0x38\n\
+ bl GetMonData\n\
+ adds r1, r4, 0\n\
+ adds r1, 0x2A\n\
+ strb r0, [r1]\n\
+ ldrb r0, [r6]\n\
+ mov r1, r8\n\
+ muls r1, r0\n\
+ adds r0, r1, 0\n\
+ adds r0, r7\n\
+ movs r1, 0x39\n\
+ bl GetMonData\n\
+ strh r0, [r4, 0x28]\n\
+ ldrb r0, [r6]\n\
+ mov r2, r8\n\
+ muls r2, r0\n\
+ adds r0, r2, 0\n\
+ adds r0, r7\n\
+ movs r1, 0x3A\n\
+ bl GetMonData\n\
+ strh r0, [r4, 0x2C]\n\
+ ldrb r0, [r6]\n\
+ mov r3, r8\n\
+ muls r3, r0\n\
+ adds r0, r3, 0\n\
+ adds r0, r7\n\
+ movs r1, 0x3B\n\
+ bl GetMonData\n\
+ strh r0, [r4, 0x2]\n\
+ ldrb r0, [r6]\n\
+ mov r1, r8\n\
+ muls r1, r0\n\
+ adds r0, r1, 0\n\
+ adds r0, r7\n\
+ movs r1, 0x3C\n\
+ bl GetMonData\n\
+ strh r0, [r4, 0x4]\n\
+ ldrb r0, [r6]\n\
+ mov r2, r8\n\
+ muls r2, r0\n\
+ adds r0, r2, 0\n\
+ adds r0, r7\n\
+ movs r1, 0x3D\n\
+ bl GetMonData\n\
+ strh r0, [r4, 0x6]\n\
+ ldrb r0, [r6]\n\
+ mov r3, r8\n\
+ muls r3, r0\n\
+ adds r0, r3, 0\n\
+ adds r0, r7\n\
+ movs r1, 0x3D\n\
+ bl GetMonData\n\
+ strh r0, [r4, 0x6]\n\
+ ldrb r0, [r6]\n\
+ mov r1, r8\n\
+ muls r1, r0\n\
+ adds r0, r1, 0\n\
+ adds r0, r7\n\
+ movs r1, 0x3E\n\
+ bl GetMonData\n\
+ strh r0, [r4, 0x8]\n\
+ ldrb r0, [r6]\n\
+ mov r2, r8\n\
+ muls r2, r0\n\
+ adds r0, r2, 0\n\
+ adds r0, r7\n\
+ movs r1, 0x3F\n\
+ bl GetMonData\n\
+ strh r0, [r4, 0xA]\n\
_080207EC:\n\
- ldr r0, _080208C4 @ =gBattlePartyID\n\
- ldr r1, _080208B4 @ =0x02000000\n\
- ldr r3, _080208C8 @ =0x00016018\n\
- adds r7, r1, r3\n\
- ldrb r2, [r7]\n\
- ldrh r0, [r0, 0x4]\n\
- cmp r0, r2\n\
- bne _080208F6\n\
- ldr r6, _080208EC @ =gBattleMons\n\
- movs r0, 0xD8\n\
- adds r0, r6\n\
- mov r8, r0\n\
- ldrh r0, [r0]\n\
- cmp r0, 0\n\
- beq _080208F6\n\
- ldr r0, _080208C0 @ =gBattleTypeFlags\n\
- ldrh r1, [r0]\n\
- movs r0, 0x1\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _080208F6\n\
- movs r5, 0x64\n\
- adds r0, r2, 0\n\
- muls r0, r5\n\
- ldr r4, _080208CC @ =gPlayerParty\n\
- adds r0, r4\n\
- movs r1, 0x38\n\
- bl GetMonData\n\
- adds r1, r6, 0\n\
- adds r1, 0xDA\n\
- strb r0, [r1]\n\
- ldrb r0, [r7]\n\
- muls r0, r5\n\
- adds r0, r4\n\
- movs r1, 0x39\n\
- bl GetMonData\n\
- mov r1, r8\n\
- strh r0, [r1]\n\
- ldrb r0, [r7]\n\
- muls r0, r5\n\
- adds r0, r4\n\
- movs r1, 0x3A\n\
- bl GetMonData\n\
- adds r1, r6, 0\n\
- adds r1, 0xDC\n\
- strh r0, [r1]\n\
- ldrb r0, [r7]\n\
- muls r0, r5\n\
- adds r0, r4\n\
- movs r1, 0x3B\n\
- bl GetMonData\n\
- adds r1, r6, 0\n\
- adds r1, 0xB2\n\
- strh r0, [r1]\n\
- ldrb r0, [r7]\n\
- muls r0, r5\n\
- adds r0, r4\n\
- movs r1, 0x3C\n\
- bl GetMonData\n\
- adds r1, r6, 0\n\
- adds r1, 0xB4\n\
- strh r0, [r1]\n\
- ldrb r0, [r7]\n\
- muls r0, r5\n\
- adds r0, r4\n\
- movs r1, 0x3D\n\
- bl GetMonData\n\
- movs r2, 0xB6\n\
- adds r2, r6\n\
- mov r8, r2\n\
- strh r0, [r2]\n\
- ldrb r0, [r7]\n\
- muls r0, r5\n\
- adds r0, r4\n\
- movs r1, 0x3D\n\
- bl GetMonData\n\
- mov r3, r8\n\
- strh r0, [r3]\n\
- ldrb r0, [r7]\n\
- muls r0, r5\n\
- adds r0, r4\n\
- movs r1, 0x3E\n\
- bl GetMonData\n\
- adds r1, r6, 0\n\
- adds r1, 0xB8\n\
- strh r0, [r1]\n\
- b _080208F6\n\
- .align 2, 0\n\
+ ldr r0, _080208C4 @ =gBattlePartyID\n\
+ ldr r1, _080208B4 @ =0x02000000\n\
+ ldr r3, _080208C8 @ =0x00016018\n\
+ adds r7, r1, r3\n\
+ ldrb r2, [r7]\n\
+ ldrh r0, [r0, 0x4]\n\
+ cmp r0, r2\n\
+ bne _080208F6\n\
+ ldr r6, _080208EC @ =gBattleMons\n\
+ movs r0, 0xD8\n\
+ adds r0, r6\n\
+ mov r8, r0\n\
+ ldrh r0, [r0]\n\
+ cmp r0, 0\n\
+ beq _080208F6\n\
+ ldr r0, _080208C0 @ =gBattleTypeFlags\n\
+ ldrh r1, [r0]\n\
+ movs r0, 0x1\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _080208F6\n\
+ movs r5, 0x64\n\
+ adds r0, r2, 0\n\
+ muls r0, r5\n\
+ ldr r4, _080208CC @ =gPlayerParty\n\
+ adds r0, r4\n\
+ movs r1, 0x38\n\
+ bl GetMonData\n\
+ adds r1, r6, 0\n\
+ adds r1, 0xDA\n\
+ strb r0, [r1]\n\
+ ldrb r0, [r7]\n\
+ muls r0, r5\n\
+ adds r0, r4\n\
+ movs r1, 0x39\n\
+ bl GetMonData\n\
+ mov r1, r8\n\
+ strh r0, [r1]\n\
+ ldrb r0, [r7]\n\
+ muls r0, r5\n\
+ adds r0, r4\n\
+ movs r1, 0x3A\n\
+ bl GetMonData\n\
+ adds r1, r6, 0\n\
+ adds r1, 0xDC\n\
+ strh r0, [r1]\n\
+ ldrb r0, [r7]\n\
+ muls r0, r5\n\
+ adds r0, r4\n\
+ movs r1, 0x3B\n\
+ bl GetMonData\n\
+ adds r1, r6, 0\n\
+ adds r1, 0xB2\n\
+ strh r0, [r1]\n\
+ ldrb r0, [r7]\n\
+ muls r0, r5\n\
+ adds r0, r4\n\
+ movs r1, 0x3C\n\
+ bl GetMonData\n\
+ adds r1, r6, 0\n\
+ adds r1, 0xB4\n\
+ strh r0, [r1]\n\
+ ldrb r0, [r7]\n\
+ muls r0, r5\n\
+ adds r0, r4\n\
+ movs r1, 0x3D\n\
+ bl GetMonData\n\
+ movs r2, 0xB6\n\
+ adds r2, r6\n\
+ mov r8, r2\n\
+ strh r0, [r2]\n\
+ ldrb r0, [r7]\n\
+ muls r0, r5\n\
+ adds r0, r4\n\
+ movs r1, 0x3D\n\
+ bl GetMonData\n\
+ mov r3, r8\n\
+ strh r0, [r3]\n\
+ ldrb r0, [r7]\n\
+ muls r0, r5\n\
+ adds r0, r4\n\
+ movs r1, 0x3E\n\
+ bl GetMonData\n\
+ adds r1, r6, 0\n\
+ adds r1, 0xB8\n\
+ strh r0, [r1]\n\
+ b _080208F6\n\
+ .align 2, 0\n\
_080208AC: .4byte gBattleExecBuffer\n\
_080208B0: .4byte gActiveBank\n\
_080208B4: .4byte 0x02000000\n\
@@ -7098,94 +7098,94 @@ _080208E4: .4byte BattleScript_LevelUp\n\
_080208E8: .4byte gBattleMoveDamage\n\
_080208EC: .4byte gBattleMons\n\
_080208F0:\n\
- ldr r1, _08020904 @ =gBattleMoveDamage\n\
- movs r0, 0\n\
- str r0, [r1]\n\
+ ldr r1, _08020904 @ =gBattleMoveDamage\n\
+ movs r0, 0\n\
+ str r0, [r1]\n\
_080208F6:\n\
- ldr r0, _08020908 @ =0x02000000\n\
- ldr r1, _0802090C @ =0x0001600f\n\
- adds r0, r1\n\
- movs r1, 0x5\n\
- strb r1, [r0]\n\
- b _08020996\n\
- .align 2, 0\n\
+ ldr r0, _08020908 @ =0x02000000\n\
+ ldr r1, _0802090C @ =0x0001600f\n\
+ adds r0, r1\n\
+ movs r1, 0x5\n\
+ strb r1, [r0]\n\
+ b _08020996\n\
+ .align 2, 0\n\
_08020904: .4byte gBattleMoveDamage\n\
_08020908: .4byte 0x02000000\n\
_0802090C: .4byte 0x0001600f\n\
_08020910:\n\
- ldr r0, _08020924 @ =gBattleMoveDamage\n\
- ldr r0, [r0]\n\
- cmp r0, 0\n\
- beq _08020930\n\
- ldr r0, _08020928 @ =0x02000000\n\
- ldr r2, _0802092C @ =0x0001600f\n\
- adds r0, r2\n\
- movs r1, 0x3\n\
- strb r1, [r0]\n\
- b _08020996\n\
- .align 2, 0\n\
+ ldr r0, _08020924 @ =gBattleMoveDamage\n\
+ ldr r0, [r0]\n\
+ cmp r0, 0\n\
+ beq _08020930\n\
+ ldr r0, _08020928 @ =0x02000000\n\
+ ldr r2, _0802092C @ =0x0001600f\n\
+ adds r0, r2\n\
+ movs r1, 0x3\n\
+ strb r1, [r0]\n\
+ b _08020996\n\
+ .align 2, 0\n\
_08020924: .4byte gBattleMoveDamage\n\
_08020928: .4byte 0x02000000\n\
_0802092C: .4byte 0x0001600f\n\
_08020930:\n\
- ldr r2, _08020950 @ =0x02000000\n\
- ldr r3, _08020954 @ =0x00016018\n\
- adds r1, r2, r3\n\
- ldrb r0, [r1]\n\
- adds r0, 0x1\n\
- strb r0, [r1]\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r0, 0x5\n\
- bhi _0802095C\n\
- ldr r0, _08020958 @ =0x0001600f\n\
- adds r1, r2, r0\n\
- movs r0, 0x2\n\
- strb r0, [r1]\n\
- b _08020996\n\
- .align 2, 0\n\
+ ldr r2, _08020950 @ =0x02000000\n\
+ ldr r3, _08020954 @ =0x00016018\n\
+ adds r1, r2, r3\n\
+ ldrb r0, [r1]\n\
+ adds r0, 0x1\n\
+ strb r0, [r1]\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ cmp r0, 0x5\n\
+ bhi _0802095C\n\
+ ldr r0, _08020958 @ =0x0001600f\n\
+ adds r1, r2, r0\n\
+ movs r0, 0x2\n\
+ strb r0, [r1]\n\
+ b _08020996\n\
+ .align 2, 0\n\
_08020950: .4byte 0x02000000\n\
_08020954: .4byte 0x00016018\n\
_08020958: .4byte 0x0001600f\n\
_0802095C:\n\
- ldr r3, _08020968 @ =0x0001600f\n\
- adds r1, r2, r3\n\
- movs r0, 0x6\n\
- strb r0, [r1]\n\
- b _08020996\n\
- .align 2, 0\n\
+ ldr r3, _08020968 @ =0x0001600f\n\
+ adds r1, r2, r3\n\
+ movs r0, 0x6\n\
+ strb r0, [r1]\n\
+ b _08020996\n\
+ .align 2, 0\n\
_08020968: .4byte 0x0001600f\n\
_0802096C:\n\
- ldr r0, _080209A4 @ =gBattleExecBuffer\n\
- ldr r5, [r0]\n\
- cmp r5, 0\n\
- bne _08020996\n\
- ldr r4, _080209A8 @ =gBattleMons\n\
- ldr r2, _080209AC @ =gBank1\n\
- ldrb r0, [r2]\n\
- movs r1, 0x58\n\
- muls r0, r1\n\
- adds r0, r4\n\
- movs r3, 0\n\
- strh r5, [r0, 0x2E]\n\
- ldrb r0, [r2]\n\
- muls r0, r1\n\
- adds r0, r4\n\
- adds r0, 0x20\n\
- strb r3, [r0]\n\
- ldr r1, _080209B0 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r1]\n\
- adds r0, 0x2\n\
- str r0, [r1]\n\
+ ldr r0, _080209A4 @ =gBattleExecBuffer\n\
+ ldr r5, [r0]\n\
+ cmp r5, 0\n\
+ bne _08020996\n\
+ ldr r4, _080209A8 @ =gBattleMons\n\
+ ldr r2, _080209AC @ =gBank1\n\
+ ldrb r0, [r2]\n\
+ movs r1, 0x58\n\
+ muls r0, r1\n\
+ adds r0, r4\n\
+ movs r3, 0\n\
+ strh r5, [r0, 0x2E]\n\
+ ldrb r0, [r2]\n\
+ muls r0, r1\n\
+ adds r0, r4\n\
+ adds r0, 0x20\n\
+ strb r3, [r0]\n\
+ ldr r1, _080209B0 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r1]\n\
+ adds r0, 0x2\n\
+ str r0, [r1]\n\
_08020996:\n\
- pop {r3-r5}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- mov r10, r5\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .align 2, 0\n\
+ pop {r3-r5}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ mov r10, r5\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
_080209A4: .4byte gBattleExecBuffer\n\
_080209A8: .4byte gBattleMons\n\
_080209AC: .4byte gBank1\n\
@@ -7263,171 +7263,171 @@ __attribute__((naked))
static void atk24(void)
{
asm(".syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r8\n\
- push {r7}\n\
- movs r6, 0\n\
- ldr r0, _08020AF0 @ =gBattleExecBuffer\n\
- ldr r0, [r0]\n\
- cmp r0, 0\n\
- beq _080209C6\n\
- b _08020B46\n\
+ push {r4-r7,lr}\n\
+ mov r7, r8\n\
+ push {r7}\n\
+ movs r6, 0\n\
+ ldr r0, _08020AF0 @ =gBattleExecBuffer\n\
+ ldr r0, [r0]\n\
+ cmp r0, 0\n\
+ beq _080209C6\n\
+ b _08020B46\n\
_080209C6:\n\
- movs r5, 0\n\
+ movs r5, 0\n\
_080209C8:\n\
- movs r0, 0x64\n\
- adds r1, r5, 0\n\
- muls r1, r0\n\
- ldr r0, _08020AF4 @ =gPlayerParty\n\
- adds r4, r1, r0\n\
- adds r0, r4, 0\n\
- movs r1, 0xB\n\
- bl GetMonData\n\
- cmp r0, 0\n\
- beq _080209F8\n\
- adds r0, r4, 0\n\
- movs r1, 0x2D\n\
- bl GetMonData\n\
- cmp r0, 0\n\
- bne _080209F8\n\
- adds r0, r4, 0\n\
- movs r1, 0x39\n\
- bl GetMonData\n\
- adds r0, r6, r0\n\
- lsls r0, 16\n\
- lsrs r6, r0, 16\n\
+ movs r0, 0x64\n\
+ adds r1, r5, 0\n\
+ muls r1, r0\n\
+ ldr r0, _08020AF4 @ =gPlayerParty\n\
+ adds r4, r1, r0\n\
+ adds r0, r4, 0\n\
+ movs r1, 0xB\n\
+ bl GetMonData\n\
+ cmp r0, 0\n\
+ beq _080209F8\n\
+ adds r0, r4, 0\n\
+ movs r1, 0x2D\n\
+ bl GetMonData\n\
+ cmp r0, 0\n\
+ bne _080209F8\n\
+ adds r0, r4, 0\n\
+ movs r1, 0x39\n\
+ bl GetMonData\n\
+ adds r0, r6, r0\n\
+ lsls r0, 16\n\
+ lsrs r6, r0, 16\n\
_080209F8:\n\
- adds r5, 0x1\n\
- cmp r5, 0x5\n\
- ble _080209C8\n\
- cmp r6, 0\n\
- bne _08020A0C\n\
- ldr r0, _08020AF8 @ =gBattleOutcome\n\
- ldrb r1, [r0]\n\
- movs r2, 0x2\n\
- orrs r1, r2\n\
- strb r1, [r0]\n\
+ adds r5, 0x1\n\
+ cmp r5, 0x5\n\
+ ble _080209C8\n\
+ cmp r6, 0\n\
+ bne _08020A0C\n\
+ ldr r0, _08020AF8 @ =gBattleOutcome\n\
+ ldrb r1, [r0]\n\
+ movs r2, 0x2\n\
+ orrs r1, r2\n\
+ strb r1, [r0]\n\
_08020A0C:\n\
- movs r6, 0\n\
- movs r5, 0\n\
+ movs r6, 0\n\
+ movs r5, 0\n\
_08020A10:\n\
- movs r0, 0x64\n\
- adds r1, r5, 0\n\
- muls r1, r0\n\
- ldr r0, _08020AFC @ =gEnemyParty\n\
- adds r4, r1, r0\n\
- adds r0, r4, 0\n\
- movs r1, 0xB\n\
- bl GetMonData\n\
- cmp r0, 0\n\
- beq _08020A40\n\
- adds r0, r4, 0\n\
- movs r1, 0x2D\n\
- bl GetMonData\n\
- cmp r0, 0\n\
- bne _08020A40\n\
- adds r0, r4, 0\n\
- movs r1, 0x39\n\
- bl GetMonData\n\
- adds r0, r6, r0\n\
- lsls r0, 16\n\
- lsrs r6, r0, 16\n\
+ movs r0, 0x64\n\
+ adds r1, r5, 0\n\
+ muls r1, r0\n\
+ ldr r0, _08020AFC @ =gEnemyParty\n\
+ adds r4, r1, r0\n\
+ adds r0, r4, 0\n\
+ movs r1, 0xB\n\
+ bl GetMonData\n\
+ cmp r0, 0\n\
+ beq _08020A40\n\
+ adds r0, r4, 0\n\
+ movs r1, 0x2D\n\
+ bl GetMonData\n\
+ cmp r0, 0\n\
+ bne _08020A40\n\
+ adds r0, r4, 0\n\
+ movs r1, 0x39\n\
+ bl GetMonData\n\
+ adds r0, r6, r0\n\
+ lsls r0, 16\n\
+ lsrs r6, r0, 16\n\
_08020A40:\n\
- adds r5, 0x1\n\
- cmp r5, 0x5\n\
- ble _08020A10\n\
- ldr r2, _08020AF8 @ =gBattleOutcome\n\
- cmp r6, 0\n\
- bne _08020A54\n\
- ldrb r0, [r2]\n\
- movs r1, 0x1\n\
- orrs r0, r1\n\
- strb r0, [r2]\n\
+ adds r5, 0x1\n\
+ cmp r5, 0x5\n\
+ ble _08020A10\n\
+ ldr r2, _08020AF8 @ =gBattleOutcome\n\
+ cmp r6, 0\n\
+ bne _08020A54\n\
+ ldrb r0, [r2]\n\
+ movs r1, 0x1\n\
+ orrs r0, r1\n\
+ strb r0, [r2]\n\
_08020A54:\n\
- ldrb r0, [r2]\n\
- cmp r0, 0\n\
- bne _08020B3E\n\
- ldr r2, _08020B00 @ =gBattleTypeFlags\n\
- ldrh r1, [r2]\n\
- movs r0, 0x2\n\
- ands r0, r1\n\
- mov r8, r2\n\
- cmp r0, 0\n\
- beq _08020B3E\n\
- movs r2, 0\n\
- movs r5, 0\n\
- ldr r0, _08020B04 @ =gNoOfAllBanks\n\
- ldrb r3, [r0]\n\
- mov r12, r0\n\
- ldr r7, _08020B08 @ =gBattlescriptCurrInstr\n\
- cmp r2, r3\n\
- bge _08020AA0\n\
- ldr r0, _08020B0C @ =gHitMarker\n\
- movs r1, 0x80\n\
- lsls r1, 21\n\
- ldr r6, [r0]\n\
- adds r4, r3, 0\n\
- ldr r3, _08020B10 @ =gSpecialStatuses\n\
+ ldrb r0, [r2]\n\
+ cmp r0, 0\n\
+ bne _08020B3E\n\
+ ldr r2, _08020B00 @ =gBattleTypeFlags\n\
+ ldrh r1, [r2]\n\
+ movs r0, 0x2\n\
+ ands r0, r1\n\
+ mov r8, r2\n\
+ cmp r0, 0\n\
+ beq _08020B3E\n\
+ movs r2, 0\n\
+ movs r5, 0\n\
+ ldr r0, _08020B04 @ =gNoOfAllBanks\n\
+ ldrb r3, [r0]\n\
+ mov r12, r0\n\
+ ldr r7, _08020B08 @ =gBattlescriptCurrInstr\n\
+ cmp r2, r3\n\
+ bge _08020AA0\n\
+ ldr r0, _08020B0C @ =gHitMarker\n\
+ movs r1, 0x80\n\
+ lsls r1, 21\n\
+ ldr r6, [r0]\n\
+ adds r4, r3, 0\n\
+ ldr r3, _08020B10 @ =gSpecialStatuses\n\
_08020A84:\n\
- adds r0, r1, 0\n\
- lsls r0, r5\n\
- ands r0, r6\n\
- cmp r0, 0\n\
- beq _08020A98\n\
- ldrb r0, [r3]\n\
- lsls r0, 25\n\
- cmp r0, 0\n\
- blt _08020A98\n\
- adds r2, 0x1\n\
+ adds r0, r1, 0\n\
+ lsls r0, r5\n\
+ ands r0, r6\n\
+ cmp r0, 0\n\
+ beq _08020A98\n\
+ ldrb r0, [r3]\n\
+ lsls r0, 25\n\
+ cmp r0, 0\n\
+ blt _08020A98\n\
+ adds r2, 0x1\n\
_08020A98:\n\
- adds r3, 0x28\n\
- adds r5, 0x2\n\
- cmp r5, r4\n\
- blt _08020A84\n\
+ adds r3, 0x28\n\
+ adds r5, 0x2\n\
+ cmp r5, r4\n\
+ blt _08020A84\n\
_08020AA0:\n\
- movs r4, 0\n\
- movs r5, 0x1\n\
- mov r0, r12\n\
- ldrb r3, [r0]\n\
- cmp r5, r3\n\
- bge _08020ADA\n\
- ldr r0, _08020B0C @ =gHitMarker\n\
- movs r1, 0x80\n\
- lsls r1, 21\n\
- mov r12, r1\n\
- ldr r1, [r0]\n\
- ldr r0, _08020B10 @ =gSpecialStatuses\n\
- adds r6, r3, 0\n\
- adds r3, r0, 0\n\
- adds r3, 0x14\n\
+ movs r4, 0\n\
+ movs r5, 0x1\n\
+ mov r0, r12\n\
+ ldrb r3, [r0]\n\
+ cmp r5, r3\n\
+ bge _08020ADA\n\
+ ldr r0, _08020B0C @ =gHitMarker\n\
+ movs r1, 0x80\n\
+ lsls r1, 21\n\
+ mov r12, r1\n\
+ ldr r1, [r0]\n\
+ ldr r0, _08020B10 @ =gSpecialStatuses\n\
+ adds r6, r3, 0\n\
+ adds r3, r0, 0\n\
+ adds r3, 0x14\n\
_08020ABE:\n\
- mov r0, r12\n\
- lsls r0, r5\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08020AD2\n\
- ldrb r0, [r3]\n\
- lsls r0, 25\n\
- cmp r0, 0\n\
- blt _08020AD2\n\
- adds r4, 0x1\n\
+ mov r0, r12\n\
+ lsls r0, r5\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _08020AD2\n\
+ ldrb r0, [r3]\n\
+ lsls r0, 25\n\
+ cmp r0, 0\n\
+ blt _08020AD2\n\
+ adds r4, 0x1\n\
_08020AD2:\n\
- adds r3, 0x28\n\
- adds r5, 0x2\n\
- cmp r5, r6\n\
- blt _08020ABE\n\
+ adds r3, 0x28\n\
+ adds r5, 0x2\n\
+ cmp r5, r6\n\
+ blt _08020ABE\n\
_08020ADA:\n\
- mov r0, r8\n\
- ldrh r1, [r0]\n\
- movs r0, 0x40\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08020B14\n\
- adds r0, r4, r2\n\
- cmp r0, 0x1\n\
- bgt _08020B1C\n\
- b _08020B36\n\
- .align 2, 0\n\
+ mov r0, r8\n\
+ ldrh r1, [r0]\n\
+ movs r0, 0x40\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _08020B14\n\
+ adds r0, r4, r2\n\
+ cmp r0, 0x1\n\
+ bgt _08020B1C\n\
+ b _08020B36\n\
+ .align 2, 0\n\
_08020AF0: .4byte gBattleExecBuffer\n\
_08020AF4: .4byte gPlayerParty\n\
_08020AF8: .4byte gBattleOutcome\n\
@@ -7438,41 +7438,41 @@ _08020B08: .4byte gBattlescriptCurrInstr\n\
_08020B0C: .4byte gHitMarker\n\
_08020B10: .4byte gSpecialStatuses\n\
_08020B14:\n\
- cmp r4, 0\n\
- beq _08020B36\n\
- cmp r2, 0\n\
- beq _08020B36\n\
+ cmp r4, 0\n\
+ beq _08020B36\n\
+ cmp r2, 0\n\
+ beq _08020B36\n\
_08020B1C:\n\
- ldr r2, [r7]\n\
- ldrb r1, [r2, 0x1]\n\
- ldrb r0, [r2, 0x2]\n\
- lsls r0, 8\n\
- adds r1, r0\n\
- ldrb r0, [r2, 0x3]\n\
- lsls r0, 16\n\
- adds r1, r0\n\
- ldrb r0, [r2, 0x4]\n\
- lsls r0, 24\n\
- adds r1, r0\n\
- str r1, [r7]\n\
- b _08020B46\n\
+ ldr r2, [r7]\n\
+ ldrb r1, [r2, 0x1]\n\
+ ldrb r0, [r2, 0x2]\n\
+ lsls r0, 8\n\
+ adds r1, r0\n\
+ ldrb r0, [r2, 0x3]\n\
+ lsls r0, 16\n\
+ adds r1, r0\n\
+ ldrb r0, [r2, 0x4]\n\
+ lsls r0, 24\n\
+ adds r1, r0\n\
+ str r1, [r7]\n\
+ b _08020B46\n\
_08020B36:\n\
- ldr r0, [r7]\n\
- adds r0, 0x5\n\
- str r0, [r7]\n\
- b _08020B46\n\
+ ldr r0, [r7]\n\
+ adds r0, 0x5\n\
+ str r0, [r7]\n\
+ b _08020B46\n\
_08020B3E:\n\
- ldr r1, _08020B50 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r1]\n\
- adds r0, 0x5\n\
- str r0, [r1]\n\
+ ldr r1, _08020B50 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r1]\n\
+ adds r0, 0x5\n\
+ str r0, [r1]\n\
_08020B46:\n\
- pop {r3}\n\
- mov r8, r3\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .align 2, 0\n\
+ pop {r3}\n\
+ mov r8, r3\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
_08020B50: .4byte gBattlescriptCurrInstr\n\
.syntax divided\n");
}
@@ -7855,8 +7855,8 @@ static void atk44(void)
static void atk45_playanimation(void)
{
- #define ANIMATION_ID BSScriptRead8(gBattlescriptCurrInstr + 2)
- #define ARGUMENT (u16*) BS2ScriptReadPtr(gBattlescriptCurrInstr + 3)
+ #define ANIMATION_ID BSScriptRead8(gBattlescriptCurrInstr + 2)
+ #define ARGUMENT (u16*) BS2ScriptReadPtr(gBattlescriptCurrInstr + 3)
gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
if ( ANIMATION_ID == 1 || ANIMATION_ID == 0x11 || ANIMATION_ID == 2) {
@@ -7883,98 +7883,98 @@ static void atk45_playanimation(void)
{
asm(".syntax unified\n\
push {r4-r6,lr}\n\
- ldr r5, _08021444 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r5]\n\
- ldrb r0, [r0, 0x1]\n\
- bl GetBattleBank\n\
- ldr r6, _08021448 @ =gActiveBank\n\
- strb r0, [r6]\n\
- ldr r2, [r5]\n\
- ldrb r1, [r2, 0x3]\n\
- ldrb r0, [r2, 0x4]\n\
- lsls r0, 8\n\
- adds r1, r0\n\
- ldrb r0, [r2, 0x5]\n\
- lsls r0, 16\n\
- adds r1, r0\n\
- ldrb r0, [r2, 0x6]\n\
- lsls r0, 24\n\
- adds r3, r1, r0\n\
- ldrb r4, [r2, 0x2]\n\
- adds r0, r4, 0\n\
- cmp r0, 0x1\n\
- beq _08021426\n\
- cmp r0, 0x11\n\
- beq _08021426\n\
- cmp r0, 0x2\n\
- bne _0802144C\n\
+ ldr r5, _08021444 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r5]\n\
+ ldrb r0, [r0, 0x1]\n\
+ bl GetBattleBank\n\
+ ldr r6, _08021448 @ =gActiveBank\n\
+ strb r0, [r6]\n\
+ ldr r2, [r5]\n\
+ ldrb r1, [r2, 0x3]\n\
+ ldrb r0, [r2, 0x4]\n\
+ lsls r0, 8\n\
+ adds r1, r0\n\
+ ldrb r0, [r2, 0x5]\n\
+ lsls r0, 16\n\
+ adds r1, r0\n\
+ ldrb r0, [r2, 0x6]\n\
+ lsls r0, 24\n\
+ adds r3, r1, r0\n\
+ ldrb r4, [r2, 0x2]\n\
+ adds r0, r4, 0\n\
+ cmp r0, 0x1\n\
+ beq _08021426\n\
+ cmp r0, 0x11\n\
+ beq _08021426\n\
+ cmp r0, 0x2\n\
+ bne _0802144C\n\
_08021426:\n\
- ldr r4, _08021444 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r4]\n\
- ldrb r1, [r0, 0x2]\n\
- ldrh r2, [r3]\n\
- movs r0, 0\n\
- bl EmitBattleAnimation\n\
- ldr r0, _08021448 @ =gActiveBank\n\
- ldrb r0, [r0]\n\
- bl MarkBufferBankForExecution\n\
- ldr r0, [r4]\n\
- adds r0, 0x7\n\
- str r0, [r4]\n\
- b _080214AE\n\
- .align 2, 0\n\
+ ldr r4, _08021444 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r4]\n\
+ ldrb r1, [r0, 0x2]\n\
+ ldrh r2, [r3]\n\
+ movs r0, 0\n\
+ bl EmitBattleAnimation\n\
+ ldr r0, _08021448 @ =gActiveBank\n\
+ ldrb r0, [r0]\n\
+ bl MarkBufferBankForExecution\n\
+ ldr r0, [r4]\n\
+ adds r0, 0x7\n\
+ str r0, [r4]\n\
+ b _080214AE\n\
+ .align 2, 0\n\
_08021444: .4byte gBattlescriptCurrInstr\n\
_08021448: .4byte gActiveBank\n\
_0802144C:\n\
- ldr r0, _08021464 @ =gHitMarker\n\
- ldr r0, [r0]\n\
- movs r1, 0x80\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _0802146C\n\
- adds r0, r2, 0x7\n\
- bl b_movescr_stack_push\n\
- ldr r0, _08021468 @ =BattleScript_Pausex20\n\
- b _080214AC\n\
- .align 2, 0\n\
+ ldr r0, _08021464 @ =gHitMarker\n\
+ ldr r0, [r0]\n\
+ movs r1, 0x80\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0802146C\n\
+ adds r0, r2, 0x7\n\
+ bl b_movescr_stack_push\n\
+ ldr r0, _08021468 @ =BattleScript_Pausex20\n\
+ b _080214AC\n\
+ .align 2, 0\n\
_08021464: .4byte gHitMarker\n\
_08021468: .4byte BattleScript_Pausex20\n\
_0802146C:\n\
- adds r0, r4, 0\n\
- subs r0, 0xA\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r0, 0x3\n\
- bls _08021498\n\
- ldr r1, _08021490 @ =gStatuses3\n\
- ldrb r0, [r6]\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- ldr r1, _08021494 @ =0x000400c0\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08021498\n\
- adds r0, r2, 0x7\n\
- b _080214AC\n\
- .align 2, 0\n\
+ adds r0, r4, 0\n\
+ subs r0, 0xA\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ cmp r0, 0x3\n\
+ bls _08021498\n\
+ ldr r1, _08021490 @ =gStatuses3\n\
+ ldrb r0, [r6]\n\
+ lsls r0, 2\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ ldr r1, _08021494 @ =0x000400c0\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _08021498\n\
+ adds r0, r2, 0x7\n\
+ b _080214AC\n\
+ .align 2, 0\n\
_08021490: .4byte gStatuses3\n\
_08021494: .4byte 0x000400c0\n\
_08021498:\n\
- ldrb r1, [r2, 0x2]\n\
- ldrh r2, [r3]\n\
- movs r0, 0\n\
- bl EmitBattleAnimation\n\
- ldrb r0, [r6]\n\
- bl MarkBufferBankForExecution\n\
- ldr r0, [r5]\n\
- adds r0, 0x7\n\
+ ldrb r1, [r2, 0x2]\n\
+ ldrh r2, [r3]\n\
+ movs r0, 0\n\
+ bl EmitBattleAnimation\n\
+ ldrb r0, [r6]\n\
+ bl MarkBufferBankForExecution\n\
+ ldr r0, [r5]\n\
+ adds r0, 0x7\n\
_080214AC:\n\
- str r0, [r5]\n\
+ str r0, [r5]\n\
_080214AE:\n\
- pop {r4-r6}\n\
- pop {r0}\n\
- bx r0\n\
+ pop {r4-r6}\n\
+ pop {r0}\n\
+ bx r0\n\
.syntax divided");
}
#endif // NONMATCHING
@@ -7991,104 +7991,104 @@ static void atk46_playanimation2(void)
{
asm(".syntax unified\n\
push {r4-r7,lr}\n\
- ldr r6, _0802151C @ =gBattlescriptCurrInstr\n\
- ldr r0, [r6]\n\
- ldrb r0, [r0, 0x1]\n\
- bl GetBattleBank\n\
- ldr r7, _08021520 @ =gActiveBank\n\
- strb r0, [r7]\n\
- ldr r2, [r6]\n\
- ldrb r1, [r2, 0x2]\n\
- ldrb r0, [r2, 0x3]\n\
- lsls r0, 8\n\
- adds r1, r0\n\
- ldrb r0, [r2, 0x4]\n\
- lsls r0, 16\n\
- adds r1, r0\n\
- ldrb r0, [r2, 0x5]\n\
- lsls r0, 24\n\
- adds r3, r1, r0\n\
- ldrb r1, [r2, 0x6]\n\
- ldrb r0, [r2, 0x7]\n\
- lsls r0, 8\n\
- adds r1, r0\n\
- ldrb r0, [r2, 0x8]\n\
- lsls r0, 16\n\
- adds r1, r0\n\
- ldrb r0, [r2, 0x9]\n\
- lsls r0, 24\n\
- adds r4, r1, r0\n\
- ldrb r5, [r3]\n\
- adds r0, r5, 0\n\
- cmp r0, 0x1\n\
- beq _080214FE\n\
- cmp r0, 0x11\n\
- beq _080214FE\n\
- cmp r0, 0x2\n\
- bne _08021524\n\
+ ldr r6, _0802151C @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r6]\n\
+ ldrb r0, [r0, 0x1]\n\
+ bl GetBattleBank\n\
+ ldr r7, _08021520 @ =gActiveBank\n\
+ strb r0, [r7]\n\
+ ldr r2, [r6]\n\
+ ldrb r1, [r2, 0x2]\n\
+ ldrb r0, [r2, 0x3]\n\
+ lsls r0, 8\n\
+ adds r1, r0\n\
+ ldrb r0, [r2, 0x4]\n\
+ lsls r0, 16\n\
+ adds r1, r0\n\
+ ldrb r0, [r2, 0x5]\n\
+ lsls r0, 24\n\
+ adds r3, r1, r0\n\
+ ldrb r1, [r2, 0x6]\n\
+ ldrb r0, [r2, 0x7]\n\
+ lsls r0, 8\n\
+ adds r1, r0\n\
+ ldrb r0, [r2, 0x8]\n\
+ lsls r0, 16\n\
+ adds r1, r0\n\
+ ldrb r0, [r2, 0x9]\n\
+ lsls r0, 24\n\
+ adds r4, r1, r0\n\
+ ldrb r5, [r3]\n\
+ adds r0, r5, 0\n\
+ cmp r0, 0x1\n\
+ beq _080214FE\n\
+ cmp r0, 0x11\n\
+ beq _080214FE\n\
+ cmp r0, 0x2\n\
+ bne _08021524\n\
_080214FE:\n\
- ldrb r1, [r3]\n\
- ldrh r2, [r4]\n\
- movs r0, 0\n\
- bl EmitBattleAnimation\n\
- ldr r0, _08021520 @ =gActiveBank\n\
- ldrb r0, [r0]\n\
- bl MarkBufferBankForExecution\n\
- ldr r1, _0802151C @ =gBattlescriptCurrInstr\n\
- ldr r0, [r1]\n\
- adds r0, 0xA\n\
- str r0, [r1]\n\
- b _0802157A\n\
- .align 2, 0\n\
+ ldrb r1, [r3]\n\
+ ldrh r2, [r4]\n\
+ movs r0, 0\n\
+ bl EmitBattleAnimation\n\
+ ldr r0, _08021520 @ =gActiveBank\n\
+ ldrb r0, [r0]\n\
+ bl MarkBufferBankForExecution\n\
+ ldr r1, _0802151C @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r1]\n\
+ adds r0, 0xA\n\
+ str r0, [r1]\n\
+ b _0802157A\n\
+ .align 2, 0\n\
_0802151C: .4byte gBattlescriptCurrInstr\n\
_08021520: .4byte gActiveBank\n\
_08021524:\n\
- ldr r0, _08021534 @ =gHitMarker\n\
- ldr r0, [r0]\n\
- movs r1, 0x80\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08021538\n\
- adds r0, r2, 0\n\
- b _08021576\n\
- .align 2, 0\n\
+ ldr r0, _08021534 @ =gHitMarker\n\
+ ldr r0, [r0]\n\
+ movs r1, 0x80\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _08021538\n\
+ adds r0, r2, 0\n\
+ b _08021576\n\
+ .align 2, 0\n\
_08021534: .4byte gHitMarker\n\
_08021538:\n\
- adds r0, r5, 0\n\
- subs r0, 0xA\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r0, 0x3\n\
- bls _08021564\n\
- ldr r1, _0802155C @ =gStatuses3\n\
- ldrb r0, [r7]\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- ldr r1, _08021560 @ =0x000400c0\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08021564\n\
- adds r0, r2, 0\n\
- b _08021576\n\
- .align 2, 0\n\
+ adds r0, r5, 0\n\
+ subs r0, 0xA\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ cmp r0, 0x3\n\
+ bls _08021564\n\
+ ldr r1, _0802155C @ =gStatuses3\n\
+ ldrb r0, [r7]\n\
+ lsls r0, 2\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ ldr r1, _08021560 @ =0x000400c0\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _08021564\n\
+ adds r0, r2, 0\n\
+ b _08021576\n\
+ .align 2, 0\n\
_0802155C: .4byte gStatuses3\n\
_08021560: .4byte 0x000400c0\n\
_08021564:\n\
- ldrb r1, [r3]\n\
- ldrh r2, [r4]\n\
- movs r0, 0\n\
- bl EmitBattleAnimation\n\
- ldrb r0, [r7]\n\
- bl MarkBufferBankForExecution\n\
- ldr r0, [r6]\n\
+ ldrb r1, [r3]\n\
+ ldrh r2, [r4]\n\
+ movs r0, 0\n\
+ bl EmitBattleAnimation\n\
+ ldrb r0, [r7]\n\
+ bl MarkBufferBankForExecution\n\
+ ldr r0, [r6]\n\
_08021576:\n\
- adds r0, 0xA\n\
- str r0, [r6]\n\
+ adds r0, 0xA\n\
+ str r0, [r6]\n\
_0802157A:\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
.syntax divided ");
}
#endif // NONMATCHING
@@ -8204,265 +8204,265 @@ static void atk48_playstatchangeanimation(void)
{
asm(".syntax unified\n\
push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- sub sp, 0x4\n\
- movs r7, 0\n\
- movs r0, 0\n\
- mov r8, r0\n\
- movs r3, 0\n\
- ldr r5, _08021670 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r5]\n\
- ldrb r0, [r0, 0x1]\n\
- str r3, [sp]\n\
- bl GetBattleBank\n\
- ldr r2, _08021674 @ =gActiveBank\n\
- strb r0, [r2]\n\
- ldr r0, [r5]\n\
- ldrb r4, [r0, 0x2]\n\
- ldrb r1, [r0, 0x3]\n\
- movs r0, 0x1\n\
- ands r0, r1\n\
- ldr r3, [sp]\n\
- cmp r0, 0\n\
- beq _08021710\n\
- movs r0, 0x2\n\
- ands r0, r1\n\
- movs r1, 0x15\n\
- cmp r0, 0\n\
- beq _0802163C\n\
- movs r1, 0x2D\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ sub sp, 0x4\n\
+ movs r7, 0\n\
+ movs r0, 0\n\
+ mov r8, r0\n\
+ movs r3, 0\n\
+ ldr r5, _08021670 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r5]\n\
+ ldrb r0, [r0, 0x1]\n\
+ str r3, [sp]\n\
+ bl GetBattleBank\n\
+ ldr r2, _08021674 @ =gActiveBank\n\
+ strb r0, [r2]\n\
+ ldr r0, [r5]\n\
+ ldrb r4, [r0, 0x2]\n\
+ ldrb r1, [r0, 0x3]\n\
+ movs r0, 0x1\n\
+ ands r0, r1\n\
+ ldr r3, [sp]\n\
+ cmp r0, 0\n\
+ beq _08021710\n\
+ movs r0, 0x2\n\
+ ands r0, r1\n\
+ movs r1, 0x15\n\
+ cmp r0, 0\n\
+ beq _0802163C\n\
+ movs r1, 0x2D\n\
_0802163C:\n\
- cmp r4, 0\n\
- beq _080216E4\n\
- movs r0, 0x1\n\
- mov r10, r0\n\
- ldr r0, _08021678 @ =gUnknown_02024A98\n\
- mov r9, r0\n\
- lsls r5, r1, 16\n\
+ cmp r4, 0\n\
+ beq _080216E4\n\
+ movs r0, 0x1\n\
+ mov r10, r0\n\
+ ldr r0, _08021678 @ =gUnknown_02024A98\n\
+ mov r9, r0\n\
+ lsls r5, r1, 16\n\
_0802164A:\n\
- adds r0, r4, 0\n\
- mov r1, r10\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _080216D6\n\
- ldr r0, _08021670 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r0]\n\
- ldrb r1, [r0, 0x3]\n\
- movs r0, 0x8\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _0802167C\n\
- ldr r0, _08021674 @ =gActiveBank\n\
- ldrb r1, [r0]\n\
- movs r0, 0x58\n\
- muls r0, r1\n\
- adds r0, r7, r0\n\
- b _080216C4\n\
- .align 2, 0\n\
+ adds r0, r4, 0\n\
+ mov r1, r10\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _080216D6\n\
+ ldr r0, _08021670 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r0]\n\
+ ldrb r1, [r0, 0x3]\n\
+ movs r0, 0x8\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0802167C\n\
+ ldr r0, _08021674 @ =gActiveBank\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0x58\n\
+ muls r0, r1\n\
+ adds r0, r7, r0\n\
+ b _080216C4\n\
+ .align 2, 0\n\
_08021670: .4byte gBattlescriptCurrInstr\n\
_08021674: .4byte gActiveBank\n\
_08021678: .4byte gUnknown_02024A98\n\
_0802167C:\n\
- ldr r6, _08021700 @ =gActiveBank\n\
- ldrb r0, [r6]\n\
- str r3, [sp]\n\
- bl GetBankIdentity\n\
- mov r1, r10\n\
- ands r1, r0\n\
- lsls r0, r1, 1\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- ldr r1, _08021704 @ =gSideTimer\n\
- adds r0, r1\n\
- ldrb r0, [r0, 0x2]\n\
- ldr r3, [sp]\n\
- cmp r0, 0\n\
- bne _080216D6\n\
- ldr r0, _08021708 @ =gBattleMons\n\
- ldrb r2, [r6]\n\
- movs r1, 0x58\n\
- muls r2, r1\n\
- adds r0, r2, r0\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x1D\n\
- beq _080216D6\n\
- cmp r0, 0x49\n\
- beq _080216D6\n\
- cmp r0, 0x33\n\
- bne _080216BA\n\
- cmp r7, 0x6\n\
- beq _080216D6\n\
+ ldr r6, _08021700 @ =gActiveBank\n\
+ ldrb r0, [r6]\n\
+ str r3, [sp]\n\
+ bl GetBankIdentity\n\
+ mov r1, r10\n\
+ ands r1, r0\n\
+ lsls r0, r1, 1\n\
+ adds r0, r1\n\
+ lsls r0, 2\n\
+ ldr r1, _08021704 @ =gSideTimer\n\
+ adds r0, r1\n\
+ ldrb r0, [r0, 0x2]\n\
+ ldr r3, [sp]\n\
+ cmp r0, 0\n\
+ bne _080216D6\n\
+ ldr r0, _08021708 @ =gBattleMons\n\
+ ldrb r2, [r6]\n\
+ movs r1, 0x58\n\
+ muls r2, r1\n\
+ adds r0, r2, r0\n\
+ adds r0, 0x20\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x1D\n\
+ beq _080216D6\n\
+ cmp r0, 0x49\n\
+ beq _080216D6\n\
+ cmp r0, 0x33\n\
+ bne _080216BA\n\
+ cmp r7, 0x6\n\
+ beq _080216D6\n\
_080216BA:\n\
- cmp r0, 0x34\n\
- bne _080216C2\n\
- cmp r7, 0x1\n\
- beq _080216D6\n\
+ cmp r0, 0x34\n\
+ bne _080216C2\n\
+ cmp r7, 0x1\n\
+ beq _080216D6\n\
_080216C2:\n\
- adds r0, r7, r2\n\
+ adds r0, r7, r2\n\
_080216C4:\n\
- add r0, r9\n\
- ldrb r0, [r0]\n\
- lsls r0, 24\n\
- asrs r0, 24\n\
- cmp r0, 0\n\
- ble _080216D6\n\
- lsrs r0, r5, 16\n\
- mov r8, r0\n\
- adds r3, 0x1\n\
+ add r0, r9\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 24\n\
+ asrs r0, 24\n\
+ cmp r0, 0\n\
+ ble _080216D6\n\
+ lsrs r0, r5, 16\n\
+ mov r8, r0\n\
+ adds r3, 0x1\n\
_080216D6:\n\
- lsrs r4, 1\n\
- movs r1, 0x80\n\
- lsls r1, 9\n\
- adds r5, r1\n\
- adds r7, 0x1\n\
- cmp r4, 0\n\
- bne _0802164A\n\
+ lsrs r4, 1\n\
+ movs r1, 0x80\n\
+ lsls r1, 9\n\
+ adds r5, r1\n\
+ adds r7, 0x1\n\
+ cmp r4, 0\n\
+ bne _0802164A\n\
_080216E4:\n\
- ldr r0, _0802170C @ =gBattlescriptCurrInstr\n\
- mov r9, r0\n\
- cmp r3, 0x1\n\
- ble _08021772\n\
- ldr r0, [r0]\n\
- ldrb r1, [r0, 0x3]\n\
- movs r0, 0x2\n\
- ands r0, r1\n\
- movs r1, 0x39\n\
- mov r8, r1\n\
- cmp r0, 0\n\
- beq _08021772\n\
- movs r0, 0x3A\n\
- b _08021770\n\
- .align 2, 0\n\
+ ldr r0, _0802170C @ =gBattlescriptCurrInstr\n\
+ mov r9, r0\n\
+ cmp r3, 0x1\n\
+ ble _08021772\n\
+ ldr r0, [r0]\n\
+ ldrb r1, [r0, 0x3]\n\
+ movs r0, 0x2\n\
+ ands r0, r1\n\
+ movs r1, 0x39\n\
+ mov r8, r1\n\
+ cmp r0, 0\n\
+ beq _08021772\n\
+ movs r0, 0x3A\n\
+ b _08021770\n\
+ .align 2, 0\n\
_08021700: .4byte gActiveBank\n\
_08021704: .4byte gSideTimer\n\
_08021708: .4byte gBattleMons\n\
_0802170C: .4byte gBattlescriptCurrInstr\n\
_08021710:\n\
- movs r0, 0x2\n\
- ands r0, r1\n\
- movs r1, 0xE\n\
- cmp r0, 0\n\
- beq _0802171C\n\
- movs r1, 0x26\n\
+ movs r0, 0x2\n\
+ ands r0, r1\n\
+ movs r1, 0xE\n\
+ cmp r0, 0\n\
+ beq _0802171C\n\
+ movs r1, 0x26\n\
_0802171C:\n\
- mov r9, r5\n\
- cmp r4, 0\n\
- beq _08021758\n\
- ldr r6, _0802178C @ =gUnknown_02024A98\n\
- adds r5, r2, 0\n\
- lsls r2, r1, 16\n\
+ mov r9, r5\n\
+ cmp r4, 0\n\
+ beq _08021758\n\
+ ldr r6, _0802178C @ =gUnknown_02024A98\n\
+ adds r5, r2, 0\n\
+ lsls r2, r1, 16\n\
_08021728:\n\
- movs r0, 0x1\n\
- ands r0, r4\n\
- cmp r0, 0\n\
- beq _0802174A\n\
- ldrb r1, [r5]\n\
- movs r0, 0x58\n\
- muls r0, r1\n\
- adds r0, r7, r0\n\
- adds r0, r6\n\
- ldrb r0, [r0]\n\
- lsls r0, 24\n\
- asrs r0, 24\n\
- cmp r0, 0xB\n\
- bgt _0802174A\n\
- lsrs r1, r2, 16\n\
- mov r8, r1\n\
- adds r3, 0x1\n\
+ movs r0, 0x1\n\
+ ands r0, r4\n\
+ cmp r0, 0\n\
+ beq _0802174A\n\
+ ldrb r1, [r5]\n\
+ movs r0, 0x58\n\
+ muls r0, r1\n\
+ adds r0, r7, r0\n\
+ adds r0, r6\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 24\n\
+ asrs r0, 24\n\
+ cmp r0, 0xB\n\
+ bgt _0802174A\n\
+ lsrs r1, r2, 16\n\
+ mov r8, r1\n\
+ adds r3, 0x1\n\
_0802174A:\n\
- lsrs r4, 1\n\
- movs r0, 0x80\n\
- lsls r0, 9\n\
- adds r2, r0\n\
- adds r7, 0x1\n\
- cmp r4, 0\n\
- bne _08021728\n\
+ lsrs r4, 1\n\
+ movs r0, 0x80\n\
+ lsls r0, 9\n\
+ adds r2, r0\n\
+ adds r7, 0x1\n\
+ cmp r4, 0\n\
+ bne _08021728\n\
_08021758:\n\
- cmp r3, 0x1\n\
- ble _08021772\n\
- mov r1, r9\n\
- ldr r0, [r1]\n\
- ldrb r1, [r0, 0x3]\n\
- movs r0, 0x2\n\
- ands r0, r1\n\
- movs r1, 0x37\n\
- mov r8, r1\n\
- cmp r0, 0\n\
- beq _08021772\n\
- movs r0, 0x38\n\
+ cmp r3, 0x1\n\
+ ble _08021772\n\
+ mov r1, r9\n\
+ ldr r0, [r1]\n\
+ ldrb r1, [r0, 0x3]\n\
+ movs r0, 0x2\n\
+ ands r0, r1\n\
+ movs r1, 0x37\n\
+ mov r8, r1\n\
+ cmp r0, 0\n\
+ beq _08021772\n\
+ movs r0, 0x38\n\
_08021770:\n\
- mov r8, r0\n\
+ mov r8, r0\n\
_08021772:\n\
- mov r1, r9\n\
- ldr r2, [r1]\n\
- ldrb r1, [r2, 0x3]\n\
- movs r0, 0x4\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08021790\n\
- cmp r3, 0x1\n\
- bgt _08021790\n\
- adds r0, r2, 0x4\n\
- mov r1, r9\n\
- b _080217E6\n\
- .align 2, 0\n\
+ mov r1, r9\n\
+ ldr r2, [r1]\n\
+ ldrb r1, [r2, 0x3]\n\
+ movs r0, 0x4\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _08021790\n\
+ cmp r3, 0x1\n\
+ bgt _08021790\n\
+ adds r0, r2, 0x4\n\
+ mov r1, r9\n\
+ b _080217E6\n\
+ .align 2, 0\n\
_0802178C: .4byte gUnknown_02024A98\n\
_08021790:\n\
- cmp r3, 0\n\
- beq _080217E0\n\
- ldr r0, _080217D0 @ =0x02000000\n\
- ldr r1, _080217D4 @ =0x000160dc\n\
- adds r4, r0, r1\n\
- ldrb r0, [r4]\n\
- cmp r0, 0\n\
- bne _080217E0\n\
- movs r0, 0\n\
- movs r1, 0x1\n\
- mov r2, r8\n\
- str r3, [sp]\n\
- bl EmitBattleAnimation\n\
- ldr r0, _080217D8 @ =gActiveBank\n\
- ldrb r0, [r0]\n\
- bl MarkBufferBankForExecution\n\
- ldr r0, _080217DC @ =gBattlescriptCurrInstr\n\
- ldr r0, [r0]\n\
- ldrb r1, [r0, 0x3]\n\
- movs r0, 0x4\n\
- ands r0, r1\n\
- ldr r3, [sp]\n\
- cmp r0, 0\n\
- beq _080217CC\n\
- cmp r3, 0x1\n\
- ble _080217CC\n\
- movs r0, 0x1\n\
- strb r0, [r4]\n\
+ cmp r3, 0\n\
+ beq _080217E0\n\
+ ldr r0, _080217D0 @ =0x02000000\n\
+ ldr r1, _080217D4 @ =0x000160dc\n\
+ adds r4, r0, r1\n\
+ ldrb r0, [r4]\n\
+ cmp r0, 0\n\
+ bne _080217E0\n\
+ movs r0, 0\n\
+ movs r1, 0x1\n\
+ mov r2, r8\n\
+ str r3, [sp]\n\
+ bl EmitBattleAnimation\n\
+ ldr r0, _080217D8 @ =gActiveBank\n\
+ ldrb r0, [r0]\n\
+ bl MarkBufferBankForExecution\n\
+ ldr r0, _080217DC @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r0]\n\
+ ldrb r1, [r0, 0x3]\n\
+ movs r0, 0x4\n\
+ ands r0, r1\n\
+ ldr r3, [sp]\n\
+ cmp r0, 0\n\
+ beq _080217CC\n\
+ cmp r3, 0x1\n\
+ ble _080217CC\n\
+ movs r0, 0x1\n\
+ strb r0, [r4]\n\
_080217CC:\n\
- ldr r1, _080217DC @ =gBattlescriptCurrInstr\n\
- b _080217E2\n\
- .align 2, 0\n\
+ ldr r1, _080217DC @ =gBattlescriptCurrInstr\n\
+ b _080217E2\n\
+ .align 2, 0\n\
_080217D0: .4byte 0x02000000\n\
_080217D4: .4byte 0x000160dc\n\
_080217D8: .4byte gActiveBank\n\
_080217DC: .4byte gBattlescriptCurrInstr\n\
_080217E0:\n\
- mov r1, r9\n\
+ mov r1, r9\n\
_080217E2:\n\
- ldr r0, [r1]\n\
- adds r0, 0x4\n\
+ ldr r0, [r1]\n\
+ adds r0, 0x4\n\
_080217E6:\n\
- str r0, [r1]\n\
- add sp, 0x4\n\
- pop {r3-r5}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- mov r10, r5\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
+ str r0, [r1]\n\
+ add sp, 0x4\n\
+ pop {r3-r5}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ mov r10, r5\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
.syntax divided");
}
@@ -8612,243 +8612,243 @@ __attribute__((naked))
static void atk49_moveendturn(void)
{
asm(".syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- sub sp, 0x18\n\
- movs r0, 0\n\
- mov r10, r0\n\
- ldr r0, _08021834 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r0]\n\
- ldrb r1, [r0, 0x1]\n\
- str r1, [sp, 0x10]\n\
- ldrb r0, [r0, 0x2]\n\
- str r0, [sp, 0x14]\n\
- ldr r1, _08021838 @ =gBattleMons\n\
- ldr r0, _0802183C @ =gBankAttacker\n\
- ldrb r2, [r0]\n\
- movs r0, 0x58\n\
- muls r0, r2\n\
- adds r1, r0, r1\n\
- ldrh r0, [r1, 0x2E]\n\
- cmp r0, 0xAF\n\
- bne _08021844\n\
- ldr r1, _08021840 @ =gEnigmaBerries\n\
- lsls r0, r2, 3\n\
- subs r0, r2\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldrb r0, [r0, 0x7]\n\
- b _0802184E\n\
- .align 2, 0\n\
+ push {r4-r7,lr}\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ sub sp, 0x18\n\
+ movs r0, 0\n\
+ mov r10, r0\n\
+ ldr r0, _08021834 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r0]\n\
+ ldrb r1, [r0, 0x1]\n\
+ str r1, [sp, 0x10]\n\
+ ldrb r0, [r0, 0x2]\n\
+ str r0, [sp, 0x14]\n\
+ ldr r1, _08021838 @ =gBattleMons\n\
+ ldr r0, _0802183C @ =gBankAttacker\n\
+ ldrb r2, [r0]\n\
+ movs r0, 0x58\n\
+ muls r0, r2\n\
+ adds r1, r0, r1\n\
+ ldrh r0, [r1, 0x2E]\n\
+ cmp r0, 0xAF\n\
+ bne _08021844\n\
+ ldr r1, _08021840 @ =gEnigmaBerries\n\
+ lsls r0, r2, 3\n\
+ subs r0, r2\n\
+ lsls r0, 2\n\
+ adds r0, r1\n\
+ ldrb r0, [r0, 0x7]\n\
+ b _0802184E\n\
+ .align 2, 0\n\
_08021834: .4byte gBattlescriptCurrInstr\n\
_08021838: .4byte gBattleMons\n\
_0802183C: .4byte gBankAttacker\n\
_08021840: .4byte gEnigmaBerries\n\
_08021844:\n\
- ldrh r0, [r1, 0x2E]\n\
- bl ItemId_GetHoldEffect\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
+ ldrh r0, [r1, 0x2E]\n\
+ bl ItemId_GetHoldEffect\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
_0802184E:\n\
- str r0, [sp, 0x8]\n\
- ldr r0, _0802186C @ =gBankAttacker\n\
- ldrb r1, [r0]\n\
- lsls r1, 1\n\
- ldr r0, _08021870 @ =0x020160e8\n\
- adds r1, r0\n\
- str r1, [sp, 0xC]\n\
- subs r0, 0xCC\n\
- ldrb r0, [r0]\n\
- cmp r0, 0\n\
- beq _080218C0\n\
- movs r2, 0x3F\n\
- ands r2, r0\n\
- str r2, [sp, 0x4]\n\
- b _080218D2\n\
- .align 2, 0\n\
+ str r0, [sp, 0x8]\n\
+ ldr r0, _0802186C @ =gBankAttacker\n\
+ ldrb r1, [r0]\n\
+ lsls r1, 1\n\
+ ldr r0, _08021870 @ =0x020160e8\n\
+ adds r1, r0\n\
+ str r1, [sp, 0xC]\n\
+ subs r0, 0xCC\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0\n\
+ beq _080218C0\n\
+ movs r2, 0x3F\n\
+ ands r2, r0\n\
+ str r2, [sp, 0x4]\n\
+ b _080218D2\n\
+ .align 2, 0\n\
_0802186C: .4byte gBankAttacker\n\
_08021870: .4byte 0x020160e8\n\
_08021874:\n\
- strb r2, [r7]\n\
- ldr r0, [r5]\n\
- orrs r0, r6\n\
- str r0, [r5]\n\
- ldr r0, _080218AC @ =0x02000000\n\
- ldr r3, _080218B0 @ =0x0001600c\n\
- adds r0, r3\n\
- strb r4, [r0]\n\
- bl MoveValuesCleanUp\n\
- ldr r2, _080218B4 @ =gBattleScriptsEffectsTable\n\
- mov r4, r8\n\
- ldrh r1, [r4]\n\
- lsls r0, r1, 1\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- add r0, r9\n\
- ldrb r0, [r0]\n\
- lsls r0, 2\n\
- adds r0, r2\n\
- ldr r0, [r0]\n\
- bl b_movescr_stack_push\n\
- ldr r1, _080218B8 @ =gBattlescriptCurrInstr\n\
- ldr r0, _080218BC @ =gUnknown_081D9B2D\n\
- bl _0802229C\n\
- .align 2, 0\n\
+ strb r2, [r7]\n\
+ ldr r0, [r5]\n\
+ orrs r0, r6\n\
+ str r0, [r5]\n\
+ ldr r0, _080218AC @ =0x02000000\n\
+ ldr r3, _080218B0 @ =0x0001600c\n\
+ adds r0, r3\n\
+ strb r4, [r0]\n\
+ bl MoveValuesCleanUp\n\
+ ldr r2, _080218B4 @ =gBattleScriptsEffectsTable\n\
+ mov r4, r8\n\
+ ldrh r1, [r4]\n\
+ lsls r0, r1, 1\n\
+ adds r0, r1\n\
+ lsls r0, 2\n\
+ add r0, r9\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 2\n\
+ adds r0, r2\n\
+ ldr r0, [r0]\n\
+ bl b_movescr_stack_push\n\
+ ldr r1, _080218B8 @ =gBattlescriptCurrInstr\n\
+ ldr r0, _080218BC @ =gUnknown_081D9B2D\n\
+ bl _0802229C\n\
+ .align 2, 0\n\
_080218AC: .4byte 0x02000000\n\
_080218B0: .4byte 0x0001600c\n\
_080218B4: .4byte gBattleScriptsEffectsTable\n\
_080218B8: .4byte gBattlescriptCurrInstr\n\
_080218BC: .4byte gUnknown_081D9B2D\n\
_080218C0:\n\
- ldr r2, _080218D8 @ =gBattleMoves\n\
- ldr r0, _080218DC @ =gCurrentMove\n\
- ldrh r1, [r0]\n\
- lsls r0, r1, 1\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r0, r2\n\
- ldrb r0, [r0, 0x2]\n\
- str r0, [sp, 0x4]\n\
+ ldr r2, _080218D8 @ =gBattleMoves\n\
+ ldr r0, _080218DC @ =gCurrentMove\n\
+ ldrh r1, [r0]\n\
+ lsls r0, r1, 1\n\
+ adds r0, r1\n\
+ lsls r0, 2\n\
+ adds r0, r2\n\
+ ldrb r0, [r0, 0x2]\n\
+ str r0, [sp, 0x4]\n\
_080218D2:\n\
- ldr r5, _080218E0 @ =0x02000000\n\
- mov r12, r5\n\
- b _080218EE\n\
- .align 2, 0\n\
+ ldr r5, _080218E0 @ =0x02000000\n\
+ mov r12, r5\n\
+ b _080218EE\n\
+ .align 2, 0\n\
_080218D8: .4byte gBattleMoves\n\
_080218DC: .4byte gCurrentMove\n\
_080218E0: .4byte 0x02000000\n\
_080218E4:\n\
- mov r0, r10\n\
- cmp r0, 0\n\
- beq _080218EE\n\
- bl _08022286\n\
+ mov r0, r10\n\
+ cmp r0, 0\n\
+ beq _080218EE\n\
+ bl _08022286\n\
_080218EE:\n\
- ldr r0, _08021908 @ =0x0001600c\n\
- add r0, r12\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x11\n\
- bls _080218FC\n\
- bl _0802224E\n\
+ ldr r0, _08021908 @ =0x0001600c\n\
+ add r0, r12\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x11\n\
+ bls _080218FC\n\
+ bl _0802224E\n\
_080218FC:\n\
- lsls r0, 2\n\
- ldr r1, _0802190C @ =_08021910\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- mov pc, r0\n\
- .align 2, 0\n\
+ lsls r0, 2\n\
+ ldr r1, _0802190C @ =_08021910\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ mov pc, r0\n\
+ .align 2, 0\n\
_08021908: .4byte 0x0001600c\n\
_0802190C: .4byte _08021910\n\
- .align 2, 0\n\
+ .align 2, 0\n\
_08021910:\n\
- .4byte _08021958\n\
- .4byte _08021A34\n\
- .4byte _08021AF0\n\
- .4byte _08021B20\n\
- .4byte _08021B44\n\
- .4byte _08021B78\n\
- .4byte _08021B9C\n\
- .4byte _08021C40\n\
- .4byte _08021C78\n\
- .4byte _08021CA8\n\
- .4byte _08021CCC\n\
- .4byte _08021D18\n\
- .4byte _08021DAC\n\
- .4byte _08021E30\n\
- .4byte _08021E70\n\
- .4byte _08022068\n\
- .4byte _080221C0\n\
- .4byte _0802224E\n\
+ .4byte _08021958\n\
+ .4byte _08021A34\n\
+ .4byte _08021AF0\n\
+ .4byte _08021B20\n\
+ .4byte _08021B44\n\
+ .4byte _08021B78\n\
+ .4byte _08021B9C\n\
+ .4byte _08021C40\n\
+ .4byte _08021C78\n\
+ .4byte _08021CA8\n\
+ .4byte _08021CCC\n\
+ .4byte _08021D18\n\
+ .4byte _08021DAC\n\
+ .4byte _08021E30\n\
+ .4byte _08021E70\n\
+ .4byte _08022068\n\
+ .4byte _080221C0\n\
+ .4byte _0802224E\n\
_08021958:\n\
- ldr r5, _08021A08 @ =gBattleMons\n\
- ldr r2, _08021A0C @ =gBankTarget\n\
- ldrb r4, [r2]\n\
- movs r6, 0x58\n\
- adds r3, r4, 0\n\
- muls r3, r6\n\
- adds r0, r5, 0\n\
- adds r0, 0x50\n\
- adds r0, r3, r0\n\
- ldr r1, [r0]\n\
- movs r0, 0x80\n\
- lsls r0, 16\n\
- ands r1, r0\n\
- cmp r1, 0\n\
- beq _080219FE\n\
- adds r0, r3, r5\n\
- ldrh r0, [r0, 0x28]\n\
- cmp r0, 0\n\
- beq _080219FE\n\
- ldr r0, _08021A10 @ =gBankAttacker\n\
- ldrb r1, [r0]\n\
- cmp r1, r4\n\
- beq _080219FE\n\
- adds r0, r1, 0\n\
- bl GetBankSide\n\
- adds r4, r0, 0\n\
- ldr r1, _08021A0C @ =gBankTarget\n\
- ldrb r0, [r1]\n\
- bl GetBankSide\n\
- lsls r4, 24\n\
- lsls r0, 24\n\
- cmp r4, r0\n\
- beq _080219FE\n\
- ldr r0, _08021A14 @ =gBattleMoveFlags\n\
- ldrb r1, [r0]\n\
- movs r0, 0x29\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _080219FE\n\
- ldr r2, _08021A18 @ =gProtectStructs\n\
- ldr r4, _08021A0C @ =gBankTarget\n\
- ldrb r3, [r4]\n\
- lsls r1, r3, 4\n\
- adds r0, r2, 0x4\n\
- adds r0, r1, r0\n\
- ldr r0, [r0]\n\
- cmp r0, 0\n\
- bne _080219C8\n\
- adds r0, r2, 0\n\
- adds r0, 0x8\n\
- adds r0, r1, r0\n\
- ldr r0, [r0]\n\
- cmp r0, 0\n\
- beq _080219FE\n\
+ ldr r5, _08021A08 @ =gBattleMons\n\
+ ldr r2, _08021A0C @ =gBankTarget\n\
+ ldrb r4, [r2]\n\
+ movs r6, 0x58\n\
+ adds r3, r4, 0\n\
+ muls r3, r6\n\
+ adds r0, r5, 0\n\
+ adds r0, 0x50\n\
+ adds r0, r3, r0\n\
+ ldr r1, [r0]\n\
+ movs r0, 0x80\n\
+ lsls r0, 16\n\
+ ands r1, r0\n\
+ cmp r1, 0\n\
+ beq _080219FE\n\
+ adds r0, r3, r5\n\
+ ldrh r0, [r0, 0x28]\n\
+ cmp r0, 0\n\
+ beq _080219FE\n\
+ ldr r0, _08021A10 @ =gBankAttacker\n\
+ ldrb r1, [r0]\n\
+ cmp r1, r4\n\
+ beq _080219FE\n\
+ adds r0, r1, 0\n\
+ bl GetBankSide\n\
+ adds r4, r0, 0\n\
+ ldr r1, _08021A0C @ =gBankTarget\n\
+ ldrb r0, [r1]\n\
+ bl GetBankSide\n\
+ lsls r4, 24\n\
+ lsls r0, 24\n\
+ cmp r4, r0\n\
+ beq _080219FE\n\
+ ldr r0, _08021A14 @ =gBattleMoveFlags\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0x29\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ bne _080219FE\n\
+ ldr r2, _08021A18 @ =gProtectStructs\n\
+ ldr r4, _08021A0C @ =gBankTarget\n\
+ ldrb r3, [r4]\n\
+ lsls r1, r3, 4\n\
+ adds r0, r2, 0x4\n\
+ adds r0, r1, r0\n\
+ ldr r0, [r0]\n\
+ cmp r0, 0\n\
+ bne _080219C8\n\
+ adds r0, r2, 0\n\
+ adds r0, 0x8\n\
+ adds r0, r1, r0\n\
+ ldr r0, [r0]\n\
+ cmp r0, 0\n\
+ beq _080219FE\n\
_080219C8:\n\
- ldr r2, _08021A1C @ =gBattleMoves\n\
- ldr r0, _08021A20 @ =gCurrentMove\n\
- ldrh r1, [r0]\n\
- lsls r0, r1, 1\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r0, r2\n\
- ldrb r0, [r0, 0x1]\n\
- cmp r0, 0\n\
- beq _080219FE\n\
- adds r0, r3, 0\n\
- muls r0, r6\n\
- adds r1, r0, r5\n\
- ldrb r2, [r1, 0x19]\n\
- movs r0, 0x19\n\
- ldrsb r0, [r1, r0]\n\
- cmp r0, 0xB\n\
- bgt _080219FE\n\
- adds r0, r2, 0x1\n\
- strb r0, [r1, 0x19]\n\
- bl b_movescr_stack_push_cursor\n\
- ldr r1, _08021A24 @ =gBattlescriptCurrInstr\n\
- ldr r0, _08021A28 @ =gUnknown_081D9132\n\
- str r0, [r1]\n\
- movs r5, 0x1\n\
- mov r10, r5\n\
+ ldr r2, _08021A1C @ =gBattleMoves\n\
+ ldr r0, _08021A20 @ =gCurrentMove\n\
+ ldrh r1, [r0]\n\
+ lsls r0, r1, 1\n\
+ adds r0, r1\n\
+ lsls r0, 2\n\
+ adds r0, r2\n\
+ ldrb r0, [r0, 0x1]\n\
+ cmp r0, 0\n\
+ beq _080219FE\n\
+ adds r0, r3, 0\n\
+ muls r0, r6\n\
+ adds r1, r0, r5\n\
+ ldrb r2, [r1, 0x19]\n\
+ movs r0, 0x19\n\
+ ldrsb r0, [r1, r0]\n\
+ cmp r0, 0xB\n\
+ bgt _080219FE\n\
+ adds r0, r2, 0x1\n\
+ strb r0, [r1, 0x19]\n\
+ bl b_movescr_stack_push_cursor\n\
+ ldr r1, _08021A24 @ =gBattlescriptCurrInstr\n\
+ ldr r0, _08021A28 @ =gUnknown_081D9132\n\
+ str r0, [r1]\n\
+ movs r5, 0x1\n\
+ mov r10, r5\n\
_080219FE:\n\
- ldr r2, _08021A2C @ =0x02000000\n\
- ldr r0, _08021A30 @ =0x0001600c\n\
- adds r1, r2, r0\n\
- b _08021E00\n\
- .align 2, 0\n\
+ ldr r2, _08021A2C @ =0x02000000\n\
+ ldr r0, _08021A30 @ =0x0001600c\n\
+ adds r1, r2, r0\n\
+ b _08021E00\n\
+ .align 2, 0\n\
_08021A08: .4byte gBattleMons\n\
_08021A0C: .4byte gBankTarget\n\
_08021A10: .4byte gBankAttacker\n\
@@ -8861,88 +8861,88 @@ _08021A28: .4byte gUnknown_081D9132\n\
_08021A2C: .4byte 0x02000000\n\
_08021A30: .4byte 0x0001600c\n\
_08021A34:\n\
- ldr r2, _08021AD0 @ =gBattleMons\n\
- ldr r1, _08021AD4 @ =gBankTarget\n\
- ldrb r4, [r1]\n\
- movs r3, 0x58\n\
- mov r12, r3\n\
- mov r3, r12\n\
- muls r3, r4\n\
- adds r7, r2, 0\n\
- adds r7, 0x4C\n\
- adds r6, r3, r7\n\
- ldr r5, [r6]\n\
- movs r0, 0x20\n\
- ands r0, r5\n\
- cmp r0, 0\n\
- bne _08021A54\n\
- b _08021DFA\n\
+ ldr r2, _08021AD0 @ =gBattleMons\n\
+ ldr r1, _08021AD4 @ =gBankTarget\n\
+ ldrb r4, [r1]\n\
+ movs r3, 0x58\n\
+ mov r12, r3\n\
+ mov r3, r12\n\
+ muls r3, r4\n\
+ adds r7, r2, 0\n\
+ adds r7, 0x4C\n\
+ adds r6, r3, r7\n\
+ ldr r5, [r6]\n\
+ movs r0, 0x20\n\
+ ands r0, r5\n\
+ cmp r0, 0\n\
+ bne _08021A54\n\
+ b _08021DFA\n\
_08021A54:\n\
- adds r0, r3, r2\n\
- ldrh r0, [r0, 0x28]\n\
- cmp r0, 0\n\
- bne _08021A5E\n\
- b _08021DFA\n\
+ adds r0, r3, r2\n\
+ ldrh r0, [r0, 0x28]\n\
+ cmp r0, 0\n\
+ bne _08021A5E\n\
+ b _08021DFA\n\
_08021A5E:\n\
- ldr r0, _08021AD8 @ =gBankAttacker\n\
- ldrb r0, [r0]\n\
- cmp r0, r4\n\
- bne _08021A68\n\
- b _08021DFA\n\
+ ldr r0, _08021AD8 @ =gBankAttacker\n\
+ ldrb r0, [r0]\n\
+ cmp r0, r4\n\
+ bne _08021A68\n\
+ b _08021DFA\n\
_08021A68:\n\
- ldr r0, _08021ADC @ =gSpecialStatuses\n\
- lsls r1, r4, 2\n\
- adds r1, r4\n\
- lsls r1, 2\n\
- adds r0, 0xC\n\
- adds r1, r0\n\
- ldr r0, [r1]\n\
- cmp r0, 0\n\
- bne _08021A7C\n\
- b _08021DFA\n\
+ ldr r0, _08021ADC @ =gSpecialStatuses\n\
+ lsls r1, r4, 2\n\
+ adds r1, r4\n\
+ lsls r1, 2\n\
+ adds r0, 0xC\n\
+ adds r1, r0\n\
+ ldr r0, [r1]\n\
+ cmp r0, 0\n\
+ bne _08021A7C\n\
+ b _08021DFA\n\
_08021A7C:\n\
- ldr r0, _08021AE0 @ =gBattleMoveFlags\n\
- ldrb r1, [r0]\n\
- movs r0, 0x29\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08021A8A\n\
- b _08021DFA\n\
+ ldr r0, _08021AE0 @ =gBattleMoveFlags\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0x29\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _08021A8A\n\
+ b _08021DFA\n\
_08021A8A:\n\
- ldr r4, [sp, 0x4]\n\
- cmp r4, 0xA\n\
- beq _08021A92\n\
- b _08021DFA\n\
+ ldr r4, [sp, 0x4]\n\
+ cmp r4, 0xA\n\
+ beq _08021A92\n\
+ b _08021DFA\n\
_08021A92:\n\
- movs r0, 0x21\n\
- negs r0, r0\n\
- ands r5, r0\n\
- str r5, [r6]\n\
- ldr r4, _08021AE4 @ =gActiveBank\n\
- ldr r5, _08021AD4 @ =gBankTarget\n\
- ldrb r0, [r5]\n\
- strb r0, [r4]\n\
- ldrb r0, [r5]\n\
- mov r1, r12\n\
- muls r1, r0\n\
- adds r0, r1, 0\n\
- adds r0, r7\n\
- str r0, [sp]\n\
- movs r0, 0\n\
- movs r1, 0x28\n\
- movs r2, 0\n\
- movs r3, 0x4\n\
- bl EmitSetAttributes\n\
- ldrb r0, [r4]\n\
- bl MarkBufferBankForExecution\n\
- bl b_movescr_stack_push_cursor\n\
- ldr r1, _08021AE8 @ =gBattlescriptCurrInstr\n\
- ldr r0, _08021AEC @ =gUnknown_081D955D\n\
- str r0, [r1]\n\
- movs r2, 0x1\n\
- mov r10, r2\n\
- b _08021DFA\n\
- .align 2, 0\n\
+ movs r0, 0x21\n\
+ negs r0, r0\n\
+ ands r5, r0\n\
+ str r5, [r6]\n\
+ ldr r4, _08021AE4 @ =gActiveBank\n\
+ ldr r5, _08021AD4 @ =gBankTarget\n\
+ ldrb r0, [r5]\n\
+ strb r0, [r4]\n\
+ ldrb r0, [r5]\n\
+ mov r1, r12\n\
+ muls r1, r0\n\
+ adds r0, r1, 0\n\
+ adds r0, r7\n\
+ str r0, [sp]\n\
+ movs r0, 0\n\
+ movs r1, 0x28\n\
+ movs r2, 0\n\
+ movs r3, 0x4\n\
+ bl EmitSetAttributes\n\
+ ldrb r0, [r4]\n\
+ bl MarkBufferBankForExecution\n\
+ bl b_movescr_stack_push_cursor\n\
+ ldr r1, _08021AE8 @ =gBattlescriptCurrInstr\n\
+ ldr r0, _08021AEC @ =gUnknown_081D955D\n\
+ str r0, [r1]\n\
+ movs r2, 0x1\n\
+ mov r10, r2\n\
+ b _08021DFA\n\
+ .align 2, 0\n\
_08021AD0: .4byte gBattleMons\n\
_08021AD4: .4byte gBankTarget\n\
_08021AD8: .4byte gBankAttacker\n\
@@ -8952,170 +8952,170 @@ _08021AE4: .4byte gActiveBank\n\
_08021AE8: .4byte gBattlescriptCurrInstr\n\
_08021AEC: .4byte gUnknown_081D955D\n\
_08021AF0:\n\
- ldr r0, _08021B14 @ =gBankTarget\n\
- ldrb r1, [r0]\n\
- movs r0, 0\n\
- str r0, [sp]\n\
- movs r0, 0x7\n\
- movs r2, 0\n\
- movs r3, 0\n\
- bl AbilityBattleEffects\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _08021B0C\n\
- movs r4, 0x1\n\
- mov r10, r4\n\
+ ldr r0, _08021B14 @ =gBankTarget\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0\n\
+ str r0, [sp]\n\
+ movs r0, 0x7\n\
+ movs r2, 0\n\
+ movs r3, 0\n\
+ bl AbilityBattleEffects\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _08021B0C\n\
+ movs r4, 0x1\n\
+ mov r10, r4\n\
_08021B0C:\n\
- ldr r2, _08021B18 @ =0x02000000\n\
- ldr r5, _08021B1C @ =0x0001600c\n\
- adds r1, r2, r5\n\
- b _08021E00\n\
- .align 2, 0\n\
+ ldr r2, _08021B18 @ =0x02000000\n\
+ ldr r5, _08021B1C @ =0x0001600c\n\
+ adds r1, r2, r5\n\
+ b _08021E00\n\
+ .align 2, 0\n\
_08021B14: .4byte gBankTarget\n\
_08021B18: .4byte 0x02000000\n\
_08021B1C: .4byte 0x0001600c\n\
_08021B20:\n\
- ldr r0, _08021B40 @ =gBankTarget\n\
- ldrb r1, [r0]\n\
- movs r0, 0\n\
- str r0, [sp]\n\
- movs r0, 0x4\n\
- movs r2, 0\n\
- movs r3, 0\n\
- bl AbilityBattleEffects\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- bne _08021B3A\n\
- b _08021DFA\n\
+ ldr r0, _08021B40 @ =gBankTarget\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0\n\
+ str r0, [sp]\n\
+ movs r0, 0x4\n\
+ movs r2, 0\n\
+ movs r3, 0\n\
+ bl AbilityBattleEffects\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ bne _08021B3A\n\
+ b _08021DFA\n\
_08021B3A:\n\
- movs r0, 0x1\n\
- mov r10, r0\n\
- b _08021DFA\n\
- .align 2, 0\n\
+ movs r0, 0x1\n\
+ mov r10, r0\n\
+ b _08021DFA\n\
+ .align 2, 0\n\
_08021B40: .4byte gBankTarget\n\
_08021B44:\n\
- movs r0, 0\n\
- str r0, [sp]\n\
- movs r0, 0x5\n\
- movs r1, 0\n\
- movs r2, 0\n\
- movs r3, 0\n\
- bl AbilityBattleEffects\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _08021B68\n\
- movs r4, 0x1\n\
- mov r10, r4\n\
- ldr r5, _08021B64 @ =0x02000000\n\
- mov r12, r5\n\
- b _0802224E\n\
- .align 2, 0\n\
+ movs r0, 0\n\
+ str r0, [sp]\n\
+ movs r0, 0x5\n\
+ movs r1, 0\n\
+ movs r2, 0\n\
+ movs r3, 0\n\
+ bl AbilityBattleEffects\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _08021B68\n\
+ movs r4, 0x1\n\
+ mov r10, r4\n\
+ ldr r5, _08021B64 @ =0x02000000\n\
+ mov r12, r5\n\
+ b _0802224E\n\
+ .align 2, 0\n\
_08021B64: .4byte 0x02000000\n\
_08021B68:\n\
- ldr r2, _08021B70 @ =0x02000000\n\
- ldr r0, _08021B74 @ =0x0001600c\n\
- adds r1, r2, r0\n\
- b _08021E00\n\
- .align 2, 0\n\
+ ldr r2, _08021B70 @ =0x02000000\n\
+ ldr r0, _08021B74 @ =0x0001600c\n\
+ adds r1, r2, r0\n\
+ b _08021E00\n\
+ .align 2, 0\n\
_08021B70: .4byte 0x02000000\n\
_08021B74: .4byte 0x0001600c\n\
_08021B78:\n\
- ldr r0, _08021B98 @ =gBankAttacker\n\
- ldrb r1, [r0]\n\
- movs r0, 0\n\
- str r0, [sp]\n\
- movs r0, 0x8\n\
- movs r2, 0\n\
- movs r3, 0\n\
- bl AbilityBattleEffects\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- bne _08021B92\n\
- b _08021DFA\n\
+ ldr r0, _08021B98 @ =gBankAttacker\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0\n\
+ str r0, [sp]\n\
+ movs r0, 0x8\n\
+ movs r2, 0\n\
+ movs r3, 0\n\
+ bl AbilityBattleEffects\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ bne _08021B92\n\
+ b _08021DFA\n\
_08021B92:\n\
- movs r1, 0x1\n\
- mov r10, r1\n\
- b _08021DFA\n\
- .align 2, 0\n\
+ movs r1, 0x1\n\
+ mov r10, r1\n\
+ b _08021DFA\n\
+ .align 2, 0\n\
_08021B98: .4byte gBankAttacker\n\
_08021B9C:\n\
- ldr r0, _08021C28 @ =gHitMarker\n\
- ldr r0, [r0]\n\
- movs r1, 0x80\n\
- lsls r1, 18\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08021BE0\n\
- ldr r4, [sp, 0x8]\n\
- cmp r4, 0x1D\n\
- bne _08021BE0\n\
- ldr r0, _08021C2C @ =gUnknown_02024BE8\n\
- ldrh r2, [r0]\n\
- adds r7, r0, 0\n\
- cmp r2, 0xA5\n\
- beq _08021BE0\n\
- ldr r5, [sp, 0xC]\n\
- ldrh r1, [r5]\n\
- cmp r1, 0\n\
- beq _08021BC8\n\
- ldr r0, _08021C30 @ =0x0000ffff\n\
- cmp r1, r0\n\
- bne _08021BE0\n\
+ ldr r0, _08021C28 @ =gHitMarker\n\
+ ldr r0, [r0]\n\
+ movs r1, 0x80\n\
+ lsls r1, 18\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _08021BE0\n\
+ ldr r4, [sp, 0x8]\n\
+ cmp r4, 0x1D\n\
+ bne _08021BE0\n\
+ ldr r0, _08021C2C @ =gUnknown_02024BE8\n\
+ ldrh r2, [r0]\n\
+ adds r7, r0, 0\n\
+ cmp r2, 0xA5\n\
+ beq _08021BE0\n\
+ ldr r5, [sp, 0xC]\n\
+ ldrh r1, [r5]\n\
+ cmp r1, 0\n\
+ beq _08021BC8\n\
+ ldr r0, _08021C30 @ =0x0000ffff\n\
+ cmp r1, r0\n\
+ bne _08021BE0\n\
_08021BC8:\n\
- cmp r2, 0xE2\n\
- bne _08021BDA\n\
- ldr r0, _08021C34 @ =gBattleMoveFlags\n\
- ldrb r1, [r0]\n\
- movs r0, 0x20\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _08021BDA\n\
- b _08022244\n\
+ cmp r2, 0xE2\n\
+ bne _08021BDA\n\
+ ldr r0, _08021C34 @ =gBattleMoveFlags\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0x20\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ bne _08021BDA\n\
+ b _08022244\n\
_08021BDA:\n\
- ldrh r0, [r7]\n\
- ldr r1, [sp, 0xC]\n\
- strh r0, [r1]\n\
+ ldrh r0, [r7]\n\
+ ldr r1, [sp, 0xC]\n\
+ strh r0, [r1]\n\
_08021BE0:\n\
- movs r4, 0\n\
- ldr r2, _08021C38 @ =gBattleMons\n\
- ldr r3, _08021C3C @ =gBankAttacker\n\
- ldrb r1, [r3]\n\
- movs r0, 0x58\n\
- muls r0, r1\n\
- adds r2, 0xC\n\
- adds r0, r2\n\
- ldrh r0, [r0]\n\
- ldr r5, [sp, 0xC]\n\
- ldrh r1, [r5]\n\
- mov r9, r3\n\
- cmp r0, r1\n\
- beq _08021C18\n\
- mov r6, r9\n\
- movs r3, 0x58\n\
- adds r5, r1, 0\n\
+ movs r4, 0\n\
+ ldr r2, _08021C38 @ =gBattleMons\n\
+ ldr r3, _08021C3C @ =gBankAttacker\n\
+ ldrb r1, [r3]\n\
+ movs r0, 0x58\n\
+ muls r0, r1\n\
+ adds r2, 0xC\n\
+ adds r0, r2\n\
+ ldrh r0, [r0]\n\
+ ldr r5, [sp, 0xC]\n\
+ ldrh r1, [r5]\n\
+ mov r9, r3\n\
+ cmp r0, r1\n\
+ beq _08021C18\n\
+ mov r6, r9\n\
+ movs r3, 0x58\n\
+ adds r5, r1, 0\n\
_08021C02:\n\
- adds r4, 0x1\n\
- cmp r4, 0x3\n\
- bgt _08021C18\n\
- lsls r0, r4, 1\n\
- ldrb r1, [r6]\n\
- muls r1, r3\n\
- adds r0, r1\n\
- adds r0, r2\n\
- ldrh r0, [r0]\n\
- cmp r0, r5\n\
- bne _08021C02\n\
+ adds r4, 0x1\n\
+ cmp r4, 0x3\n\
+ bgt _08021C18\n\
+ lsls r0, r4, 1\n\
+ ldrb r1, [r6]\n\
+ muls r1, r3\n\
+ adds r0, r1\n\
+ adds r0, r2\n\
+ ldrh r0, [r0]\n\
+ cmp r0, r5\n\
+ bne _08021C02\n\
_08021C18:\n\
- cmp r4, 0x4\n\
- beq _08021C1E\n\
- b _08022244\n\
+ cmp r4, 0x4\n\
+ beq _08021C1E\n\
+ b _08022244\n\
_08021C1E:\n\
- movs r0, 0\n\
- ldr r1, [sp, 0xC]\n\
+ movs r0, 0\n\
+ ldr r1, [sp, 0xC]\n\
_08021C22:\n\
- strh r0, [r1]\n\
- b _08022244\n\
- .align 2, 0\n\
+ strh r0, [r1]\n\
+ b _08022244\n\
+ .align 2, 0\n\
_08021C28: .4byte gHitMarker\n\
_08021C2C: .4byte gUnknown_02024BE8\n\
_08021C30: .4byte 0x0000ffff\n\
@@ -9123,166 +9123,166 @@ _08021C34: .4byte gBattleMoveFlags\n\
_08021C38: .4byte gBattleMons\n\
_08021C3C: .4byte gBankAttacker\n\
_08021C40:\n\
- movs r4, 0\n\
- ldr r0, _08021C6C @ =gNoOfAllBanks\n\
- ldrb r2, [r0]\n\
- cmp r4, r2\n\
- blt _08021C4C\n\
- b _08022244\n\
+ movs r4, 0\n\
+ ldr r0, _08021C6C @ =gNoOfAllBanks\n\
+ ldrb r2, [r0]\n\
+ cmp r4, r2\n\
+ blt _08021C4C\n\
+ b _08022244\n\
_08021C4C:\n\
- movs r5, 0\n\
- ldr r2, _08021C70 @ =0x020160f0\n\
- ldr r3, _08021C74 @ =gBattleMons\n\
+ movs r5, 0\n\
+ ldr r2, _08021C70 @ =0x020160f0\n\
+ ldr r3, _08021C74 @ =gBattleMons\n\
_08021C52:\n\
- ldrh r1, [r2]\n\
- cmp r1, 0\n\
- beq _08021C5C\n\
- strh r1, [r3, 0x2E]\n\
- strh r5, [r2]\n\
+ ldrh r1, [r2]\n\
+ cmp r1, 0\n\
+ beq _08021C5C\n\
+ strh r1, [r3, 0x2E]\n\
+ strh r5, [r2]\n\
_08021C5C:\n\
- adds r2, 0x2\n\
- adds r3, 0x58\n\
- adds r4, 0x1\n\
- ldrb r1, [r0]\n\
- cmp r4, r1\n\
- blt _08021C52\n\
- b _08022244\n\
- .align 2, 0\n\
+ adds r2, 0x2\n\
+ adds r3, 0x58\n\
+ adds r4, 0x1\n\
+ ldrb r1, [r0]\n\
+ cmp r4, r1\n\
+ blt _08021C52\n\
+ b _08022244\n\
+ .align 2, 0\n\
_08021C6C: .4byte gNoOfAllBanks\n\
_08021C70: .4byte 0x020160f0\n\
_08021C74: .4byte gBattleMons\n\
_08021C78:\n\
- movs r0, 0x3\n\
- movs r1, 0\n\
- movs r2, 0\n\
- bl ItemBattleEffects\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _08021C98\n\
- movs r2, 0x1\n\
- mov r10, r2\n\
- ldr r3, _08021C94 @ =0x02000000\n\
- mov r12, r3\n\
- b _0802224E\n\
- .align 2, 0\n\
+ movs r0, 0x3\n\
+ movs r1, 0\n\
+ movs r2, 0\n\
+ bl ItemBattleEffects\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _08021C98\n\
+ movs r2, 0x1\n\
+ mov r10, r2\n\
+ ldr r3, _08021C94 @ =0x02000000\n\
+ mov r12, r3\n\
+ b _0802224E\n\
+ .align 2, 0\n\
_08021C94: .4byte 0x02000000\n\
_08021C98:\n\
- ldr r2, _08021CA0 @ =0x02000000\n\
- ldr r4, _08021CA4 @ =0x0001600c\n\
- adds r1, r2, r4\n\
- b _08021E00\n\
- .align 2, 0\n\
+ ldr r2, _08021CA0 @ =0x02000000\n\
+ ldr r4, _08021CA4 @ =0x0001600c\n\
+ adds r1, r2, r4\n\
+ b _08021E00\n\
+ .align 2, 0\n\
_08021CA0: .4byte 0x02000000\n\
_08021CA4: .4byte 0x0001600c\n\
_08021CA8:\n\
- movs r0, 0x4\n\
- movs r1, 0\n\
- movs r2, 0\n\
- bl ItemBattleEffects\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _08021CBC\n\
- movs r5, 0x1\n\
- mov r10, r5\n\
+ movs r0, 0x4\n\
+ movs r1, 0\n\
+ movs r2, 0\n\
+ bl ItemBattleEffects\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _08021CBC\n\
+ movs r5, 0x1\n\
+ mov r10, r5\n\
_08021CBC:\n\
- ldr r2, _08021CC4 @ =0x02000000\n\
- ldr r0, _08021CC8 @ =0x0001600c\n\
- adds r1, r2, r0\n\
- b _08021E00\n\
- .align 2, 0\n\
+ ldr r2, _08021CC4 @ =0x02000000\n\
+ ldr r0, _08021CC8 @ =0x0001600c\n\
+ adds r1, r2, r0\n\
+ b _08021E00\n\
+ .align 2, 0\n\
_08021CC4: .4byte 0x02000000\n\
_08021CC8: .4byte 0x0001600c\n\
_08021CCC:\n\
- ldr r1, _08021D04 @ =gStatuses3\n\
- ldr r0, _08021D08 @ =gBankAttacker\n\
- ldrb r2, [r0]\n\
- lsls r0, r2, 2\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- ldr r1, _08021D0C @ =0x000400c0\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _08021CE2\n\
- b _08021DFA\n\
+ ldr r1, _08021D04 @ =gStatuses3\n\
+ ldr r0, _08021D08 @ =gBankAttacker\n\
+ ldrb r2, [r0]\n\
+ lsls r0, r2, 2\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ ldr r1, _08021D0C @ =0x000400c0\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ bne _08021CE2\n\
+ b _08021DFA\n\
_08021CE2:\n\
- ldr r0, _08021D10 @ =gHitMarker\n\
- ldr r0, [r0]\n\
- movs r1, 0x80\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _08021CF0\n\
- b _08021DFA\n\
+ ldr r0, _08021D10 @ =gHitMarker\n\
+ ldr r0, [r0]\n\
+ movs r1, 0x80\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ bne _08021CF0\n\
+ b _08021DFA\n\
_08021CF0:\n\
- ldr r4, _08021D14 @ =gActiveBank\n\
- strb r2, [r4]\n\
- movs r0, 0\n\
- movs r1, 0x1\n\
- bl EmitSpriteInvisibility\n\
- ldrb r0, [r4]\n\
- bl MarkBufferBankForExecution\n\
- b _08021DFA\n\
- .align 2, 0\n\
+ ldr r4, _08021D14 @ =gActiveBank\n\
+ strb r2, [r4]\n\
+ movs r0, 0\n\
+ movs r1, 0x1\n\
+ bl EmitSpriteInvisibility\n\
+ ldrb r0, [r4]\n\
+ bl MarkBufferBankForExecution\n\
+ b _08021DFA\n\
+ .align 2, 0\n\
_08021D04: .4byte gStatuses3\n\
_08021D08: .4byte gBankAttacker\n\
_08021D0C: .4byte 0x000400c0\n\
_08021D10: .4byte gHitMarker\n\
_08021D14: .4byte gActiveBank\n\
_08021D18:\n\
- ldr r0, _08021D88 @ =gBattleMoveFlags\n\
- ldrb r1, [r0]\n\
- movs r0, 0x29\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _08021D44\n\
- ldr r1, _08021D8C @ =gStatuses3\n\
- ldr r0, _08021D90 @ =gBankAttacker\n\
- ldrb r2, [r0]\n\
- lsls r0, r2, 2\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- ldr r1, _08021D94 @ =0x000400c0\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08021D44\n\
- adds r0, r2, 0\n\
- bl sub_8015660\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _08021D7E\n\
+ ldr r0, _08021D88 @ =gBattleMoveFlags\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0x29\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ bne _08021D44\n\
+ ldr r1, _08021D8C @ =gStatuses3\n\
+ ldr r0, _08021D90 @ =gBankAttacker\n\
+ ldrb r2, [r0]\n\
+ lsls r0, r2, 2\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ ldr r1, _08021D94 @ =0x000400c0\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _08021D44\n\
+ adds r0, r2, 0\n\
+ bl sub_8015660\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _08021D7E\n\
_08021D44:\n\
- ldr r4, _08021D98 @ =gActiveBank\n\
- ldr r5, _08021D90 @ =gBankAttacker\n\
- ldrb r0, [r5]\n\
- strb r0, [r4]\n\
- movs r0, 0\n\
- movs r1, 0\n\
- bl EmitSpriteInvisibility\n\
- ldrb r0, [r4]\n\
- bl MarkBufferBankForExecution\n\
- ldr r0, _08021D8C @ =gStatuses3\n\
- ldrb r2, [r5]\n\
- lsls r2, 2\n\
- adds r2, r0\n\
- ldr r0, [r2]\n\
- ldr r1, _08021D9C @ =0xfffbff3f\n\
- ands r0, r1\n\
- str r0, [r2]\n\
- ldr r2, _08021DA0 @ =gSpecialStatuses\n\
- ldrb r1, [r5]\n\
- lsls r0, r1, 2\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r0, r2\n\
- ldrb r1, [r0]\n\
- movs r2, 0x4\n\
- orrs r1, r2\n\
- strb r1, [r0]\n\
+ ldr r4, _08021D98 @ =gActiveBank\n\
+ ldr r5, _08021D90 @ =gBankAttacker\n\
+ ldrb r0, [r5]\n\
+ strb r0, [r4]\n\
+ movs r0, 0\n\
+ movs r1, 0\n\
+ bl EmitSpriteInvisibility\n\
+ ldrb r0, [r4]\n\
+ bl MarkBufferBankForExecution\n\
+ ldr r0, _08021D8C @ =gStatuses3\n\
+ ldrb r2, [r5]\n\
+ lsls r2, 2\n\
+ adds r2, r0\n\
+ ldr r0, [r2]\n\
+ ldr r1, _08021D9C @ =0xfffbff3f\n\
+ ands r0, r1\n\
+ str r0, [r2]\n\
+ ldr r2, _08021DA0 @ =gSpecialStatuses\n\
+ ldrb r1, [r5]\n\
+ lsls r0, r1, 2\n\
+ adds r0, r1\n\
+ lsls r0, 2\n\
+ adds r0, r2\n\
+ ldrb r1, [r0]\n\
+ movs r2, 0x4\n\
+ orrs r1, r2\n\
+ strb r1, [r0]\n\
_08021D7E:\n\
- ldr r2, _08021DA4 @ =0x02000000\n\
- ldr r4, _08021DA8 @ =0x0001600c\n\
- adds r1, r2, r4\n\
- b _08021E00\n\
- .align 2, 0\n\
+ ldr r2, _08021DA4 @ =0x02000000\n\
+ ldr r4, _08021DA8 @ =0x0001600c\n\
+ adds r1, r2, r4\n\
+ b _08021E00\n\
+ .align 2, 0\n\
_08021D88: .4byte gBattleMoveFlags\n\
_08021D8C: .4byte gStatuses3\n\
_08021D90: .4byte gBankAttacker\n\
@@ -9293,54 +9293,54 @@ _08021DA0: .4byte gSpecialStatuses\n\
_08021DA4: .4byte 0x02000000\n\
_08021DA8: .4byte 0x0001600c\n\
_08021DAC:\n\
- ldr r2, _08021E0C @ =gSpecialStatuses\n\
- ldr r1, _08021E10 @ =gBankTarget\n\
- ldrb r3, [r1]\n\
- lsls r4, r3, 2\n\
- adds r0, r4, r3\n\
- lsls r0, 2\n\
- adds r0, r2\n\
- ldrb r0, [r0]\n\
- lsls r0, 29\n\
- cmp r0, 0\n\
- blt _08021DFA\n\
- ldr r0, _08021E14 @ =gNoOfAllBanks\n\
- ldrb r0, [r0]\n\
- cmp r3, r0\n\
- bcs _08021DFA\n\
- ldr r5, _08021E18 @ =gStatuses3\n\
- adds r0, r4, r5\n\
- ldr r0, [r0]\n\
- ldr r1, _08021E1C @ =0x000400c0\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _08021DFA\n\
- ldr r4, _08021E20 @ =gActiveBank\n\
- strb r3, [r4]\n\
- movs r0, 0\n\
- movs r1, 0\n\
- bl EmitSpriteInvisibility\n\
- ldrb r0, [r4]\n\
- bl MarkBufferBankForExecution\n\
- ldr r0, _08021E10 @ =gBankTarget\n\
- ldrb r2, [r0]\n\
- lsls r2, 2\n\
- adds r2, r5\n\
- ldr r0, [r2]\n\
- ldr r1, _08021E24 @ =0xfffbff3f\n\
- ands r0, r1\n\
- str r0, [r2]\n\
+ ldr r2, _08021E0C @ =gSpecialStatuses\n\
+ ldr r1, _08021E10 @ =gBankTarget\n\
+ ldrb r3, [r1]\n\
+ lsls r4, r3, 2\n\
+ adds r0, r4, r3\n\
+ lsls r0, 2\n\
+ adds r0, r2\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 29\n\
+ cmp r0, 0\n\
+ blt _08021DFA\n\
+ ldr r0, _08021E14 @ =gNoOfAllBanks\n\
+ ldrb r0, [r0]\n\
+ cmp r3, r0\n\
+ bcs _08021DFA\n\
+ ldr r5, _08021E18 @ =gStatuses3\n\
+ adds r0, r4, r5\n\
+ ldr r0, [r0]\n\
+ ldr r1, _08021E1C @ =0x000400c0\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ bne _08021DFA\n\
+ ldr r4, _08021E20 @ =gActiveBank\n\
+ strb r3, [r4]\n\
+ movs r0, 0\n\
+ movs r1, 0\n\
+ bl EmitSpriteInvisibility\n\
+ ldrb r0, [r4]\n\
+ bl MarkBufferBankForExecution\n\
+ ldr r0, _08021E10 @ =gBankTarget\n\
+ ldrb r2, [r0]\n\
+ lsls r2, 2\n\
+ adds r2, r5\n\
+ ldr r0, [r2]\n\
+ ldr r1, _08021E24 @ =0xfffbff3f\n\
+ ands r0, r1\n\
+ str r0, [r2]\n\
_08021DFA:\n\
- ldr r2, _08021E28 @ =0x02000000\n\
- ldr r3, _08021E2C @ =0x0001600c\n\
- adds r1, r2, r3\n\
+ ldr r2, _08021E28 @ =0x02000000\n\
+ ldr r3, _08021E2C @ =0x0001600c\n\
+ adds r1, r2, r3\n\
_08021E00:\n\
- ldrb r0, [r1]\n\
- adds r0, 0x1\n\
- strb r0, [r1]\n\
- mov r12, r2\n\
- b _0802224E\n\
- .align 2, 0\n\
+ ldrb r0, [r1]\n\
+ adds r0, 0x1\n\
+ strb r0, [r1]\n\
+ mov r12, r2\n\
+ b _0802224E\n\
+ .align 2, 0\n\
_08021E0C: .4byte gSpecialStatuses\n\
_08021E10: .4byte gBankTarget\n\
_08021E14: .4byte gNoOfAllBanks\n\
@@ -9351,138 +9351,138 @@ _08021E24: .4byte 0xfffbff3f\n\
_08021E28: .4byte 0x02000000\n\
_08021E2C: .4byte 0x0001600c\n\
_08021E30:\n\
- movs r4, 0\n\
- ldr r0, _08021E60 @ =gNoOfAllBanks\n\
- ldrb r5, [r0]\n\
- cmp r4, r5\n\
- blt _08021E3C\n\
- b _08022244\n\
+ movs r4, 0\n\
+ ldr r0, _08021E60 @ =gNoOfAllBanks\n\
+ ldrb r5, [r0]\n\
+ cmp r4, r5\n\
+ blt _08021E3C\n\
+ b _08022244\n\
_08021E3C:\n\
- ldr r2, _08021E64 @ =gDisableStructs\n\
- ldr r5, _08021E68 @ =0xfeffffff\n\
- adds r3, r0, 0\n\
- ldr r1, _08021E6C @ =gUnknown_02024AD0\n\
+ ldr r2, _08021E64 @ =gDisableStructs\n\
+ ldr r5, _08021E68 @ =0xfeffffff\n\
+ adds r3, r0, 0\n\
+ ldr r1, _08021E6C @ =gUnknown_02024AD0\n\
_08021E44:\n\
- ldrb r0, [r2, 0xA]\n\
- cmp r0, 0\n\
- bne _08021E50\n\
- ldr r0, [r1]\n\
- ands r0, r5\n\
- str r0, [r1]\n\
+ ldrb r0, [r2, 0xA]\n\
+ cmp r0, 0\n\
+ bne _08021E50\n\
+ ldr r0, [r1]\n\
+ ands r0, r5\n\
+ str r0, [r1]\n\
_08021E50:\n\
- adds r2, 0x1C\n\
- adds r1, 0x58\n\
- adds r4, 0x1\n\
- ldrb r0, [r3]\n\
- cmp r4, r0\n\
- blt _08021E44\n\
- b _08022244\n\
- .align 2, 0\n\
+ adds r2, 0x1C\n\
+ adds r1, 0x58\n\
+ adds r4, 0x1\n\
+ ldrb r0, [r3]\n\
+ cmp r4, r0\n\
+ blt _08021E44\n\
+ b _08022244\n\
+ .align 2, 0\n\
_08021E60: .4byte gNoOfAllBanks\n\
_08021E64: .4byte gDisableStructs\n\
_08021E68: .4byte 0xfeffffff\n\
_08021E6C: .4byte gUnknown_02024AD0\n\
_08021E70:\n\
- ldr r1, _08021F2C @ =gHitMarker\n\
- ldr r3, [r1]\n\
- movs r0, 0x80\n\
- lsls r0, 5\n\
- ands r0, r3\n\
- ldr r2, _08021F30 @ =gBankAttacker\n\
- mov r9, r2\n\
- adds r5, r1, 0\n\
- cmp r0, 0\n\
- beq _08021E9A\n\
- ldr r0, _08021F34 @ =gActiveBank\n\
- ldrb r2, [r2]\n\
- strb r2, [r0]\n\
- ldr r1, _08021F38 @ =gBankTarget\n\
- ldrb r0, [r1]\n\
- mov r4, r9\n\
- strb r0, [r4]\n\
- strb r2, [r1]\n\
- ldr r0, _08021F3C @ =0xffffefff\n\
- ands r3, r0\n\
- str r3, [r5]\n\
+ ldr r1, _08021F2C @ =gHitMarker\n\
+ ldr r3, [r1]\n\
+ movs r0, 0x80\n\
+ lsls r0, 5\n\
+ ands r0, r3\n\
+ ldr r2, _08021F30 @ =gBankAttacker\n\
+ mov r9, r2\n\
+ adds r5, r1, 0\n\
+ cmp r0, 0\n\
+ beq _08021E9A\n\
+ ldr r0, _08021F34 @ =gActiveBank\n\
+ ldrb r2, [r2]\n\
+ strb r2, [r0]\n\
+ ldr r1, _08021F38 @ =gBankTarget\n\
+ ldrb r0, [r1]\n\
+ mov r4, r9\n\
+ strb r0, [r4]\n\
+ strb r2, [r1]\n\
+ ldr r0, _08021F3C @ =0xffffefff\n\
+ ands r3, r0\n\
+ str r3, [r5]\n\
_08021E9A:\n\
- ldr r1, _08021F40 @ =gBattleMoves\n\
- ldr r2, _08021F44 @ =gUnknown_02024BE8\n\
- ldrh r3, [r2]\n\
- lsls r0, r3, 1\n\
- adds r0, r3\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldrb r0, [r0]\n\
- mov r8, r1\n\
- adds r7, r2, 0\n\
- cmp r0, 0x7F\n\
- bne _08021EBE\n\
- ldr r0, _08021F48 @ =gBattleMoveFlags\n\
- ldrb r1, [r0]\n\
- movs r0, 0x29\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08021ECA\n\
+ ldr r1, _08021F40 @ =gBattleMoves\n\
+ ldr r2, _08021F44 @ =gUnknown_02024BE8\n\
+ ldrh r3, [r2]\n\
+ lsls r0, r3, 1\n\
+ adds r0, r3\n\
+ lsls r0, 2\n\
+ adds r0, r1\n\
+ ldrb r0, [r0]\n\
+ mov r8, r1\n\
+ adds r7, r2, 0\n\
+ cmp r0, 0x7F\n\
+ bne _08021EBE\n\
+ ldr r0, _08021F48 @ =gBattleMoveFlags\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0x29\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _08021ECA\n\
_08021EBE:\n\
- ldr r1, _08021F4C @ =gUnknown_02024C2C\n\
- mov r2, r9\n\
- ldrb r0, [r2]\n\
- lsls r0, 1\n\
- adds r0, r1\n\
- strh r3, [r0]\n\
+ ldr r1, _08021F4C @ =gUnknown_02024C2C\n\
+ mov r2, r9\n\
+ ldrb r0, [r2]\n\
+ lsls r0, 1\n\
+ adds r0, r1\n\
+ strh r3, [r0]\n\
_08021ECA:\n\
- ldr r0, _08021F50 @ =gAbsentBankFlags\n\
- ldrb r1, [r0]\n\
- ldr r2, _08021F54 @ =gBitTable\n\
- mov r3, r9\n\
- ldrb r4, [r3]\n\
- lsls r0, r4, 2\n\
- adds r0, r2\n\
- ldr r3, [r0]\n\
- ands r1, r3\n\
- adds r6, r2, 0\n\
- cmp r1, 0\n\
- beq _08021EE4\n\
- b _08022244\n\
+ ldr r0, _08021F50 @ =gAbsentBankFlags\n\
+ ldrb r1, [r0]\n\
+ ldr r2, _08021F54 @ =gBitTable\n\
+ mov r3, r9\n\
+ ldrb r4, [r3]\n\
+ lsls r0, r4, 2\n\
+ adds r0, r2\n\
+ ldr r3, [r0]\n\
+ ands r1, r3\n\
+ adds r6, r2, 0\n\
+ cmp r1, 0\n\
+ beq _08021EE4\n\
+ b _08022244\n\
_08021EE4:\n\
- ldr r0, _08021F58 @ =0x000160a6\n\
- add r0, r12\n\
- ldrb r0, [r0]\n\
- ands r0, r3\n\
- cmp r0, 0\n\
- beq _08021EF2\n\
- b _08022244\n\
+ ldr r0, _08021F58 @ =0x000160a6\n\
+ add r0, r12\n\
+ ldrb r0, [r0]\n\
+ ands r0, r3\n\
+ cmp r0, 0\n\
+ beq _08021EF2\n\
+ b _08022244\n\
_08021EF2:\n\
- ldrh r2, [r7]\n\
- lsls r0, r2, 1\n\
- adds r0, r2\n\
- lsls r0, 2\n\
- add r0, r8\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x7F\n\
- bne _08021F04\n\
- b _08022244\n\
+ ldrh r2, [r7]\n\
+ lsls r0, r2, 1\n\
+ adds r0, r2\n\
+ lsls r0, 2\n\
+ add r0, r8\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x7F\n\
+ bne _08021F04\n\
+ b _08022244\n\
_08021F04:\n\
- ldr r0, [r5]\n\
- movs r1, 0x80\n\
- lsls r1, 18\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08021F68\n\
- ldr r1, _08021F5C @ =gLastUsedMove\n\
- lsls r0, r4, 1\n\
- adds r0, r1\n\
- strh r2, [r0]\n\
- ldr r0, _08021F60 @ =gUnknown_02024C4C\n\
- mov r4, r9\n\
- ldrb r1, [r4]\n\
- lsls r1, 1\n\
- adds r1, r0\n\
- ldr r0, _08021F64 @ =gCurrentMove\n\
- ldrh r0, [r0]\n\
- strh r0, [r1]\n\
- b _08021F82\n\
- .align 2, 0\n\
+ ldr r0, [r5]\n\
+ movs r1, 0x80\n\
+ lsls r1, 18\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _08021F68\n\
+ ldr r1, _08021F5C @ =gLastUsedMove\n\
+ lsls r0, r4, 1\n\
+ adds r0, r1\n\
+ strh r2, [r0]\n\
+ ldr r0, _08021F60 @ =gUnknown_02024C4C\n\
+ mov r4, r9\n\
+ ldrb r1, [r4]\n\
+ lsls r1, 1\n\
+ adds r1, r0\n\
+ ldr r0, _08021F64 @ =gCurrentMove\n\
+ ldrh r0, [r0]\n\
+ strh r0, [r1]\n\
+ b _08021F82\n\
+ .align 2, 0\n\
_08021F2C: .4byte gHitMarker\n\
_08021F30: .4byte gBankAttacker\n\
_08021F34: .4byte gActiveBank\n\
@@ -9499,60 +9499,60 @@ _08021F5C: .4byte gLastUsedMove\n\
_08021F60: .4byte gUnknown_02024C4C\n\
_08021F64: .4byte gCurrentMove\n\
_08021F68:\n\
- ldr r1, _08021FD0 @ =gLastUsedMove\n\
- lsls r0, r4, 1\n\
- adds r0, r1\n\
- ldr r1, _08021FD4 @ =0x0000ffff\n\
- strh r1, [r0]\n\
- ldr r1, _08021FD8 @ =gUnknown_02024C4C\n\
- mov r2, r9\n\
- ldrb r0, [r2]\n\
- lsls r0, 1\n\
- adds r0, r1\n\
- movs r1, 0x1\n\
- negs r1, r1\n\
- strh r1, [r0]\n\
+ ldr r1, _08021FD0 @ =gLastUsedMove\n\
+ lsls r0, r4, 1\n\
+ adds r0, r1\n\
+ ldr r1, _08021FD4 @ =0x0000ffff\n\
+ strh r1, [r0]\n\
+ ldr r1, _08021FD8 @ =gUnknown_02024C4C\n\
+ mov r2, r9\n\
+ ldrb r0, [r2]\n\
+ lsls r0, 1\n\
+ adds r0, r1\n\
+ movs r1, 0x1\n\
+ negs r1, r1\n\
+ strh r1, [r0]\n\
_08021F82:\n\
- ldr r2, _08021FDC @ =gBankTarget\n\
- ldrb r3, [r2]\n\
- lsls r0, r3, 2\n\
- adds r0, r6\n\
- ldr r0, [r0]\n\
- lsls r0, 28\n\
- ldr r1, [r5]\n\
- ands r1, r0\n\
- cmp r1, 0\n\
- bne _08021FA0\n\
- ldr r0, _08021FE0 @ =gUnknown_02024C5C\n\
- adds r0, r3, r0\n\
- mov r3, r9\n\
- ldrb r1, [r3]\n\
- strb r1, [r0]\n\
+ ldr r2, _08021FDC @ =gBankTarget\n\
+ ldrb r3, [r2]\n\
+ lsls r0, r3, 2\n\
+ adds r0, r6\n\
+ ldr r0, [r0]\n\
+ lsls r0, 28\n\
+ ldr r1, [r5]\n\
+ ands r1, r0\n\
+ cmp r1, 0\n\
+ bne _08021FA0\n\
+ ldr r0, _08021FE0 @ =gUnknown_02024C5C\n\
+ adds r0, r3, r0\n\
+ mov r3, r9\n\
+ ldrb r1, [r3]\n\
+ strb r1, [r0]\n\
_08021FA0:\n\
- ldr r0, [r5]\n\
- movs r1, 0x80\n\
- lsls r1, 18\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _0802204C\n\
- ldr r0, _08021FE4 @ =gBattleMoveFlags\n\
- ldrb r1, [r0]\n\
- movs r0, 0x29\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _0802204C\n\
- ldrh r2, [r7]\n\
- ldr r0, _08021FD4 @ =0x0000ffff\n\
- cmp r2, r0\n\
- bne _08021FEC\n\
- ldr r1, _08021FE8 @ =gMoveHitWith\n\
- ldr r4, _08021FDC @ =gBankTarget\n\
- ldrb r0, [r4]\n\
- lsls r0, 1\n\
- adds r0, r1\n\
- strh r2, [r0]\n\
- b _08022244\n\
- .align 2, 0\n\
+ ldr r0, [r5]\n\
+ movs r1, 0x80\n\
+ lsls r1, 18\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0802204C\n\
+ ldr r0, _08021FE4 @ =gBattleMoveFlags\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0x29\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ bne _0802204C\n\
+ ldrh r2, [r7]\n\
+ ldr r0, _08021FD4 @ =0x0000ffff\n\
+ cmp r2, r0\n\
+ bne _08021FEC\n\
+ ldr r1, _08021FE8 @ =gMoveHitWith\n\
+ ldr r4, _08021FDC @ =gBankTarget\n\
+ ldrb r0, [r4]\n\
+ lsls r0, 1\n\
+ adds r0, r1\n\
+ strh r2, [r0]\n\
+ b _08022244\n\
+ .align 2, 0\n\
_08021FD0: .4byte gLastUsedMove\n\
_08021FD4: .4byte 0x0000ffff\n\
_08021FD8: .4byte gUnknown_02024C4C\n\
@@ -9561,164 +9561,164 @@ _08021FE0: .4byte gUnknown_02024C5C\n\
_08021FE4: .4byte gBattleMoveFlags\n\
_08021FE8: .4byte gMoveHitWith\n\
_08021FEC:\n\
- ldr r0, _08022014 @ =gMoveHitWith\n\
- ldr r5, _08022018 @ =gBankTarget\n\
- ldrb r1, [r5]\n\
- lsls r1, 1\n\
- adds r1, r0\n\
- ldr r4, _0802201C @ =gCurrentMove\n\
- ldrh r0, [r4]\n\
- strh r0, [r1]\n\
- ldr r0, _08022020 @ =0x0001601c\n\
- add r0, r12\n\
- ldrb r3, [r0]\n\
- cmp r3, 0\n\
- beq _08022028\n\
- ldr r0, _08022024 @ =gUnknown_02024C44\n\
- ldrb r1, [r5]\n\
- lsls r1, 1\n\
- adds r1, r0\n\
- movs r0, 0x3F\n\
- ands r0, r3\n\
- b _08021C22\n\
- .align 2, 0\n\
+ ldr r0, _08022014 @ =gMoveHitWith\n\
+ ldr r5, _08022018 @ =gBankTarget\n\
+ ldrb r1, [r5]\n\
+ lsls r1, 1\n\
+ adds r1, r0\n\
+ ldr r4, _0802201C @ =gCurrentMove\n\
+ ldrh r0, [r4]\n\
+ strh r0, [r1]\n\
+ ldr r0, _08022020 @ =0x0001601c\n\
+ add r0, r12\n\
+ ldrb r3, [r0]\n\
+ cmp r3, 0\n\
+ beq _08022028\n\
+ ldr r0, _08022024 @ =gUnknown_02024C44\n\
+ ldrb r1, [r5]\n\
+ lsls r1, 1\n\
+ adds r1, r0\n\
+ movs r0, 0x3F\n\
+ ands r0, r3\n\
+ b _08021C22\n\
+ .align 2, 0\n\
_08022014: .4byte gMoveHitWith\n\
_08022018: .4byte gBankTarget\n\
_0802201C: .4byte gCurrentMove\n\
_08022020: .4byte 0x0001601c\n\
_08022024: .4byte gUnknown_02024C44\n\
_08022028:\n\
- ldr r0, _08022044 @ =gUnknown_02024C44\n\
- ldr r1, _08022048 @ =gBankTarget\n\
- ldrb r2, [r1]\n\
- lsls r2, 1\n\
- adds r2, r0\n\
- ldrh r1, [r4]\n\
- lsls r0, r1, 1\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- add r0, r8\n\
- ldrb r0, [r0, 0x2]\n\
- strh r0, [r2]\n\
- b _08022244\n\
- .align 2, 0\n\
+ ldr r0, _08022044 @ =gUnknown_02024C44\n\
+ ldr r1, _08022048 @ =gBankTarget\n\
+ ldrb r2, [r1]\n\
+ lsls r2, 1\n\
+ adds r2, r0\n\
+ ldrh r1, [r4]\n\
+ lsls r0, r1, 1\n\
+ adds r0, r1\n\
+ lsls r0, 2\n\
+ add r0, r8\n\
+ ldrb r0, [r0, 0x2]\n\
+ strh r0, [r2]\n\
+ b _08022244\n\
+ .align 2, 0\n\
_08022044: .4byte gUnknown_02024C44\n\
_08022048: .4byte gBankTarget\n\
_0802204C:\n\
- ldr r0, _0802205C @ =gMoveHitWith\n\
- ldr r2, _08022060 @ =gBankTarget\n\
- ldrb r1, [r2]\n\
- lsls r1, 1\n\
- adds r1, r0\n\
- ldr r0, _08022064 @ =0x0000ffff\n\
- b _08021C22\n\
- .align 2, 0\n\
+ ldr r0, _0802205C @ =gMoveHitWith\n\
+ ldr r2, _08022060 @ =gBankTarget\n\
+ ldrb r1, [r2]\n\
+ lsls r1, 1\n\
+ adds r1, r0\n\
+ ldr r0, _08022064 @ =0x0000ffff\n\
+ b _08021C22\n\
+ .align 2, 0\n\
_0802205C: .4byte gMoveHitWith\n\
_08022060: .4byte gBankTarget\n\
_08022064: .4byte 0x0000ffff\n\
_08022068:\n\
- ldr r0, _0802212C @ =gAbsentBankFlags\n\
- ldrb r1, [r0]\n\
- ldr r6, _08022130 @ =gBitTable\n\
- ldr r2, _08022134 @ =gBankAttacker\n\
- ldrb r5, [r2]\n\
- lsls r0, r5, 2\n\
- adds r0, r6\n\
- ldr r4, [r0]\n\
- ands r1, r4\n\
- mov r9, r2\n\
- cmp r1, 0\n\
- beq _08022082\n\
- b _08022244\n\
+ ldr r0, _0802212C @ =gAbsentBankFlags\n\
+ ldrb r1, [r0]\n\
+ ldr r6, _08022130 @ =gBitTable\n\
+ ldr r2, _08022134 @ =gBankAttacker\n\
+ ldrb r5, [r2]\n\
+ lsls r0, r5, 2\n\
+ adds r0, r6\n\
+ ldr r4, [r0]\n\
+ ands r1, r4\n\
+ mov r9, r2\n\
+ cmp r1, 0\n\
+ beq _08022082\n\
+ b _08022244\n\
_08022082:\n\
- ldr r0, _08022138 @ =0x000160a6\n\
- add r0, r12\n\
- ldrb r0, [r0]\n\
- ands r0, r4\n\
- cmp r0, 0\n\
- beq _08022090\n\
- b _08022244\n\
+ ldr r0, _08022138 @ =0x000160a6\n\
+ add r0, r12\n\
+ ldrb r0, [r0]\n\
+ ands r0, r4\n\
+ cmp r0, 0\n\
+ beq _08022090\n\
+ b _08022244\n\
_08022090:\n\
- ldr r1, _0802213C @ =gBattleMoves\n\
- ldr r4, _08022140 @ =gUnknown_02024BE8\n\
- ldrh r3, [r4]\n\
- lsls r0, r3, 1\n\
- adds r0, r3\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldrb r1, [r0, 0x8]\n\
- movs r0, 0x10\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _0802215C\n\
- ldr r0, _08022144 @ =gHitMarker\n\
- ldr r1, [r0]\n\
- movs r0, 0x80\n\
- lsls r0, 18\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _0802215C\n\
- ldr r2, _08022148 @ =gBankTarget\n\
- ldrb r0, [r2]\n\
- cmp r5, r0\n\
- bne _080220C0\n\
- b _08022244\n\
+ ldr r1, _0802213C @ =gBattleMoves\n\
+ ldr r4, _08022140 @ =gUnknown_02024BE8\n\
+ ldrh r3, [r4]\n\
+ lsls r0, r3, 1\n\
+ adds r0, r3\n\
+ lsls r0, 2\n\
+ adds r0, r1\n\
+ ldrb r1, [r0, 0x8]\n\
+ movs r0, 0x10\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0802215C\n\
+ ldr r0, _08022144 @ =gHitMarker\n\
+ ldr r1, [r0]\n\
+ movs r0, 0x80\n\
+ lsls r0, 18\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0802215C\n\
+ ldr r2, _08022148 @ =gBankTarget\n\
+ ldrb r0, [r2]\n\
+ cmp r5, r0\n\
+ bne _080220C0\n\
+ b _08022244\n\
_080220C0:\n\
- adds r2, r0, 0\n\
- lsls r0, r2, 2\n\
- adds r0, r6\n\
- ldr r0, [r0]\n\
- lsls r0, 28\n\
- ands r1, r0\n\
- cmp r1, 0\n\
- bne _0802215C\n\
- ldr r0, _0802214C @ =gBattleMoveFlags\n\
- ldrb r1, [r0]\n\
- movs r0, 0x29\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _0802215C\n\
- lsls r0, r2, 1\n\
- ldr r5, _08022150 @ =0x000160ac\n\
- adds r0, r5\n\
- add r0, r12\n\
- strb r3, [r0]\n\
- ldr r0, _08022148 @ =gBankTarget\n\
- ldrb r1, [r0]\n\
- lsls r1, 1\n\
- ldr r2, _08022154 @ =0x000160ad\n\
- adds r1, r2\n\
- add r1, r12\n\
- ldrh r0, [r4]\n\
- lsrs r0, 8\n\
- strb r0, [r1]\n\
- ldr r3, _08022148 @ =gBankTarget\n\
- ldrb r2, [r3]\n\
- lsls r2, 2\n\
- mov r5, r9\n\
- ldrb r0, [r5]\n\
- lsrs r0, 1\n\
- lsls r0, 1\n\
- ldr r1, _08022158 @ =0x00016100\n\
- adds r0, r1\n\
- adds r2, r0\n\
- add r2, r12\n\
- ldrh r0, [r4]\n\
- strb r0, [r2]\n\
- ldrb r2, [r3]\n\
- lsls r2, 2\n\
- ldrb r0, [r5]\n\
- lsrs r0, 1\n\
- lsls r0, 1\n\
- adds r1, 0x1\n\
- adds r0, r1\n\
- adds r2, r0\n\
- add r2, r12\n\
- ldrh r0, [r4]\n\
- lsrs r0, 8\n\
- strb r0, [r2]\n\
- b _08022244\n\
- .align 2, 0\n\
+ adds r2, r0, 0\n\
+ lsls r0, r2, 2\n\
+ adds r0, r6\n\
+ ldr r0, [r0]\n\
+ lsls r0, 28\n\
+ ands r1, r0\n\
+ cmp r1, 0\n\
+ bne _0802215C\n\
+ ldr r0, _0802214C @ =gBattleMoveFlags\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0x29\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ bne _0802215C\n\
+ lsls r0, r2, 1\n\
+ ldr r5, _08022150 @ =0x000160ac\n\
+ adds r0, r5\n\
+ add r0, r12\n\
+ strb r3, [r0]\n\
+ ldr r0, _08022148 @ =gBankTarget\n\
+ ldrb r1, [r0]\n\
+ lsls r1, 1\n\
+ ldr r2, _08022154 @ =0x000160ad\n\
+ adds r1, r2\n\
+ add r1, r12\n\
+ ldrh r0, [r4]\n\
+ lsrs r0, 8\n\
+ strb r0, [r1]\n\
+ ldr r3, _08022148 @ =gBankTarget\n\
+ ldrb r2, [r3]\n\
+ lsls r2, 2\n\
+ mov r5, r9\n\
+ ldrb r0, [r5]\n\
+ lsrs r0, 1\n\
+ lsls r0, 1\n\
+ ldr r1, _08022158 @ =0x00016100\n\
+ adds r0, r1\n\
+ adds r2, r0\n\
+ add r2, r12\n\
+ ldrh r0, [r4]\n\
+ strb r0, [r2]\n\
+ ldrb r2, [r3]\n\
+ lsls r2, 2\n\
+ ldrb r0, [r5]\n\
+ lsrs r0, 1\n\
+ lsls r0, 1\n\
+ adds r1, 0x1\n\
+ adds r0, r1\n\
+ adds r2, r0\n\
+ add r2, r12\n\
+ ldrh r0, [r4]\n\
+ lsrs r0, 8\n\
+ strb r0, [r2]\n\
+ b _08022244\n\
+ .align 2, 0\n\
_0802212C: .4byte gAbsentBankFlags\n\
_08022130: .4byte gBitTable\n\
_08022134: .4byte gBankAttacker\n\
@@ -9732,178 +9732,178 @@ _08022150: .4byte 0x000160ac\n\
_08022154: .4byte 0x000160ad\n\
_08022158: .4byte 0x00016100\n\
_0802215C:\n\
- mov r1, r9\n\
- ldrb r0, [r1]\n\
- ldr r2, _080221B4 @ =gBankTarget\n\
- ldrb r2, [r2]\n\
- cmp r0, r2\n\
- beq _08022244\n\
- ldr r3, _080221B4 @ =gBankTarget\n\
- ldrb r0, [r3]\n\
- lsls r0, 1\n\
- ldr r4, _080221B8 @ =0x000160ac\n\
- adds r0, r4\n\
- add r0, r12\n\
- movs r3, 0\n\
- strb r3, [r0]\n\
- ldr r5, _080221B4 @ =gBankTarget\n\
- ldrb r0, [r5]\n\
- lsls r0, 1\n\
- ldr r1, _080221BC @ =0x000160ad\n\
- adds r0, r1\n\
- add r0, r12\n\
- strb r3, [r0]\n\
- ldrb r2, [r5]\n\
- lsls r2, 2\n\
- mov r4, r9\n\
- ldrb r0, [r4]\n\
- lsrs r0, 1\n\
- lsls r0, 1\n\
- adds r1, 0x53\n\
- adds r0, r1\n\
- adds r2, r0\n\
- add r2, r12\n\
- strb r3, [r2]\n\
- ldrb r2, [r5]\n\
- lsls r2, 2\n\
- ldrb r0, [r4]\n\
- lsrs r0, 1\n\
- lsls r0, 1\n\
- adds r1, 0x1\n\
- adds r0, r1\n\
- adds r2, r0\n\
- add r2, r12\n\
- strb r3, [r2]\n\
- b _08022244\n\
- .align 2, 0\n\
+ mov r1, r9\n\
+ ldrb r0, [r1]\n\
+ ldr r2, _080221B4 @ =gBankTarget\n\
+ ldrb r2, [r2]\n\
+ cmp r0, r2\n\
+ beq _08022244\n\
+ ldr r3, _080221B4 @ =gBankTarget\n\
+ ldrb r0, [r3]\n\
+ lsls r0, 1\n\
+ ldr r4, _080221B8 @ =0x000160ac\n\
+ adds r0, r4\n\
+ add r0, r12\n\
+ movs r3, 0\n\
+ strb r3, [r0]\n\
+ ldr r5, _080221B4 @ =gBankTarget\n\
+ ldrb r0, [r5]\n\
+ lsls r0, 1\n\
+ ldr r1, _080221BC @ =0x000160ad\n\
+ adds r0, r1\n\
+ add r0, r12\n\
+ strb r3, [r0]\n\
+ ldrb r2, [r5]\n\
+ lsls r2, 2\n\
+ mov r4, r9\n\
+ ldrb r0, [r4]\n\
+ lsrs r0, 1\n\
+ lsls r0, 1\n\
+ adds r1, 0x53\n\
+ adds r0, r1\n\
+ adds r2, r0\n\
+ add r2, r12\n\
+ strb r3, [r2]\n\
+ ldrb r2, [r5]\n\
+ lsls r2, 2\n\
+ ldrb r0, [r4]\n\
+ lsrs r0, 1\n\
+ lsls r0, 1\n\
+ adds r1, 0x1\n\
+ adds r0, r1\n\
+ adds r2, r0\n\
+ add r2, r12\n\
+ strb r3, [r2]\n\
+ b _08022244\n\
+ .align 2, 0\n\
_080221B4: .4byte gBankTarget\n\
_080221B8: .4byte 0x000160ac\n\
_080221BC: .4byte 0x000160ad\n\
_080221C0:\n\
- ldr r5, _080222B0 @ =gHitMarker\n\
- ldr r2, [r5]\n\
- movs r0, 0x80\n\
- lsls r0, 12\n\
- ands r0, r2\n\
- cmp r0, 0\n\
- bne _08022244\n\
- ldr r0, _080222B4 @ =gBattleTypeFlags\n\
- ldrh r1, [r0]\n\
- movs r0, 0x1\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08022244\n\
- ldr r1, _080222B8 @ =gProtectStructs\n\
- ldr r0, _080222BC @ =gBankAttacker\n\
- ldrb r0, [r0]\n\
- lsls r0, 4\n\
- adds r0, r1\n\
- ldrb r0, [r0, 0x1]\n\
- lsls r0, 29\n\
- cmp r0, 0\n\
- blt _08022244\n\
- ldr r0, _080222C0 @ =gBattleMoves\n\
- mov r9, r0\n\
- ldr r1, _080222C4 @ =gCurrentMove\n\
- mov r8, r1\n\
- ldrh r0, [r1]\n\
- lsls r1, r0, 1\n\
- adds r1, r0\n\
- lsls r1, 2\n\
- add r1, r9\n\
- ldrb r0, [r1, 0x6]\n\
- cmp r0, 0x8\n\
- bne _08022244\n\
- movs r6, 0x80\n\
- lsls r6, 2\n\
- adds r4, r6, 0\n\
- ands r4, r2\n\
- cmp r4, 0\n\
- bne _08022244\n\
- ldr r7, _080222C8 @ =gBankTarget\n\
- ldrb r0, [r7]\n\
- bl GetBankIdentity\n\
- movs r1, 0x2\n\
- eors r0, r1\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- bl GetBankByPlayerAI\n\
- lsls r0, 24\n\
- lsrs r2, r0, 24\n\
- ldr r1, _080222CC @ =gBattleMons\n\
- movs r0, 0x58\n\
- muls r0, r2\n\
- adds r0, r1\n\
- ldrh r0, [r0, 0x28]\n\
- cmp r0, 0\n\
- beq _0802223A\n\
- bl _08021874\n\
+ ldr r5, _080222B0 @ =gHitMarker\n\
+ ldr r2, [r5]\n\
+ movs r0, 0x80\n\
+ lsls r0, 12\n\
+ ands r0, r2\n\
+ cmp r0, 0\n\
+ bne _08022244\n\
+ ldr r0, _080222B4 @ =gBattleTypeFlags\n\
+ ldrh r1, [r0]\n\
+ movs r0, 0x1\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _08022244\n\
+ ldr r1, _080222B8 @ =gProtectStructs\n\
+ ldr r0, _080222BC @ =gBankAttacker\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 4\n\
+ adds r0, r1\n\
+ ldrb r0, [r0, 0x1]\n\
+ lsls r0, 29\n\
+ cmp r0, 0\n\
+ blt _08022244\n\
+ ldr r0, _080222C0 @ =gBattleMoves\n\
+ mov r9, r0\n\
+ ldr r1, _080222C4 @ =gCurrentMove\n\
+ mov r8, r1\n\
+ ldrh r0, [r1]\n\
+ lsls r1, r0, 1\n\
+ adds r1, r0\n\
+ lsls r1, 2\n\
+ add r1, r9\n\
+ ldrb r0, [r1, 0x6]\n\
+ cmp r0, 0x8\n\
+ bne _08022244\n\
+ movs r6, 0x80\n\
+ lsls r6, 2\n\
+ adds r4, r6, 0\n\
+ ands r4, r2\n\
+ cmp r4, 0\n\
+ bne _08022244\n\
+ ldr r7, _080222C8 @ =gBankTarget\n\
+ ldrb r0, [r7]\n\
+ bl GetBankIdentity\n\
+ movs r1, 0x2\n\
+ eors r0, r1\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ bl GetBankByPlayerAI\n\
+ lsls r0, 24\n\
+ lsrs r2, r0, 24\n\
+ ldr r1, _080222CC @ =gBattleMons\n\
+ movs r0, 0x58\n\
+ muls r0, r2\n\
+ adds r0, r1\n\
+ ldrh r0, [r0, 0x28]\n\
+ cmp r0, 0\n\
+ beq _0802223A\n\
+ bl _08021874\n\
_0802223A:\n\
- ldr r0, [r5]\n\
- orrs r0, r6\n\
- str r0, [r5]\n\
- ldr r2, _080222D0 @ =0x02000000\n\
- mov r12, r2\n\
+ ldr r0, [r5]\n\
+ orrs r0, r6\n\
+ str r0, [r5]\n\
+ ldr r2, _080222D0 @ =0x02000000\n\
+ mov r12, r2\n\
_08022244:\n\
- ldr r1, _080222D4 @ =0x0001600c\n\
- add r1, r12\n\
- ldrb r0, [r1]\n\
- adds r0, 0x1\n\
- strb r0, [r1]\n\
+ ldr r1, _080222D4 @ =0x0001600c\n\
+ add r1, r12\n\
+ ldrb r0, [r1]\n\
+ adds r0, 0x1\n\
+ strb r0, [r1]\n\
_0802224E:\n\
- ldr r3, [sp, 0x10]\n\
- cmp r3, 0x1\n\
- bne _08022262\n\
- mov r4, r10\n\
- cmp r4, 0\n\
- bne _08022262\n\
- ldr r1, _080222D4 @ =0x0001600c\n\
- add r1, r12\n\
- movs r0, 0x11\n\
- strb r0, [r1]\n\
+ ldr r3, [sp, 0x10]\n\
+ cmp r3, 0x1\n\
+ bne _08022262\n\
+ mov r4, r10\n\
+ cmp r4, 0\n\
+ bne _08022262\n\
+ ldr r1, _080222D4 @ =0x0001600c\n\
+ add r1, r12\n\
+ movs r0, 0x11\n\
+ strb r0, [r1]\n\
_08022262:\n\
- ldr r5, [sp, 0x10]\n\
- cmp r5, 0x2\n\
- bne _08022278\n\
- ldr r1, _080222D4 @ =0x0001600c\n\
- add r1, r12\n\
- ldr r0, [sp, 0x14]\n\
- ldrb r2, [r1]\n\
- cmp r0, r2\n\
- bne _08022278\n\
- movs r0, 0x11\n\
- strb r0, [r1]\n\
+ ldr r5, [sp, 0x10]\n\
+ cmp r5, 0x2\n\
+ bne _08022278\n\
+ ldr r1, _080222D4 @ =0x0001600c\n\
+ add r1, r12\n\
+ ldr r0, [sp, 0x14]\n\
+ ldrb r2, [r1]\n\
+ cmp r0, r2\n\
+ bne _08022278\n\
+ movs r0, 0x11\n\
+ strb r0, [r1]\n\
_08022278:\n\
- ldr r0, _080222D4 @ =0x0001600c\n\
- add r0, r12\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x11\n\
- beq _08022286\n\
- bl _080218E4\n\
+ ldr r0, _080222D4 @ =0x0001600c\n\
+ add r0, r12\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x11\n\
+ beq _08022286\n\
+ bl _080218E4\n\
_08022286:\n\
- ldr r0, _080222D4 @ =0x0001600c\n\
- add r0, r12\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x11\n\
- bne _0802229E\n\
- mov r3, r10\n\
- cmp r3, 0\n\
- bne _0802229E\n\
- ldr r1, _080222D8 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r1]\n\
- adds r0, 0x3\n\
+ ldr r0, _080222D4 @ =0x0001600c\n\
+ add r0, r12\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x11\n\
+ bne _0802229E\n\
+ mov r3, r10\n\
+ cmp r3, 0\n\
+ bne _0802229E\n\
+ ldr r1, _080222D8 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r1]\n\
+ adds r0, 0x3\n\
_0802229C:\n\
- str r0, [r1]\n\
+ str r0, [r1]\n\
_0802229E:\n\
- add sp, 0x18\n\
- pop {r3-r5}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- mov r10, r5\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .align 2, 0\n\
+ add sp, 0x18\n\
+ pop {r3-r5}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ mov r10, r5\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
_080222B0: .4byte gHitMarker\n\
_080222B4: .4byte gBattleTypeFlags\n\
_080222B8: .4byte gProtectStructs\n\
@@ -9915,16 +9915,16 @@ _080222CC: .4byte gBattleMons\n\
_080222D0: .4byte 0x02000000\n\
_080222D4: .4byte 0x0001600c\n\
_080222D8: .4byte gBattlescriptCurrInstr\n\
- .syntax divided"
+ .syntax divided"
);
}
#endif // NONMATCHING
static void atk4A_typecalc2(void)
{
- u8 flags = 0;
- int i = 0;
- u8 move_type = gBattleMoves[gCurrentMove].type;
+ u8 flags = 0;
+ int i = 0;
+ u8 move_type = gBattleMoves[gCurrentMove].type;
if (gBattleMons[gBankTarget].ability == ABILITY_LEVITATE && move_type == TYPE_GROUND)
{
@@ -9948,32 +9948,32 @@ static void atk4A_typecalc2(void)
{
//check type1
if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type1)
- {
- if (gTypeEffectiveness[i + 2] == 0)
- {
- gBattleMoveFlags |= MOVE_NOTAFFECTED;
- break;
- }
- if (gTypeEffectiveness[i + 2] == 5)
- flags |= MOVE_NOTVERYEFFECTIVE;
- if (gTypeEffectiveness[i + 2] == 20)
- flags |= MOVE_SUPEREFFECTIVE;
- }
+ {
+ if (gTypeEffectiveness[i + 2] == 0)
+ {
+ gBattleMoveFlags |= MOVE_NOTAFFECTED;
+ break;
+ }
+ if (gTypeEffectiveness[i + 2] == 5)
+ flags |= MOVE_NOTVERYEFFECTIVE;
+ if (gTypeEffectiveness[i + 2] == 20)
+ flags |= MOVE_SUPEREFFECTIVE;
+ }
//check type2
if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2)
- {
- if (gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2
- && gTypeEffectiveness[i + 2] == 0)
- {
- gBattleMoveFlags |= MOVE_NOTAFFECTED;
- break;
- }
- if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2 && gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2 && gTypeEffectiveness[i + 2] == 5)
- flags |= MOVE_NOTVERYEFFECTIVE;
- if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2
- && gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2 && gTypeEffectiveness[i + 2] == 20)
- flags |= MOVE_SUPEREFFECTIVE;
- }
+ {
+ if (gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2
+ && gTypeEffectiveness[i + 2] == 0)
+ {
+ gBattleMoveFlags |= MOVE_NOTAFFECTED;
+ break;
+ }
+ if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2 && gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2 && gTypeEffectiveness[i + 2] == 5)
+ flags |= MOVE_NOTVERYEFFECTIVE;
+ if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2
+ && gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2 && gTypeEffectiveness[i + 2] == 20)
+ flags |= MOVE_SUPEREFFECTIVE;
+ }
}
i += 3;
}
@@ -9992,26 +9992,26 @@ static void atk4A_typecalc2(void)
if (gBattleMoveFlags & MOVE_NOTAFFECTED)
gProtectStructs[gBankAttacker].notEffective = 1;
- gBattlescriptCurrInstr++;
+ gBattlescriptCurrInstr++;
}
static void atk4B_return_atk_to_ball(void)
{
gActiveBank = gBankAttacker;
if (!(gHitMarker & HITMARKER_FAINTED(gActiveBank)))
- {
+ {
EmitReturnPokeToBall(0, 0);
MarkBufferBankForExecution(gActiveBank);
- }
- gBattlescriptCurrInstr++;
+ }
+ gBattlescriptCurrInstr++;
}
static void atk4C_copy_poke_data(void)
{
- if (gBattleExecBuffer)
- return;
+ if (gBattleExecBuffer)
+ return;
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
gBattlePartyID[gActiveBank] = unk_2000000[0x16068 + gActiveBank];
@@ -10023,61 +10023,61 @@ static void atk4C_copy_poke_data(void)
static inline u8 get_knocked_off_byte(u8 bank)
{
register u32 side asm("r2") = GetBankSide(bank);
- register struct WishFutureKnock* dummy = &gWishFutureKnock;
- register u8* aa = ((u8*)((u8*)(dummy)));
- register u8* bb = aa + 0x29;
- register u8* cc asm("r0") = side + bb;
+ register struct WishFutureKnock* dummy = &gWishFutureKnock;
+ register u8* aa = ((u8*)((u8*)(dummy)));
+ register u8* bb = aa + 0x29;
+ register u8* cc asm("r0") = side + bb;
return *cc;
}
static void atk4D_switch_data_update(void)
{
- struct BattlePokemon OldData;
- int i;
- u8 *monData;
- if (gBattleExecBuffer)
- return;
-
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
- OldData = gBattleMons[gActiveBank];
- monData = (u8*)(&gBattleMons[gActiveBank]);
- for (i = 0; i < sizeof(struct BattlePokemon); i++)
- {
+ struct BattlePokemon OldData;
+ int i;
+ u8 *monData;
+ if (gBattleExecBuffer)
+ return;
+
+ gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ OldData = gBattleMons[gActiveBank];
+ monData = (u8*)(&gBattleMons[gActiveBank]);
+ for (i = 0; i < sizeof(struct BattlePokemon); i++)
+ {
monData[i] = gBattleBufferB[gActiveBank][4 + i];
- }
-
- gBattleMons[gActiveBank].type1 = gBaseStats[gBattleMons[gActiveBank].species].type1;
- gBattleMons[gActiveBank].type2 = gBaseStats[gBattleMons[gActiveBank].species].type2;
- gBattleMons[gActiveBank].ability = GetAbilityBySpecies(gBattleMons[gActiveBank].species, gBattleMons[gActiveBank].altAbility);
- //check knocked off item
- if (get_knocked_off_byte(gActiveBank) & gBitTable[gBattlePartyID[gActiveBank]])
- {
- gBattleMons[gActiveBank].item = 0;
- }
-
- if (gBattleMoves[gCurrentMove].effect == EFFECT_BATON_PASS)
- {
+ }
+
+ gBattleMons[gActiveBank].type1 = gBaseStats[gBattleMons[gActiveBank].species].type1;
+ gBattleMons[gActiveBank].type2 = gBaseStats[gBattleMons[gActiveBank].species].type2;
+ gBattleMons[gActiveBank].ability = GetAbilityBySpecies(gBattleMons[gActiveBank].species, gBattleMons[gActiveBank].altAbility);
+ //check knocked off item
+ if (get_knocked_off_byte(gActiveBank) & gBitTable[gBattlePartyID[gActiveBank]])
+ {
+ gBattleMons[gActiveBank].item = 0;
+ }
+
+ if (gBattleMoves[gCurrentMove].effect == EFFECT_BATON_PASS)
+ {
for (i = 0; i < 8; i++)
- {
- gBattleMons[gActiveBank].statStages[i] = OldData.statStages[i];
- }
- gBattleMons[gActiveBank].status2 = OldData.status2;
- }
- SwitchInClearStructs();
- BATTLE_STRUCT->scriptingActive = gActiveBank;
- gBattleTextBuff1[0] = 0xFD;
- gBattleTextBuff1[1] = 7;
- gBattleTextBuff1[2] = gActiveBank;
- gBattleTextBuff1[3] = gBattlePartyID[gActiveBank];
- gBattleTextBuff1[4] = 0xFF;
-
- gBattlescriptCurrInstr += 2;
+ {
+ gBattleMons[gActiveBank].statStages[i] = OldData.statStages[i];
+ }
+ gBattleMons[gActiveBank].status2 = OldData.status2;
+ }
+ SwitchInClearStructs();
+ BATTLE_STRUCT->scriptingActive = gActiveBank;
+ gBattleTextBuff1[0] = 0xFD;
+ gBattleTextBuff1[1] = 7;
+ gBattleTextBuff1[2] = gActiveBank;
+ gBattleTextBuff1[3] = gBattlePartyID[gActiveBank];
+ gBattleTextBuff1[4] = 0xFF;
+
+ gBattlescriptCurrInstr += 2;
}
static void atk4E_switchin_anim(void)
{
if (gBattleExecBuffer)
- return;
+ return;
gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
if (GetBankSide(gActiveBank) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER)))
@@ -10220,93 +10220,93 @@ __attribute__((naked))
static void atk50_openpartyscreen(void)
{
asm(".syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r9\n\
- mov r6, r8\n\
- push {r6,r7}\n\
- sub sp, 0x4\n\
- movs r7, 0\n\
- movs r0, 0\n\
- mov r9, r0\n\
- ldr r6, _08022B44 @ =gBattlescriptCurrInstr\n\
- ldr r1, [r6]\n\
- ldrb r2, [r1, 0x2]\n\
- ldrb r0, [r1, 0x3]\n\
- lsls r0, 8\n\
- orrs r2, r0\n\
- ldrb r0, [r1, 0x4]\n\
- lsls r0, 16\n\
- orrs r2, r0\n\
- ldrb r0, [r1, 0x5]\n\
- lsls r0, 24\n\
- orrs r2, r0\n\
- mov r8, r2\n\
- ldrb r2, [r1, 0x1]\n\
- adds r0, r2, 0\n\
- mov r12, r6\n\
- cmp r0, 0x5\n\
- beq _08022ACE\n\
- b _08022F74\n\
+ push {r4-r7,lr}\n\
+ mov r7, r9\n\
+ mov r6, r8\n\
+ push {r6,r7}\n\
+ sub sp, 0x4\n\
+ movs r7, 0\n\
+ movs r0, 0\n\
+ mov r9, r0\n\
+ ldr r6, _08022B44 @ =gBattlescriptCurrInstr\n\
+ ldr r1, [r6]\n\
+ ldrb r2, [r1, 0x2]\n\
+ ldrb r0, [r1, 0x3]\n\
+ lsls r0, 8\n\
+ orrs r2, r0\n\
+ ldrb r0, [r1, 0x4]\n\
+ lsls r0, 16\n\
+ orrs r2, r0\n\
+ ldrb r0, [r1, 0x5]\n\
+ lsls r0, 24\n\
+ orrs r2, r0\n\
+ mov r8, r2\n\
+ ldrb r2, [r1, 0x1]\n\
+ adds r0, r2, 0\n\
+ mov r12, r6\n\
+ cmp r0, 0x5\n\
+ beq _08022ACE\n\
+ b _08022F74\n\
_08022ACE:\n\
- ldr r0, _08022B48 @ =gBattleTypeFlags\n\
- ldrh r0, [r0]\n\
- movs r1, 0x41\n\
- ands r1, r0\n\
- cmp r1, 0x1\n\
- beq _08022BBC\n\
- ldr r1, _08022B4C @ =gActiveBank\n\
- strb r7, [r1]\n\
- ldr r0, _08022B50 @ =gNoOfAllBanks\n\
- ldrb r0, [r0]\n\
- cmp r7, r0\n\
- bcc _08022AE8\n\
- b _08022F62\n\
+ ldr r0, _08022B48 @ =gBattleTypeFlags\n\
+ ldrh r0, [r0]\n\
+ movs r1, 0x41\n\
+ ands r1, r0\n\
+ cmp r1, 0x1\n\
+ beq _08022BBC\n\
+ ldr r1, _08022B4C @ =gActiveBank\n\
+ strb r7, [r1]\n\
+ ldr r0, _08022B50 @ =gNoOfAllBanks\n\
+ ldrb r0, [r0]\n\
+ cmp r7, r0\n\
+ bcc _08022AE8\n\
+ b _08022F62\n\
_08022AE8:\n\
- ldr r7, _08022B54 @ =gHitMarker\n\
- ldr r6, _08022B58 @ =gBitTable\n\
- adds r4, r1, 0\n\
- ldr r0, _08022B5C @ =gAbsentBankFlags\n\
- mov r8, r0\n\
+ ldr r7, _08022B54 @ =gHitMarker\n\
+ ldr r6, _08022B58 @ =gBitTable\n\
+ adds r4, r1, 0\n\
+ ldr r0, _08022B5C @ =gAbsentBankFlags\n\
+ mov r8, r0\n\
_08022AF2:\n\
- ldrb r2, [r4]\n\
- lsls r0, r2, 2\n\
- adds r0, r6\n\
- ldr r1, [r0]\n\
- lsls r1, 28\n\
- ldr r0, [r7]\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08022B94\n\
- adds r0, r2, 0\n\
- movs r1, 0x6\n\
- movs r2, 0x6\n\
- bl sub_8018018\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _08022B60\n\
- ldrb r0, [r4]\n\
- lsls r0, 2\n\
- adds r0, r6\n\
- ldr r0, [r0]\n\
- mov r2, r8\n\
- ldrb r1, [r2]\n\
- orrs r0, r1\n\
- strb r0, [r2]\n\
- ldrb r0, [r4]\n\
- lsls r0, 2\n\
- adds r0, r6\n\
- ldr r1, [r0]\n\
- lsls r1, 28\n\
- ldr r0, [r7]\n\
- bics r0, r1\n\
- str r0, [r7]\n\
- movs r0, 0\n\
- movs r1, 0x2\n\
- bl EmitLinkStandbyMsg\n\
- ldrb r0, [r4]\n\
- bl MarkBufferBankForExecution\n\
- b _08022BA2\n\
- .align 2, 0\n\
+ ldrb r2, [r4]\n\
+ lsls r0, r2, 2\n\
+ adds r0, r6\n\
+ ldr r1, [r0]\n\
+ lsls r1, 28\n\
+ ldr r0, [r7]\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _08022B94\n\
+ adds r0, r2, 0\n\
+ movs r1, 0x6\n\
+ movs r2, 0x6\n\
+ bl sub_8018018\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _08022B60\n\
+ ldrb r0, [r4]\n\
+ lsls r0, 2\n\
+ adds r0, r6\n\
+ ldr r0, [r0]\n\
+ mov r2, r8\n\
+ ldrb r1, [r2]\n\
+ orrs r0, r1\n\
+ strb r0, [r2]\n\
+ ldrb r0, [r4]\n\
+ lsls r0, 2\n\
+ adds r0, r6\n\
+ ldr r1, [r0]\n\
+ lsls r1, 28\n\
+ ldr r0, [r7]\n\
+ bics r0, r1\n\
+ str r0, [r7]\n\
+ movs r0, 0\n\
+ movs r1, 0x2\n\
+ bl EmitLinkStandbyMsg\n\
+ ldrb r0, [r4]\n\
+ bl MarkBufferBankForExecution\n\
+ b _08022BA2\n\
+ .align 2, 0\n\
_08022B44: .4byte gBattlescriptCurrInstr\n\
_08022B48: .4byte gBattleTypeFlags\n\
_08022B4C: .4byte gActiveBank\n\
@@ -10315,550 +10315,550 @@ _08022B54: .4byte gHitMarker\n\
_08022B58: .4byte gBitTable\n\
_08022B5C: .4byte gAbsentBankFlags\n\
_08022B60:\n\
- ldr r5, _08022B90 @ =gSpecialStatuses\n\
- ldrb r0, [r4]\n\
- lsls r1, r0, 2\n\
- adds r1, r0\n\
- lsls r1, 2\n\
- adds r1, r5\n\
- ldrb r0, [r1]\n\
- lsls r0, 25\n\
- cmp r0, 0\n\
- blt _08022BA2\n\
- movs r0, 0x6\n\
- bl sub_8022A3C\n\
- ldrb r1, [r4]\n\
- lsls r0, r1, 2\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r0, r5\n\
- ldrb r1, [r0]\n\
- movs r2, 0x40\n\
- orrs r1, r2\n\
- strb r1, [r0]\n\
- b _08022BA2\n\
- .align 2, 0\n\
+ ldr r5, _08022B90 @ =gSpecialStatuses\n\
+ ldrb r0, [r4]\n\
+ lsls r1, r0, 2\n\
+ adds r1, r0\n\
+ lsls r1, 2\n\
+ adds r1, r5\n\
+ ldrb r0, [r1]\n\
+ lsls r0, 25\n\
+ cmp r0, 0\n\
+ blt _08022BA2\n\
+ movs r0, 0x6\n\
+ bl sub_8022A3C\n\
+ ldrb r1, [r4]\n\
+ lsls r0, r1, 2\n\
+ adds r0, r1\n\
+ lsls r0, 2\n\
+ adds r0, r5\n\
+ ldrb r1, [r0]\n\
+ movs r2, 0x40\n\
+ orrs r1, r2\n\
+ strb r1, [r0]\n\
+ b _08022BA2\n\
+ .align 2, 0\n\
_08022B90: .4byte gSpecialStatuses\n\
_08022B94:\n\
- movs r0, 0\n\
- movs r1, 0x2\n\
- bl EmitLinkStandbyMsg\n\
- ldrb r0, [r4]\n\
- bl MarkBufferBankForExecution\n\
+ movs r0, 0\n\
+ movs r1, 0x2\n\
+ bl EmitLinkStandbyMsg\n\
+ ldrb r0, [r4]\n\
+ bl MarkBufferBankForExecution\n\
_08022BA2:\n\
- ldrb r0, [r4]\n\
- adds r0, 0x1\n\
- strb r0, [r4]\n\
- ldr r1, _08022BB8 @ =gNoOfAllBanks\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- ldrb r1, [r1]\n\
- cmp r0, r1\n\
- bcc _08022AF2\n\
- b _08022F62\n\
- .align 2, 0\n\
+ ldrb r0, [r4]\n\
+ adds r0, 0x1\n\
+ strb r0, [r4]\n\
+ ldr r1, _08022BB8 @ =gNoOfAllBanks\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ ldrb r1, [r1]\n\
+ cmp r0, r1\n\
+ bcc _08022AF2\n\
+ b _08022F62\n\
+ .align 2, 0\n\
_08022BB8: .4byte gNoOfAllBanks\n\
_08022BBC:\n\
- ands r1, r0\n\
- cmp r1, 0\n\
- bne _08022BC4\n\
- b _08022F62\n\
+ ands r1, r0\n\
+ cmp r1, 0\n\
+ bne _08022BC4\n\
+ b _08022F62\n\
_08022BC4:\n\
- ldr r0, _08022C1C @ =gHitMarker\n\
- mov r8, r0\n\
- ldr r0, [r0]\n\
- lsrs r5, r0, 28\n\
- ldr r6, _08022C20 @ =gBitTable\n\
- ldr r0, [r6]\n\
- ands r0, r5\n\
- cmp r0, 0\n\
- beq _08022C7E\n\
- ldr r4, _08022C24 @ =gActiveBank\n\
- strb r7, [r4]\n\
- movs r0, 0\n\
- movs r1, 0x6\n\
- movs r2, 0x6\n\
- bl sub_8018018\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _08022C2C\n\
- ldr r2, _08022C28 @ =gAbsentBankFlags\n\
- ldrb r0, [r4]\n\
- lsls r0, 2\n\
- adds r0, r6\n\
- ldr r0, [r0]\n\
- ldrb r1, [r2]\n\
- orrs r0, r1\n\
- strb r0, [r2]\n\
- ldrb r0, [r4]\n\
- lsls r0, 2\n\
- adds r0, r6\n\
- ldr r1, [r0]\n\
- lsls r1, 28\n\
- mov r2, r8\n\
- ldr r0, [r2]\n\
- bics r0, r1\n\
- str r0, [r2]\n\
- movs r0, 0\n\
- bl dp01_build_cmdbuf_x2A_2A_2A_2A\n\
- ldrb r0, [r4]\n\
- bl MarkBufferBankForExecution\n\
- b _08022C7E\n\
- .align 2, 0\n\
+ ldr r0, _08022C1C @ =gHitMarker\n\
+ mov r8, r0\n\
+ ldr r0, [r0]\n\
+ lsrs r5, r0, 28\n\
+ ldr r6, _08022C20 @ =gBitTable\n\
+ ldr r0, [r6]\n\
+ ands r0, r5\n\
+ cmp r0, 0\n\
+ beq _08022C7E\n\
+ ldr r4, _08022C24 @ =gActiveBank\n\
+ strb r7, [r4]\n\
+ movs r0, 0\n\
+ movs r1, 0x6\n\
+ movs r2, 0x6\n\
+ bl sub_8018018\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _08022C2C\n\
+ ldr r2, _08022C28 @ =gAbsentBankFlags\n\
+ ldrb r0, [r4]\n\
+ lsls r0, 2\n\
+ adds r0, r6\n\
+ ldr r0, [r0]\n\
+ ldrb r1, [r2]\n\
+ orrs r0, r1\n\
+ strb r0, [r2]\n\
+ ldrb r0, [r4]\n\
+ lsls r0, 2\n\
+ adds r0, r6\n\
+ ldr r1, [r0]\n\
+ lsls r1, 28\n\
+ mov r2, r8\n\
+ ldr r0, [r2]\n\
+ bics r0, r1\n\
+ str r0, [r2]\n\
+ movs r0, 0\n\
+ bl dp01_build_cmdbuf_x2A_2A_2A_2A\n\
+ ldrb r0, [r4]\n\
+ bl MarkBufferBankForExecution\n\
+ b _08022C7E\n\
+ .align 2, 0\n\
_08022C1C: .4byte gHitMarker\n\
_08022C20: .4byte gBitTable\n\
_08022C24: .4byte gActiveBank\n\
_08022C28: .4byte gAbsentBankFlags\n\
_08022C2C:\n\
- ldr r6, _08022C60 @ =gSpecialStatuses\n\
- ldrb r0, [r4]\n\
- lsls r1, r0, 2\n\
- adds r1, r0\n\
- lsls r1, 2\n\
- adds r1, r6\n\
- ldrb r0, [r1]\n\
- lsls r0, 25\n\
- cmp r0, 0\n\
- blt _08022C6C\n\
- ldr r0, _08022C64 @ =0x02000000\n\
- ldr r1, _08022C68 @ =0x0001606a\n\
- adds r0, r1\n\
- ldrb r0, [r0]\n\
- bl sub_8022A3C\n\
- ldrb r1, [r4]\n\
- lsls r0, r1, 2\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r0, r6\n\
- ldrb r1, [r0]\n\
- movs r2, 0x40\n\
- orrs r1, r2\n\
- strb r1, [r0]\n\
- b _08022C7E\n\
- .align 2, 0\n\
+ ldr r6, _08022C60 @ =gSpecialStatuses\n\
+ ldrb r0, [r4]\n\
+ lsls r1, r0, 2\n\
+ adds r1, r0\n\
+ lsls r1, 2\n\
+ adds r1, r6\n\
+ ldrb r0, [r1]\n\
+ lsls r0, 25\n\
+ cmp r0, 0\n\
+ blt _08022C6C\n\
+ ldr r0, _08022C64 @ =0x02000000\n\
+ ldr r1, _08022C68 @ =0x0001606a\n\
+ adds r0, r1\n\
+ ldrb r0, [r0]\n\
+ bl sub_8022A3C\n\
+ ldrb r1, [r4]\n\
+ lsls r0, r1, 2\n\
+ adds r0, r1\n\
+ lsls r0, 2\n\
+ adds r0, r6\n\
+ ldrb r1, [r0]\n\
+ movs r2, 0x40\n\
+ orrs r1, r2\n\
+ strb r1, [r0]\n\
+ b _08022C7E\n\
+ .align 2, 0\n\
_08022C60: .4byte gSpecialStatuses\n\
_08022C64: .4byte 0x02000000\n\
_08022C68: .4byte 0x0001606a\n\
_08022C6C:\n\
- movs r0, 0\n\
- movs r1, 0x2\n\
- bl EmitLinkStandbyMsg\n\
- ldrb r0, [r4]\n\
- bl MarkBufferBankForExecution\n\
- movs r2, 0x1\n\
- mov r9, r2\n\
+ movs r0, 0\n\
+ movs r1, 0x2\n\
+ bl EmitLinkStandbyMsg\n\
+ ldrb r0, [r4]\n\
+ bl MarkBufferBankForExecution\n\
+ movs r2, 0x1\n\
+ mov r9, r2\n\
_08022C7E:\n\
- ldr r6, _08022CD8 @ =gBitTable\n\
- ldr r0, [r6, 0x8]\n\
- ands r0, r5\n\
- cmp r0, 0\n\
- beq _08022D40\n\
- ldr r0, [r6]\n\
- ands r0, r5\n\
- cmp r0, 0\n\
- bne _08022D40\n\
- ldr r4, _08022CDC @ =gActiveBank\n\
- movs r0, 0x2\n\
- strb r0, [r4]\n\
- movs r0, 0x2\n\
- movs r1, 0x6\n\
- movs r2, 0x6\n\
- bl sub_8018018\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _08022CE8\n\
- ldr r2, _08022CE0 @ =gAbsentBankFlags\n\
- ldrb r0, [r4]\n\
- lsls r0, 2\n\
- adds r0, r6\n\
- ldr r0, [r0]\n\
- ldrb r1, [r2]\n\
- orrs r0, r1\n\
- strb r0, [r2]\n\
- ldr r2, _08022CE4 @ =gHitMarker\n\
- ldrb r0, [r4]\n\
- lsls r0, 2\n\
- adds r0, r6\n\
- ldr r1, [r0]\n\
- lsls r1, 28\n\
- ldr r0, [r2]\n\
- bics r0, r1\n\
- str r0, [r2]\n\
- movs r0, 0\n\
- bl dp01_build_cmdbuf_x2A_2A_2A_2A\n\
- ldrb r0, [r4]\n\
- bl MarkBufferBankForExecution\n\
- b _08022D40\n\
- .align 2, 0\n\
+ ldr r6, _08022CD8 @ =gBitTable\n\
+ ldr r0, [r6, 0x8]\n\
+ ands r0, r5\n\
+ cmp r0, 0\n\
+ beq _08022D40\n\
+ ldr r0, [r6]\n\
+ ands r0, r5\n\
+ cmp r0, 0\n\
+ bne _08022D40\n\
+ ldr r4, _08022CDC @ =gActiveBank\n\
+ movs r0, 0x2\n\
+ strb r0, [r4]\n\
+ movs r0, 0x2\n\
+ movs r1, 0x6\n\
+ movs r2, 0x6\n\
+ bl sub_8018018\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _08022CE8\n\
+ ldr r2, _08022CE0 @ =gAbsentBankFlags\n\
+ ldrb r0, [r4]\n\
+ lsls r0, 2\n\
+ adds r0, r6\n\
+ ldr r0, [r0]\n\
+ ldrb r1, [r2]\n\
+ orrs r0, r1\n\
+ strb r0, [r2]\n\
+ ldr r2, _08022CE4 @ =gHitMarker\n\
+ ldrb r0, [r4]\n\
+ lsls r0, 2\n\
+ adds r0, r6\n\
+ ldr r1, [r0]\n\
+ lsls r1, 28\n\
+ ldr r0, [r2]\n\
+ bics r0, r1\n\
+ str r0, [r2]\n\
+ movs r0, 0\n\
+ bl dp01_build_cmdbuf_x2A_2A_2A_2A\n\
+ ldrb r0, [r4]\n\
+ bl MarkBufferBankForExecution\n\
+ b _08022D40\n\
+ .align 2, 0\n\
_08022CD8: .4byte gBitTable\n\
_08022CDC: .4byte gActiveBank\n\
_08022CE0: .4byte gAbsentBankFlags\n\
_08022CE4: .4byte gHitMarker\n\
_08022CE8:\n\
- ldr r6, _08022D1C @ =gSpecialStatuses\n\
- ldrb r0, [r4]\n\
- lsls r1, r0, 2\n\
- adds r1, r0\n\
- lsls r1, 2\n\
- adds r1, r6\n\
- ldrb r0, [r1]\n\
- lsls r0, 25\n\
- cmp r0, 0\n\
- blt _08022D28\n\
- ldr r0, _08022D20 @ =0x02000000\n\
- ldr r1, _08022D24 @ =0x00016068\n\
- adds r0, r1\n\
- ldrb r0, [r0]\n\
- bl sub_8022A3C\n\
- ldrb r1, [r4]\n\
- lsls r0, r1, 2\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r0, r6\n\
- ldrb r1, [r0]\n\
- movs r2, 0x40\n\
- orrs r1, r2\n\
- strb r1, [r0]\n\
- b _08022D40\n\
- .align 2, 0\n\
+ ldr r6, _08022D1C @ =gSpecialStatuses\n\
+ ldrb r0, [r4]\n\
+ lsls r1, r0, 2\n\
+ adds r1, r0\n\
+ lsls r1, 2\n\
+ adds r1, r6\n\
+ ldrb r0, [r1]\n\
+ lsls r0, 25\n\
+ cmp r0, 0\n\
+ blt _08022D28\n\
+ ldr r0, _08022D20 @ =0x02000000\n\
+ ldr r1, _08022D24 @ =0x00016068\n\
+ adds r0, r1\n\
+ ldrb r0, [r0]\n\
+ bl sub_8022A3C\n\
+ ldrb r1, [r4]\n\
+ lsls r0, r1, 2\n\
+ adds r0, r1\n\
+ lsls r0, 2\n\
+ adds r0, r6\n\
+ ldrb r1, [r0]\n\
+ movs r2, 0x40\n\
+ orrs r1, r2\n\
+ strb r1, [r0]\n\
+ b _08022D40\n\
+ .align 2, 0\n\
_08022D1C: .4byte gSpecialStatuses\n\
_08022D20: .4byte 0x02000000\n\
_08022D24: .4byte 0x00016068\n\
_08022D28:\n\
- movs r0, 0x1\n\
- mov r2, r9\n\
- ands r0, r2\n\
- cmp r0, 0\n\
- bne _08022D40\n\
- movs r0, 0\n\
- movs r1, 0x2\n\
- bl EmitLinkStandbyMsg\n\
- ldrb r0, [r4]\n\
- bl MarkBufferBankForExecution\n\
+ movs r0, 0x1\n\
+ mov r2, r9\n\
+ ands r0, r2\n\
+ cmp r0, 0\n\
+ bne _08022D40\n\
+ movs r0, 0\n\
+ movs r1, 0x2\n\
+ bl EmitLinkStandbyMsg\n\
+ ldrb r0, [r4]\n\
+ bl MarkBufferBankForExecution\n\
_08022D40:\n\
- ldr r6, _08022D90 @ =gBitTable\n\
- ldr r0, [r6, 0x4]\n\
- ands r0, r5\n\
- cmp r0, 0\n\
- beq _08022DF6\n\
- ldr r4, _08022D94 @ =gActiveBank\n\
- movs r0, 0x1\n\
- strb r0, [r4]\n\
- movs r0, 0x1\n\
- movs r1, 0x6\n\
- movs r2, 0x6\n\
- bl sub_8018018\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _08022DA0\n\
- ldr r2, _08022D98 @ =gAbsentBankFlags\n\
- ldrb r0, [r4]\n\
- lsls r0, 2\n\
- adds r0, r6\n\
- ldr r0, [r0]\n\
- ldrb r1, [r2]\n\
- orrs r0, r1\n\
- strb r0, [r2]\n\
- ldr r2, _08022D9C @ =gHitMarker\n\
- ldrb r0, [r4]\n\
- lsls r0, 2\n\
- adds r0, r6\n\
- ldr r1, [r0]\n\
- lsls r1, 28\n\
- ldr r0, [r2]\n\
- bics r0, r1\n\
- str r0, [r2]\n\
- movs r0, 0\n\
- bl dp01_build_cmdbuf_x2A_2A_2A_2A\n\
- ldrb r0, [r4]\n\
- bl MarkBufferBankForExecution\n\
- b _08022DF6\n\
- .align 2, 0\n\
+ ldr r6, _08022D90 @ =gBitTable\n\
+ ldr r0, [r6, 0x4]\n\
+ ands r0, r5\n\
+ cmp r0, 0\n\
+ beq _08022DF6\n\
+ ldr r4, _08022D94 @ =gActiveBank\n\
+ movs r0, 0x1\n\
+ strb r0, [r4]\n\
+ movs r0, 0x1\n\
+ movs r1, 0x6\n\
+ movs r2, 0x6\n\
+ bl sub_8018018\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _08022DA0\n\
+ ldr r2, _08022D98 @ =gAbsentBankFlags\n\
+ ldrb r0, [r4]\n\
+ lsls r0, 2\n\
+ adds r0, r6\n\
+ ldr r0, [r0]\n\
+ ldrb r1, [r2]\n\
+ orrs r0, r1\n\
+ strb r0, [r2]\n\
+ ldr r2, _08022D9C @ =gHitMarker\n\
+ ldrb r0, [r4]\n\
+ lsls r0, 2\n\
+ adds r0, r6\n\
+ ldr r1, [r0]\n\
+ lsls r1, 28\n\
+ ldr r0, [r2]\n\
+ bics r0, r1\n\
+ str r0, [r2]\n\
+ movs r0, 0\n\
+ bl dp01_build_cmdbuf_x2A_2A_2A_2A\n\
+ ldrb r0, [r4]\n\
+ bl MarkBufferBankForExecution\n\
+ b _08022DF6\n\
+ .align 2, 0\n\
_08022D90: .4byte gBitTable\n\
_08022D94: .4byte gActiveBank\n\
_08022D98: .4byte gAbsentBankFlags\n\
_08022D9C: .4byte gHitMarker\n\
_08022DA0:\n\
- ldr r6, _08022DD4 @ =gSpecialStatuses\n\
- ldrb r0, [r4]\n\
- lsls r1, r0, 2\n\
- adds r1, r0\n\
- lsls r1, 2\n\
- adds r1, r6\n\
- ldrb r0, [r1]\n\
- lsls r0, 25\n\
- cmp r0, 0\n\
- blt _08022DE0\n\
- ldr r0, _08022DD8 @ =0x02000000\n\
- ldr r1, _08022DDC @ =0x0001606b\n\
- adds r0, r1\n\
- ldrb r0, [r0]\n\
- bl sub_8022A3C\n\
- ldrb r1, [r4]\n\
- lsls r0, r1, 2\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r0, r6\n\
- ldrb r1, [r0]\n\
- movs r2, 0x40\n\
- orrs r1, r2\n\
- strb r1, [r0]\n\
- b _08022DF6\n\
- .align 2, 0\n\
+ ldr r6, _08022DD4 @ =gSpecialStatuses\n\
+ ldrb r0, [r4]\n\
+ lsls r1, r0, 2\n\
+ adds r1, r0\n\
+ lsls r1, 2\n\
+ adds r1, r6\n\
+ ldrb r0, [r1]\n\
+ lsls r0, 25\n\
+ cmp r0, 0\n\
+ blt _08022DE0\n\
+ ldr r0, _08022DD8 @ =0x02000000\n\
+ ldr r1, _08022DDC @ =0x0001606b\n\
+ adds r0, r1\n\
+ ldrb r0, [r0]\n\
+ bl sub_8022A3C\n\
+ ldrb r1, [r4]\n\
+ lsls r0, r1, 2\n\
+ adds r0, r1\n\
+ lsls r0, 2\n\
+ adds r0, r6\n\
+ ldrb r1, [r0]\n\
+ movs r2, 0x40\n\
+ orrs r1, r2\n\
+ strb r1, [r0]\n\
+ b _08022DF6\n\
+ .align 2, 0\n\
_08022DD4: .4byte gSpecialStatuses\n\
_08022DD8: .4byte 0x02000000\n\
_08022DDC: .4byte 0x0001606b\n\
_08022DE0:\n\
- movs r0, 0\n\
- movs r1, 0x2\n\
- bl EmitLinkStandbyMsg\n\
- ldrb r0, [r4]\n\
- bl MarkBufferBankForExecution\n\
- movs r0, 0x2\n\
- mov r2, r9\n\
- orrs r2, r0\n\
- mov r9, r2\n\
+ movs r0, 0\n\
+ movs r1, 0x2\n\
+ bl EmitLinkStandbyMsg\n\
+ ldrb r0, [r4]\n\
+ bl MarkBufferBankForExecution\n\
+ movs r0, 0x2\n\
+ mov r2, r9\n\
+ orrs r2, r0\n\
+ mov r9, r2\n\
_08022DF6:\n\
- ldr r6, _08022E50 @ =gBitTable\n\
- ldr r0, [r6, 0xC]\n\
- ands r0, r5\n\
- cmp r0, 0\n\
- beq _08022EB8\n\
- ldr r0, [r6, 0x4]\n\
- ands r0, r5\n\
- cmp r0, 0\n\
- bne _08022EB8\n\
- ldr r4, _08022E54 @ =gActiveBank\n\
- movs r0, 0x3\n\
- strb r0, [r4]\n\
- movs r0, 0x3\n\
- movs r1, 0x6\n\
- movs r2, 0x6\n\
- bl sub_8018018\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _08022E60\n\
- ldr r2, _08022E58 @ =gAbsentBankFlags\n\
- ldrb r0, [r4]\n\
- lsls r0, 2\n\
- adds r0, r6\n\
- ldr r0, [r0]\n\
- ldrb r1, [r2]\n\
- orrs r0, r1\n\
- strb r0, [r2]\n\
- ldr r2, _08022E5C @ =gHitMarker\n\
- ldrb r0, [r4]\n\
- lsls r0, 2\n\
- adds r0, r6\n\
- ldr r1, [r0]\n\
- lsls r1, 28\n\
- ldr r0, [r2]\n\
- bics r0, r1\n\
- str r0, [r2]\n\
- movs r0, 0\n\
- bl dp01_build_cmdbuf_x2A_2A_2A_2A\n\
- ldrb r0, [r4]\n\
- bl MarkBufferBankForExecution\n\
- b _08022EB8\n\
- .align 2, 0\n\
+ ldr r6, _08022E50 @ =gBitTable\n\
+ ldr r0, [r6, 0xC]\n\
+ ands r0, r5\n\
+ cmp r0, 0\n\
+ beq _08022EB8\n\
+ ldr r0, [r6, 0x4]\n\
+ ands r0, r5\n\
+ cmp r0, 0\n\
+ bne _08022EB8\n\
+ ldr r4, _08022E54 @ =gActiveBank\n\
+ movs r0, 0x3\n\
+ strb r0, [r4]\n\
+ movs r0, 0x3\n\
+ movs r1, 0x6\n\
+ movs r2, 0x6\n\
+ bl sub_8018018\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _08022E60\n\
+ ldr r2, _08022E58 @ =gAbsentBankFlags\n\
+ ldrb r0, [r4]\n\
+ lsls r0, 2\n\
+ adds r0, r6\n\
+ ldr r0, [r0]\n\
+ ldrb r1, [r2]\n\
+ orrs r0, r1\n\
+ strb r0, [r2]\n\
+ ldr r2, _08022E5C @ =gHitMarker\n\
+ ldrb r0, [r4]\n\
+ lsls r0, 2\n\
+ adds r0, r6\n\
+ ldr r1, [r0]\n\
+ lsls r1, 28\n\
+ ldr r0, [r2]\n\
+ bics r0, r1\n\
+ str r0, [r2]\n\
+ movs r0, 0\n\
+ bl dp01_build_cmdbuf_x2A_2A_2A_2A\n\
+ ldrb r0, [r4]\n\
+ bl MarkBufferBankForExecution\n\
+ b _08022EB8\n\
+ .align 2, 0\n\
_08022E50: .4byte gBitTable\n\
_08022E54: .4byte gActiveBank\n\
_08022E58: .4byte gAbsentBankFlags\n\
_08022E5C: .4byte gHitMarker\n\
_08022E60:\n\
- ldr r6, _08022E94 @ =gSpecialStatuses\n\
- ldrb r0, [r4]\n\
- lsls r1, r0, 2\n\
- adds r1, r0\n\
- lsls r1, 2\n\
- adds r1, r6\n\
- ldrb r0, [r1]\n\
- lsls r0, 25\n\
- cmp r0, 0\n\
- blt _08022EA0\n\
- ldr r0, _08022E98 @ =0x02000000\n\
- ldr r1, _08022E9C @ =0x00016069\n\
- adds r0, r1\n\
- ldrb r0, [r0]\n\
- bl sub_8022A3C\n\
- ldrb r1, [r4]\n\
- lsls r0, r1, 2\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r0, r6\n\
- ldrb r1, [r0]\n\
- movs r2, 0x40\n\
- orrs r1, r2\n\
- strb r1, [r0]\n\
- b _08022EB8\n\
- .align 2, 0\n\
+ ldr r6, _08022E94 @ =gSpecialStatuses\n\
+ ldrb r0, [r4]\n\
+ lsls r1, r0, 2\n\
+ adds r1, r0\n\
+ lsls r1, 2\n\
+ adds r1, r6\n\
+ ldrb r0, [r1]\n\
+ lsls r0, 25\n\
+ cmp r0, 0\n\
+ blt _08022EA0\n\
+ ldr r0, _08022E98 @ =0x02000000\n\
+ ldr r1, _08022E9C @ =0x00016069\n\
+ adds r0, r1\n\
+ ldrb r0, [r0]\n\
+ bl sub_8022A3C\n\
+ ldrb r1, [r4]\n\
+ lsls r0, r1, 2\n\
+ adds r0, r1\n\
+ lsls r0, 2\n\
+ adds r0, r6\n\
+ ldrb r1, [r0]\n\
+ movs r2, 0x40\n\
+ orrs r1, r2\n\
+ strb r1, [r0]\n\
+ b _08022EB8\n\
+ .align 2, 0\n\
_08022E94: .4byte gSpecialStatuses\n\
_08022E98: .4byte 0x02000000\n\
_08022E9C: .4byte 0x00016069\n\
_08022EA0:\n\
- movs r0, 0x2\n\
- mov r2, r9\n\
- ands r2, r0\n\
- cmp r2, 0\n\
- bne _08022EB8\n\
- movs r0, 0\n\
- movs r1, 0x2\n\
- bl EmitLinkStandbyMsg\n\
- ldrb r0, [r4]\n\
- bl MarkBufferBankForExecution\n\
+ movs r0, 0x2\n\
+ mov r2, r9\n\
+ ands r2, r0\n\
+ cmp r2, 0\n\
+ bne _08022EB8\n\
+ movs r0, 0\n\
+ movs r1, 0x2\n\
+ bl EmitLinkStandbyMsg\n\
+ ldrb r0, [r4]\n\
+ bl MarkBufferBankForExecution\n\
_08022EB8:\n\
- ldr r1, _08022EE8 @ =gSpecialStatuses\n\
- ldrb r0, [r1]\n\
- lsls r0, 25\n\
- cmp r0, 0\n\
- blt _08022F0C\n\
- adds r0, r1, 0\n\
- adds r0, 0x28\n\
- ldrb r0, [r0]\n\
- lsls r0, 25\n\
- cmp r0, 0\n\
- blt _08022F0C\n\
- cmp r5, 0\n\
- beq _08022F0C\n\
- ldr r0, _08022EEC @ =gAbsentBankFlags\n\
- ldrb r1, [r0]\n\
- ldr r0, _08022EF0 @ =gBitTable\n\
- ldr r0, [r0]\n\
- ands r1, r0\n\
- cmp r1, 0\n\
- beq _08022EF8\n\
- ldr r1, _08022EF4 @ =gActiveBank\n\
- movs r0, 0x2\n\
- strb r0, [r1]\n\
- b _08022EFC\n\
- .align 2, 0\n\
+ ldr r1, _08022EE8 @ =gSpecialStatuses\n\
+ ldrb r0, [r1]\n\
+ lsls r0, 25\n\
+ cmp r0, 0\n\
+ blt _08022F0C\n\
+ adds r0, r1, 0\n\
+ adds r0, 0x28\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 25\n\
+ cmp r0, 0\n\
+ blt _08022F0C\n\
+ cmp r5, 0\n\
+ beq _08022F0C\n\
+ ldr r0, _08022EEC @ =gAbsentBankFlags\n\
+ ldrb r1, [r0]\n\
+ ldr r0, _08022EF0 @ =gBitTable\n\
+ ldr r0, [r0]\n\
+ ands r1, r0\n\
+ cmp r1, 0\n\
+ beq _08022EF8\n\
+ ldr r1, _08022EF4 @ =gActiveBank\n\
+ movs r0, 0x2\n\
+ strb r0, [r1]\n\
+ b _08022EFC\n\
+ .align 2, 0\n\
_08022EE8: .4byte gSpecialStatuses\n\
_08022EEC: .4byte gAbsentBankFlags\n\
_08022EF0: .4byte gBitTable\n\
_08022EF4: .4byte gActiveBank\n\
_08022EF8:\n\
- ldr r0, _08022F3C @ =gActiveBank\n\
- strb r1, [r0]\n\
+ ldr r0, _08022F3C @ =gActiveBank\n\
+ strb r1, [r0]\n\
_08022EFC:\n\
- movs r0, 0\n\
- movs r1, 0x2\n\
- bl EmitLinkStandbyMsg\n\
- ldr r0, _08022F3C @ =gActiveBank\n\
- ldrb r0, [r0]\n\
- bl MarkBufferBankForExecution\n\
+ movs r0, 0\n\
+ movs r1, 0x2\n\
+ bl EmitLinkStandbyMsg\n\
+ ldr r0, _08022F3C @ =gActiveBank\n\
+ ldrb r0, [r0]\n\
+ bl MarkBufferBankForExecution\n\
_08022F0C:\n\
- ldr r1, _08022F40 @ =gSpecialStatuses\n\
- ldrb r0, [r1, 0x14]\n\
- lsls r0, 25\n\
- cmp r0, 0\n\
- blt _08022F62\n\
- adds r0, r1, 0\n\
- adds r0, 0x3C\n\
- ldrb r0, [r0]\n\
- lsls r0, 25\n\
- cmp r0, 0\n\
- blt _08022F62\n\
- cmp r5, 0\n\
- beq _08022F62\n\
- ldr r0, _08022F44 @ =gAbsentBankFlags\n\
- ldrb r0, [r0]\n\
- ldr r1, _08022F48 @ =gBitTable\n\
- ldr r1, [r1, 0x4]\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08022F4C\n\
- ldr r1, _08022F3C @ =gActiveBank\n\
- movs r0, 0x3\n\
- b _08022F50\n\
- .align 2, 0\n\
+ ldr r1, _08022F40 @ =gSpecialStatuses\n\
+ ldrb r0, [r1, 0x14]\n\
+ lsls r0, 25\n\
+ cmp r0, 0\n\
+ blt _08022F62\n\
+ adds r0, r1, 0\n\
+ adds r0, 0x3C\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 25\n\
+ cmp r0, 0\n\
+ blt _08022F62\n\
+ cmp r5, 0\n\
+ beq _08022F62\n\
+ ldr r0, _08022F44 @ =gAbsentBankFlags\n\
+ ldrb r0, [r0]\n\
+ ldr r1, _08022F48 @ =gBitTable\n\
+ ldr r1, [r1, 0x4]\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _08022F4C\n\
+ ldr r1, _08022F3C @ =gActiveBank\n\
+ movs r0, 0x3\n\
+ b _08022F50\n\
+ .align 2, 0\n\
_08022F3C: .4byte gActiveBank\n\
_08022F40: .4byte gSpecialStatuses\n\
_08022F44: .4byte gAbsentBankFlags\n\
_08022F48: .4byte gBitTable\n\
_08022F4C:\n\
- ldr r1, _08022F6C @ =gActiveBank\n\
- movs r0, 0x1\n\
+ ldr r1, _08022F6C @ =gActiveBank\n\
+ movs r0, 0x1\n\
_08022F50:\n\
- strb r0, [r1]\n\
- movs r0, 0\n\
- movs r1, 0x2\n\
- bl EmitLinkStandbyMsg\n\
- ldr r0, _08022F6C @ =gActiveBank\n\
- ldrb r0, [r0]\n\
- bl MarkBufferBankForExecution\n\
+ strb r0, [r1]\n\
+ movs r0, 0\n\
+ movs r1, 0x2\n\
+ bl EmitLinkStandbyMsg\n\
+ ldr r0, _08022F6C @ =gActiveBank\n\
+ ldrb r0, [r0]\n\
+ bl MarkBufferBankForExecution\n\
_08022F62:\n\
- ldr r1, _08022F70 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r1]\n\
- adds r0, 0x6\n\
- str r0, [r1]\n\
- b _08023302\n\
- .align 2, 0\n\
+ ldr r1, _08022F70 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r1]\n\
+ adds r0, 0x6\n\
+ str r0, [r1]\n\
+ b _08023302\n\
+ .align 2, 0\n\
_08022F6C: .4byte gActiveBank\n\
_08022F70: .4byte gBattlescriptCurrInstr\n\
_08022F74:\n\
- cmp r0, 0x6\n\
- beq _08022F7A\n\
- b _08023170\n\
+ cmp r0, 0x6\n\
+ beq _08022F7A\n\
+ b _08023170\n\
_08022F7A:\n\
- ldr r0, _08022FF0 @ =gBattleTypeFlags\n\
- ldrh r2, [r0]\n\
- movs r0, 0x40\n\
- ands r0, r2\n\
- cmp r0, 0\n\
- beq _08022F88\n\
- b _0802310C\n\
+ ldr r0, _08022FF0 @ =gBattleTypeFlags\n\
+ ldrh r2, [r0]\n\
+ movs r0, 0x40\n\
+ ands r0, r2\n\
+ cmp r0, 0\n\
+ beq _08022F88\n\
+ b _0802310C\n\
_08022F88:\n\
- movs r0, 0x1\n\
- ands r0, r2\n\
- cmp r0, 0\n\
- bne _08022F92\n\
- b _0802310C\n\
+ movs r0, 0x1\n\
+ ands r0, r2\n\
+ cmp r0, 0\n\
+ bne _08022F92\n\
+ b _0802310C\n\
_08022F92:\n\
- ldr r7, _08022FF4 @ =gHitMarker\n\
- ldr r0, [r7]\n\
- lsrs r5, r0, 28\n\
- ldr r4, _08022FF8 @ =gBitTable\n\
- ldr r0, [r4, 0x8]\n\
- ands r0, r5\n\
- cmp r0, 0\n\
- beq _0802303A\n\
- ldr r0, [r4]\n\
- ands r0, r5\n\
- cmp r0, 0\n\
- beq _0802303A\n\
- ldr r6, _08022FFC @ =gActiveBank\n\
- movs r0, 0x2\n\
- strb r0, [r6]\n\
- ldr r0, _08023000 @ =gBattleBufferB\n\
- ldrb r1, [r0, 0x1]\n\
- movs r0, 0x2\n\
- movs r2, 0x6\n\
- bl sub_8018018\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _08023008\n\
- ldr r2, _08023004 @ =gAbsentBankFlags\n\
- ldrb r0, [r6]\n\
- lsls r0, 2\n\
- adds r0, r4\n\
- ldr r0, [r0]\n\
- ldrb r1, [r2]\n\
- orrs r0, r1\n\
- strb r0, [r2]\n\
- ldrb r0, [r6]\n\
- lsls r0, 2\n\
- adds r0, r4\n\
- ldr r1, [r0]\n\
- lsls r1, 28\n\
- ldr r0, [r7]\n\
- bics r0, r1\n\
- str r0, [r7]\n\
- movs r0, 0\n\
- bl dp01_build_cmdbuf_x2A_2A_2A_2A\n\
- ldrb r0, [r6]\n\
- bl MarkBufferBankForExecution\n\
- b _0802303A\n\
- .align 2, 0\n\
+ ldr r7, _08022FF4 @ =gHitMarker\n\
+ ldr r0, [r7]\n\
+ lsrs r5, r0, 28\n\
+ ldr r4, _08022FF8 @ =gBitTable\n\
+ ldr r0, [r4, 0x8]\n\
+ ands r0, r5\n\
+ cmp r0, 0\n\
+ beq _0802303A\n\
+ ldr r0, [r4]\n\
+ ands r0, r5\n\
+ cmp r0, 0\n\
+ beq _0802303A\n\
+ ldr r6, _08022FFC @ =gActiveBank\n\
+ movs r0, 0x2\n\
+ strb r0, [r6]\n\
+ ldr r0, _08023000 @ =gBattleBufferB\n\
+ ldrb r1, [r0, 0x1]\n\
+ movs r0, 0x2\n\
+ movs r2, 0x6\n\
+ bl sub_8018018\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _08023008\n\
+ ldr r2, _08023004 @ =gAbsentBankFlags\n\
+ ldrb r0, [r6]\n\
+ lsls r0, 2\n\
+ adds r0, r4\n\
+ ldr r0, [r0]\n\
+ ldrb r1, [r2]\n\
+ orrs r0, r1\n\
+ strb r0, [r2]\n\
+ ldrb r0, [r6]\n\
+ lsls r0, 2\n\
+ adds r0, r4\n\
+ ldr r1, [r0]\n\
+ lsls r1, 28\n\
+ ldr r0, [r7]\n\
+ bics r0, r1\n\
+ str r0, [r7]\n\
+ movs r0, 0\n\
+ bl dp01_build_cmdbuf_x2A_2A_2A_2A\n\
+ ldrb r0, [r6]\n\
+ bl MarkBufferBankForExecution\n\
+ b _0802303A\n\
+ .align 2, 0\n\
_08022FF0: .4byte gBattleTypeFlags\n\
_08022FF4: .4byte gHitMarker\n\
_08022FF8: .4byte gBitTable\n\
@@ -10866,76 +10866,76 @@ _08022FFC: .4byte gActiveBank\n\
_08023000: .4byte gBattleBufferB\n\
_08023004: .4byte gAbsentBankFlags\n\
_08023008:\n\
- ldr r4, _08023098 @ =gSpecialStatuses\n\
- ldrb r0, [r6]\n\
- lsls r1, r0, 2\n\
- adds r1, r0\n\
- lsls r1, 2\n\
- adds r1, r4\n\
- ldrb r0, [r1]\n\
- lsls r0, 25\n\
- cmp r0, 0\n\
- blt _0802303A\n\
- ldr r0, _0802309C @ =0x02000000\n\
- ldr r1, _080230A0 @ =0x00016068\n\
- adds r0, r1\n\
- ldrb r0, [r0]\n\
- bl sub_8022A3C\n\
- ldrb r1, [r6]\n\
- lsls r0, r1, 2\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r0, r4\n\
- ldrb r1, [r0]\n\
- movs r2, 0x40\n\
- orrs r1, r2\n\
- strb r1, [r0]\n\
+ ldr r4, _08023098 @ =gSpecialStatuses\n\
+ ldrb r0, [r6]\n\
+ lsls r1, r0, 2\n\
+ adds r1, r0\n\
+ lsls r1, 2\n\
+ adds r1, r4\n\
+ ldrb r0, [r1]\n\
+ lsls r0, 25\n\
+ cmp r0, 0\n\
+ blt _0802303A\n\
+ ldr r0, _0802309C @ =0x02000000\n\
+ ldr r1, _080230A0 @ =0x00016068\n\
+ adds r0, r1\n\
+ ldrb r0, [r0]\n\
+ bl sub_8022A3C\n\
+ ldrb r1, [r6]\n\
+ lsls r0, r1, 2\n\
+ adds r0, r1\n\
+ lsls r0, 2\n\
+ adds r0, r4\n\
+ ldrb r1, [r0]\n\
+ movs r2, 0x40\n\
+ orrs r1, r2\n\
+ strb r1, [r0]\n\
_0802303A:\n\
- ldr r4, _080230A4 @ =gBitTable\n\
- ldr r0, [r4, 0xC]\n\
- ands r0, r5\n\
- cmp r0, 0\n\
- beq _080230EE\n\
- ldr r0, [r4, 0x4]\n\
- ands r5, r0\n\
- cmp r5, 0\n\
- beq _080230EE\n\
- ldr r5, _080230A8 @ =gActiveBank\n\
- movs r0, 0x3\n\
- strb r0, [r5]\n\
- ldr r0, _080230AC @ =gBattleBufferB\n\
- ldr r2, _080230B0 @ =0x00000201\n\
- adds r0, r2\n\
- ldrb r1, [r0]\n\
- movs r0, 0x3\n\
- movs r2, 0x6\n\
- bl sub_8018018\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _080230BC\n\
- ldr r2, _080230B4 @ =gAbsentBankFlags\n\
- ldrb r0, [r5]\n\
- lsls r0, 2\n\
- adds r0, r4\n\
- ldr r0, [r0]\n\
- ldrb r1, [r2]\n\
- orrs r0, r1\n\
- strb r0, [r2]\n\
- ldr r2, _080230B8 @ =gHitMarker\n\
- ldrb r0, [r5]\n\
- lsls r0, 2\n\
- adds r0, r4\n\
- ldr r1, [r0]\n\
- lsls r1, 28\n\
- ldr r0, [r2]\n\
- bics r0, r1\n\
- str r0, [r2]\n\
- movs r0, 0\n\
- bl dp01_build_cmdbuf_x2A_2A_2A_2A\n\
- ldrb r0, [r5]\n\
- bl MarkBufferBankForExecution\n\
- b _080230EE\n\
- .align 2, 0\n\
+ ldr r4, _080230A4 @ =gBitTable\n\
+ ldr r0, [r4, 0xC]\n\
+ ands r0, r5\n\
+ cmp r0, 0\n\
+ beq _080230EE\n\
+ ldr r0, [r4, 0x4]\n\
+ ands r5, r0\n\
+ cmp r5, 0\n\
+ beq _080230EE\n\
+ ldr r5, _080230A8 @ =gActiveBank\n\
+ movs r0, 0x3\n\
+ strb r0, [r5]\n\
+ ldr r0, _080230AC @ =gBattleBufferB\n\
+ ldr r2, _080230B0 @ =0x00000201\n\
+ adds r0, r2\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0x3\n\
+ movs r2, 0x6\n\
+ bl sub_8018018\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _080230BC\n\
+ ldr r2, _080230B4 @ =gAbsentBankFlags\n\
+ ldrb r0, [r5]\n\
+ lsls r0, 2\n\
+ adds r0, r4\n\
+ ldr r0, [r0]\n\
+ ldrb r1, [r2]\n\
+ orrs r0, r1\n\
+ strb r0, [r2]\n\
+ ldr r2, _080230B8 @ =gHitMarker\n\
+ ldrb r0, [r5]\n\
+ lsls r0, 2\n\
+ adds r0, r4\n\
+ ldr r1, [r0]\n\
+ lsls r1, 28\n\
+ ldr r0, [r2]\n\
+ bics r0, r1\n\
+ str r0, [r2]\n\
+ movs r0, 0\n\
+ bl dp01_build_cmdbuf_x2A_2A_2A_2A\n\
+ ldrb r0, [r5]\n\
+ bl MarkBufferBankForExecution\n\
+ b _080230EE\n\
+ .align 2, 0\n\
_08023098: .4byte gSpecialStatuses\n\
_0802309C: .4byte 0x02000000\n\
_080230A0: .4byte 0x00016068\n\
@@ -10946,240 +10946,240 @@ _080230B0: .4byte 0x00000201\n\
_080230B4: .4byte gAbsentBankFlags\n\
_080230B8: .4byte gHitMarker\n\
_080230BC:\n\
- ldr r4, _080230FC @ =gSpecialStatuses\n\
- ldrb r0, [r5]\n\
- lsls r1, r0, 2\n\
- adds r1, r0\n\
- lsls r1, 2\n\
- adds r1, r4\n\
- ldrb r0, [r1]\n\
- lsls r0, 25\n\
- cmp r0, 0\n\
- blt _080230EE\n\
- ldr r0, _08023100 @ =0x02000000\n\
- ldr r1, _08023104 @ =0x00016069\n\
- adds r0, r1\n\
- ldrb r0, [r0]\n\
- bl sub_8022A3C\n\
- ldrb r1, [r5]\n\
- lsls r0, r1, 2\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r0, r4\n\
- ldrb r1, [r0]\n\
- movs r2, 0x40\n\
- orrs r1, r2\n\
- strb r1, [r0]\n\
+ ldr r4, _080230FC @ =gSpecialStatuses\n\
+ ldrb r0, [r5]\n\
+ lsls r1, r0, 2\n\
+ adds r1, r0\n\
+ lsls r1, 2\n\
+ adds r1, r4\n\
+ ldrb r0, [r1]\n\
+ lsls r0, 25\n\
+ cmp r0, 0\n\
+ blt _080230EE\n\
+ ldr r0, _08023100 @ =0x02000000\n\
+ ldr r1, _08023104 @ =0x00016069\n\
+ adds r0, r1\n\
+ ldrb r0, [r0]\n\
+ bl sub_8022A3C\n\
+ ldrb r1, [r5]\n\
+ lsls r0, r1, 2\n\
+ adds r0, r1\n\
+ lsls r0, 2\n\
+ adds r0, r4\n\
+ ldrb r1, [r0]\n\
+ movs r2, 0x40\n\
+ orrs r1, r2\n\
+ strb r1, [r0]\n\
_080230EE:\n\
- ldr r1, _08023108 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r1]\n\
- adds r0, 0x6\n\
- str r0, [r1]\n\
- mov r12, r1\n\
- b _08023110\n\
- .align 2, 0\n\
+ ldr r1, _08023108 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r1]\n\
+ adds r0, 0x6\n\
+ str r0, [r1]\n\
+ mov r12, r1\n\
+ b _08023110\n\
+ .align 2, 0\n\
_080230FC: .4byte gSpecialStatuses\n\
_08023100: .4byte 0x02000000\n\
_08023104: .4byte 0x00016069\n\
_08023108: .4byte gBattlescriptCurrInstr\n\
_0802310C:\n\
- adds r0, r1, 0x6\n\
- str r0, [r6]\n\
+ adds r0, r1, 0x6\n\
+ str r0, [r6]\n\
_08023110:\n\
- ldr r0, _08023160 @ =gHitMarker\n\
- ldr r0, [r0]\n\
- lsrs r5, r0, 28\n\
- ldr r1, _08023164 @ =gBank1\n\
- movs r0, 0\n\
- strb r0, [r1]\n\
- ldr r4, _08023168 @ =gBitTable\n\
- ldr r2, [r4]\n\
- ands r2, r5\n\
- ldr r6, _0802316C @ =gNoOfAllBanks\n\
- cmp r2, 0\n\
- bne _0802314C\n\
- adds r7, r6, 0\n\
- ldrb r0, [r6]\n\
- cmp r2, r0\n\
- bcs _0802314C\n\
- adds r3, r1, 0\n\
+ ldr r0, _08023160 @ =gHitMarker\n\
+ ldr r0, [r0]\n\
+ lsrs r5, r0, 28\n\
+ ldr r1, _08023164 @ =gBank1\n\
+ movs r0, 0\n\
+ strb r0, [r1]\n\
+ ldr r4, _08023168 @ =gBitTable\n\
+ ldr r2, [r4]\n\
+ ands r2, r5\n\
+ ldr r6, _0802316C @ =gNoOfAllBanks\n\
+ cmp r2, 0\n\
+ bne _0802314C\n\
+ adds r7, r6, 0\n\
+ ldrb r0, [r6]\n\
+ cmp r2, r0\n\
+ bcs _0802314C\n\
+ adds r3, r1, 0\n\
_08023132:\n\
- ldrb r0, [r3]\n\
- adds r0, 0x1\n\
- strb r0, [r3]\n\
- ldrb r2, [r3]\n\
- lsls r0, r2, 2\n\
- adds r0, r4\n\
- ldr r0, [r0]\n\
- ands r0, r5\n\
- cmp r0, 0\n\
- bne _0802314C\n\
- ldrb r0, [r7]\n\
- cmp r2, r0\n\
- bcc _08023132\n\
+ ldrb r0, [r3]\n\
+ adds r0, 0x1\n\
+ strb r0, [r3]\n\
+ ldrb r2, [r3]\n\
+ lsls r0, r2, 2\n\
+ adds r0, r4\n\
+ ldr r0, [r0]\n\
+ ands r0, r5\n\
+ cmp r0, 0\n\
+ bne _0802314C\n\
+ ldrb r0, [r7]\n\
+ cmp r2, r0\n\
+ bcc _08023132\n\
_0802314C:\n\
- ldrb r0, [r1]\n\
- ldrb r6, [r6]\n\
- cmp r0, r6\n\
- beq _08023156\n\
- b _08023302\n\
+ ldrb r0, [r1]\n\
+ ldrb r6, [r6]\n\
+ cmp r0, r6\n\
+ beq _08023156\n\
+ b _08023302\n\
_08023156:\n\
- mov r1, r8\n\
- mov r2, r12\n\
- str r1, [r2]\n\
- b _08023302\n\
- .align 2, 0\n\
+ mov r1, r8\n\
+ mov r2, r12\n\
+ str r1, [r2]\n\
+ b _08023302\n\
+ .align 2, 0\n\
_08023160: .4byte gHitMarker\n\
_08023164: .4byte gBank1\n\
_08023168: .4byte gBitTable\n\
_0802316C: .4byte gNoOfAllBanks\n\
_08023170:\n\
- movs r0, 0x80\n\
- ands r0, r2\n\
- movs r5, 0x1\n\
- cmp r0, 0\n\
- beq _0802317C\n\
- movs r5, 0\n\
+ movs r0, 0x80\n\
+ ands r0, r2\n\
+ movs r5, 0x1\n\
+ cmp r0, 0\n\
+ beq _0802317C\n\
+ movs r5, 0\n\
_0802317C:\n\
- movs r0, 0x7F\n\
- ands r0, r2\n\
- bl GetBattleBank\n\
- lsls r0, 24\n\
- lsrs r7, r0, 24\n\
- ldr r1, _080231A4 @ =gSpecialStatuses\n\
- lsls r0, r7, 2\n\
- adds r0, r7\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldrb r0, [r0]\n\
- lsls r0, 25\n\
- cmp r0, 0\n\
- bge _080231A8\n\
- ldr r0, [r6]\n\
- adds r0, 0x6\n\
- str r0, [r6]\n\
- b _08023302\n\
- .align 2, 0\n\
+ movs r0, 0x7F\n\
+ ands r0, r2\n\
+ bl GetBattleBank\n\
+ lsls r0, 24\n\
+ lsrs r7, r0, 24\n\
+ ldr r1, _080231A4 @ =gSpecialStatuses\n\
+ lsls r0, r7, 2\n\
+ adds r0, r7\n\
+ lsls r0, 2\n\
+ adds r0, r1\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 25\n\
+ cmp r0, 0\n\
+ bge _080231A8\n\
+ ldr r0, [r6]\n\
+ adds r0, 0x6\n\
+ str r0, [r6]\n\
+ b _08023302\n\
+ .align 2, 0\n\
_080231A4: .4byte gSpecialStatuses\n\
_080231A8:\n\
- adds r0, r7, 0\n\
- movs r1, 0x6\n\
- movs r2, 0x6\n\
- bl sub_8018018\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _080231F8\n\
- ldr r2, _080231E8 @ =gActiveBank\n\
- strb r7, [r2]\n\
- ldr r3, _080231EC @ =gAbsentBankFlags\n\
- ldr r4, _080231F0 @ =gBitTable\n\
- ldrb r0, [r2]\n\
- lsls r0, 2\n\
- adds r0, r4\n\
- ldr r0, [r0]\n\
- ldrb r1, [r3]\n\
- orrs r0, r1\n\
- strb r0, [r3]\n\
- ldr r3, _080231F4 @ =gHitMarker\n\
- ldrb r0, [r2]\n\
- lsls r0, 2\n\
- adds r0, r4\n\
- ldr r1, [r0]\n\
- lsls r1, 28\n\
- ldr r0, [r3]\n\
- bics r0, r1\n\
- str r0, [r3]\n\
- mov r0, r8\n\
- str r0, [r6]\n\
- b _08023302\n\
- .align 2, 0\n\
+ adds r0, r7, 0\n\
+ movs r1, 0x6\n\
+ movs r2, 0x6\n\
+ bl sub_8018018\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _080231F8\n\
+ ldr r2, _080231E8 @ =gActiveBank\n\
+ strb r7, [r2]\n\
+ ldr r3, _080231EC @ =gAbsentBankFlags\n\
+ ldr r4, _080231F0 @ =gBitTable\n\
+ ldrb r0, [r2]\n\
+ lsls r0, 2\n\
+ adds r0, r4\n\
+ ldr r0, [r0]\n\
+ ldrb r1, [r3]\n\
+ orrs r0, r1\n\
+ strb r0, [r3]\n\
+ ldr r3, _080231F4 @ =gHitMarker\n\
+ ldrb r0, [r2]\n\
+ lsls r0, 2\n\
+ adds r0, r4\n\
+ ldr r1, [r0]\n\
+ lsls r1, 28\n\
+ ldr r0, [r3]\n\
+ bics r0, r1\n\
+ str r0, [r3]\n\
+ mov r0, r8\n\
+ str r0, [r6]\n\
+ b _08023302\n\
+ .align 2, 0\n\
_080231E8: .4byte gActiveBank\n\
_080231EC: .4byte gAbsentBankFlags\n\
_080231F0: .4byte gBitTable\n\
_080231F4: .4byte gHitMarker\n\
_080231F8:\n\
- ldr r4, _080232A0 @ =gActiveBank\n\
- strb r7, [r4]\n\
- ldr r3, _080232A4 @ =0x02000000\n\
- ldrb r0, [r4]\n\
- ldr r2, _080232A8 @ =0x00016064\n\
- adds r1, r0, r2\n\
- adds r1, r3\n\
- ldr r2, _080232AC @ =gBattlePartyID\n\
- lsls r0, 1\n\
- adds r0, r2\n\
- ldrh r0, [r0]\n\
- strb r0, [r1]\n\
- ldrb r1, [r4]\n\
- movs r0, 0x2\n\
- eors r0, r1\n\
- ldr r1, _080232B0 @ =0x00016068\n\
- adds r0, r1\n\
- adds r0, r3\n\
- ldrb r2, [r0]\n\
- ldrb r1, [r4]\n\
- lsls r0, r1, 1\n\
- adds r0, r1\n\
- ldr r1, _080232B4 @ =0x0001606c\n\
- adds r3, r1\n\
- adds r0, r3\n\
- str r0, [sp]\n\
- movs r0, 0\n\
- adds r1, r5, 0\n\
- movs r3, 0\n\
- bl EmitChoosePokemon\n\
- ldrb r0, [r4]\n\
- bl MarkBufferBankForExecution\n\
- ldr r0, [r6]\n\
- adds r0, 0x6\n\
- str r0, [r6]\n\
- ldrb r0, [r4]\n\
- bl GetBankIdentity\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- bne _0802325A\n\
- ldr r1, _080232B8 @ =gBattleResults\n\
- ldrb r0, [r1, 0x2]\n\
- cmp r0, 0xFE\n\
- bhi _0802325A\n\
- adds r0, 0x1\n\
- strb r0, [r1, 0x2]\n\
+ ldr r4, _080232A0 @ =gActiveBank\n\
+ strb r7, [r4]\n\
+ ldr r3, _080232A4 @ =0x02000000\n\
+ ldrb r0, [r4]\n\
+ ldr r2, _080232A8 @ =0x00016064\n\
+ adds r1, r0, r2\n\
+ adds r1, r3\n\
+ ldr r2, _080232AC @ =gBattlePartyID\n\
+ lsls r0, 1\n\
+ adds r0, r2\n\
+ ldrh r0, [r0]\n\
+ strb r0, [r1]\n\
+ ldrb r1, [r4]\n\
+ movs r0, 0x2\n\
+ eors r0, r1\n\
+ ldr r1, _080232B0 @ =0x00016068\n\
+ adds r0, r1\n\
+ adds r0, r3\n\
+ ldrb r2, [r0]\n\
+ ldrb r1, [r4]\n\
+ lsls r0, r1, 1\n\
+ adds r0, r1\n\
+ ldr r1, _080232B4 @ =0x0001606c\n\
+ adds r3, r1\n\
+ adds r0, r3\n\
+ str r0, [sp]\n\
+ movs r0, 0\n\
+ adds r1, r5, 0\n\
+ movs r3, 0\n\
+ bl EmitChoosePokemon\n\
+ ldrb r0, [r4]\n\
+ bl MarkBufferBankForExecution\n\
+ ldr r0, [r6]\n\
+ adds r0, 0x6\n\
+ str r0, [r6]\n\
+ ldrb r0, [r4]\n\
+ bl GetBankIdentity\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ bne _0802325A\n\
+ ldr r1, _080232B8 @ =gBattleResults\n\
+ ldrb r0, [r1, 0x2]\n\
+ cmp r0, 0xFE\n\
+ bhi _0802325A\n\
+ adds r0, 0x1\n\
+ strb r0, [r1, 0x2]\n\
_0802325A:\n\
- ldr r0, _080232BC @ =gBattleTypeFlags\n\
- ldrh r1, [r0]\n\
- movs r0, 0x40\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _080232C4\n\
- ldr r1, _080232A0 @ =gActiveBank\n\
- movs r0, 0\n\
- strb r0, [r1]\n\
- ldr r0, _080232C0 @ =gNoOfAllBanks\n\
- ldrb r0, [r0]\n\
- cmp r0, 0\n\
- beq _08023302\n\
- adds r4, r1, 0\n\
+ ldr r0, _080232BC @ =gBattleTypeFlags\n\
+ ldrh r1, [r0]\n\
+ movs r0, 0x40\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _080232C4\n\
+ ldr r1, _080232A0 @ =gActiveBank\n\
+ movs r0, 0\n\
+ strb r0, [r1]\n\
+ ldr r0, _080232C0 @ =gNoOfAllBanks\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0\n\
+ beq _08023302\n\
+ adds r4, r1, 0\n\
_08023276:\n\
- ldrb r0, [r4]\n\
- cmp r0, r7\n\
- beq _0802328A\n\
- movs r0, 0\n\
- movs r1, 0x2\n\
- bl EmitLinkStandbyMsg\n\
- ldrb r0, [r4]\n\
- bl MarkBufferBankForExecution\n\
+ ldrb r0, [r4]\n\
+ cmp r0, r7\n\
+ beq _0802328A\n\
+ movs r0, 0\n\
+ movs r1, 0x2\n\
+ bl EmitLinkStandbyMsg\n\
+ ldrb r0, [r4]\n\
+ bl MarkBufferBankForExecution\n\
_0802328A:\n\
- ldrb r0, [r4]\n\
- adds r0, 0x1\n\
- strb r0, [r4]\n\
- ldr r1, _080232C0 @ =gNoOfAllBanks\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- ldrb r1, [r1]\n\
- cmp r0, r1\n\
- bcc _08023276\n\
- b _08023302\n\
- .align 2, 0\n\
+ ldrb r0, [r4]\n\
+ adds r0, 0x1\n\
+ strb r0, [r4]\n\
+ ldr r1, _080232C0 @ =gNoOfAllBanks\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ ldrb r1, [r1]\n\
+ cmp r0, r1\n\
+ bcc _08023276\n\
+ b _08023302\n\
+ .align 2, 0\n\
_080232A0: .4byte gActiveBank\n\
_080232A4: .4byte 0x02000000\n\
_080232A8: .4byte 0x00016064\n\
@@ -11190,43 +11190,43 @@ _080232B8: .4byte gBattleResults\n\
_080232BC: .4byte gBattleTypeFlags\n\
_080232C0: .4byte gNoOfAllBanks\n\
_080232C4:\n\
- adds r0, r7, 0\n\
- bl GetBankIdentity\n\
- movs r1, 0x1\n\
- eors r0, r1\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- bl GetBankByPlayerAI\n\
- ldr r4, _08023310 @ =gActiveBank\n\
- strb r0, [r4]\n\
- ldr r0, _08023314 @ =gAbsentBankFlags\n\
- ldrb r1, [r0]\n\
- ldr r2, _08023318 @ =gBitTable\n\
- ldrb r3, [r4]\n\
- lsls r0, r3, 2\n\
- adds r0, r2\n\
- ldr r0, [r0]\n\
- ands r1, r0\n\
- cmp r1, 0\n\
- beq _080232F4\n\
- movs r0, 0x2\n\
- eors r3, r0\n\
- strb r3, [r4]\n\
+ adds r0, r7, 0\n\
+ bl GetBankIdentity\n\
+ movs r1, 0x1\n\
+ eors r0, r1\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ bl GetBankByPlayerAI\n\
+ ldr r4, _08023310 @ =gActiveBank\n\
+ strb r0, [r4]\n\
+ ldr r0, _08023314 @ =gAbsentBankFlags\n\
+ ldrb r1, [r0]\n\
+ ldr r2, _08023318 @ =gBitTable\n\
+ ldrb r3, [r4]\n\
+ lsls r0, r3, 2\n\
+ adds r0, r2\n\
+ ldr r0, [r0]\n\
+ ands r1, r0\n\
+ cmp r1, 0\n\
+ beq _080232F4\n\
+ movs r0, 0x2\n\
+ eors r3, r0\n\
+ strb r3, [r4]\n\
_080232F4:\n\
- movs r0, 0\n\
- movs r1, 0x2\n\
- bl EmitLinkStandbyMsg\n\
- ldrb r0, [r4]\n\
- bl MarkBufferBankForExecution\n\
+ movs r0, 0\n\
+ movs r1, 0x2\n\
+ bl EmitLinkStandbyMsg\n\
+ ldrb r0, [r4]\n\
+ bl MarkBufferBankForExecution\n\
_08023302:\n\
- add sp, 0x4\n\
- pop {r3,r4}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .align 2, 0\n\
+ add sp, 0x4\n\
+ pop {r3,r4}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
_08023310: .4byte gActiveBank\n\
_08023314: .4byte gAbsentBankFlags\n\
_08023318: .4byte gBitTable\n\
@@ -11560,172 +11560,172 @@ __attribute__((naked))
static void atk5A(void)
{
asm(".syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r9\n\
- mov r6, r8\n\
- push {r6,r7}\n\
- sub sp, 0x4\n\
- ldr r1, _08023B24 @ =gActiveBank\n\
- movs r0, 0\n\
- strb r0, [r1]\n\
- ldr r1, _08023B28 @ =0x02000000\n\
- ldr r2, _08023B2C @ =0x0001601a\n\
- adds r0, r1, r2\n\
- ldrb r0, [r0]\n\
- adds r5, r1, 0\n\
- cmp r0, 0x5\n\
- bls _08023B18\n\
- b _08023E5C\n\
+ push {r4-r7,lr}\n\
+ mov r7, r9\n\
+ mov r6, r8\n\
+ push {r6,r7}\n\
+ sub sp, 0x4\n\
+ ldr r1, _08023B24 @ =gActiveBank\n\
+ movs r0, 0\n\
+ strb r0, [r1]\n\
+ ldr r1, _08023B28 @ =0x02000000\n\
+ ldr r2, _08023B2C @ =0x0001601a\n\
+ adds r0, r1, r2\n\
+ ldrb r0, [r0]\n\
+ adds r5, r1, 0\n\
+ cmp r0, 0x5\n\
+ bls _08023B18\n\
+ b _08023E5C\n\
_08023B18:\n\
- lsls r0, 2\n\
- ldr r1, _08023B30 @ =_08023B34\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- mov pc, r0\n\
- .align 2, 0\n\
+ lsls r0, 2\n\
+ ldr r1, _08023B30 @ =_08023B34\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ mov pc, r0\n\
+ .align 2, 0\n\
_08023B24: .4byte gActiveBank\n\
_08023B28: .4byte 0x02000000\n\
_08023B2C: .4byte 0x0001601a\n\
_08023B30: .4byte _08023B34\n\
- .align 2, 0\n\
+ .align 2, 0\n\
_08023B34:\n\
- .4byte _08023B4C\n\
- .4byte _08023B74\n\
- .4byte _08023C30\n\
- .4byte _08023C84\n\
- .4byte _08023E38\n\
- .4byte _08023E4C\n\
+ .4byte _08023B4C\n\
+ .4byte _08023B74\n\
+ .4byte _08023C30\n\
+ .4byte _08023C84\n\
+ .4byte _08023E38\n\
+ .4byte _08023E4C\n\
_08023B4C:\n\
- bl sub_8023A80\n\
- ldr r1, _08023B68 @ =0x02000000\n\
- ldr r0, _08023B6C @ =0x0001601a\n\
- adds r1, r0\n\
- ldrb r0, [r1]\n\
- adds r0, 0x1\n\
- movs r2, 0\n\
- strb r0, [r1]\n\
- ldr r0, _08023B70 @ =gBattleCommunication\n\
- strb r2, [r0, 0x1]\n\
- bl sub_802BC6C\n\
- b _08023E5C\n\
- .align 2, 0\n\
+ bl sub_8023A80\n\
+ ldr r1, _08023B68 @ =0x02000000\n\
+ ldr r0, _08023B6C @ =0x0001601a\n\
+ adds r1, r0\n\
+ ldrb r0, [r1]\n\
+ adds r0, 0x1\n\
+ movs r2, 0\n\
+ strb r0, [r1]\n\
+ ldr r0, _08023B70 @ =gBattleCommunication\n\
+ strb r2, [r0, 0x1]\n\
+ bl sub_802BC6C\n\
+ b _08023E5C\n\
+ .align 2, 0\n\
_08023B68: .4byte 0x02000000\n\
_08023B6C: .4byte 0x0001601a\n\
_08023B70: .4byte gBattleCommunication\n\
_08023B74:\n\
- ldr r0, _08023BFC @ =gMain\n\
- ldrh r1, [r0, 0x2E]\n\
- movs r0, 0x40\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08023B9A\n\
- ldr r4, _08023C00 @ =gBattleCommunication\n\
- ldrb r0, [r4, 0x1]\n\
- cmp r0, 0\n\
- beq _08023B9A\n\
- movs r0, 0x5\n\
- bl PlaySE\n\
- bl nullsub_6\n\
- movs r0, 0\n\
- strb r0, [r4, 0x1]\n\
- bl sub_802BC6C\n\
+ ldr r0, _08023BFC @ =gMain\n\
+ ldrh r1, [r0, 0x2E]\n\
+ movs r0, 0x40\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _08023B9A\n\
+ ldr r4, _08023C00 @ =gBattleCommunication\n\
+ ldrb r0, [r4, 0x1]\n\
+ cmp r0, 0\n\
+ beq _08023B9A\n\
+ movs r0, 0x5\n\
+ bl PlaySE\n\
+ bl nullsub_6\n\
+ movs r0, 0\n\
+ strb r0, [r4, 0x1]\n\
+ bl sub_802BC6C\n\
_08023B9A:\n\
- ldr r0, _08023BFC @ =gMain\n\
- ldrh r1, [r0, 0x2E]\n\
- movs r0, 0x80\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08023BC0\n\
- ldr r4, _08023C00 @ =gBattleCommunication\n\
- ldrb r0, [r4, 0x1]\n\
- cmp r0, 0\n\
- bne _08023BC0\n\
- movs r0, 0x5\n\
- bl PlaySE\n\
- bl nullsub_6\n\
- movs r0, 0x1\n\
- strb r0, [r4, 0x1]\n\
- bl sub_802BC6C\n\
+ ldr r0, _08023BFC @ =gMain\n\
+ ldrh r1, [r0, 0x2E]\n\
+ movs r0, 0x80\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _08023BC0\n\
+ ldr r4, _08023C00 @ =gBattleCommunication\n\
+ ldrb r0, [r4, 0x1]\n\
+ cmp r0, 0\n\
+ bne _08023BC0\n\
+ movs r0, 0x5\n\
+ bl PlaySE\n\
+ bl nullsub_6\n\
+ movs r0, 0x1\n\
+ strb r0, [r4, 0x1]\n\
+ bl sub_802BC6C\n\
_08023BC0:\n\
- ldr r0, _08023BFC @ =gMain\n\
- ldrh r1, [r0, 0x2E]\n\
- movs r0, 0x1\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08023C0C\n\
- movs r0, 0x5\n\
- bl PlaySE\n\
- ldr r0, _08023C00 @ =gBattleCommunication\n\
- ldrb r4, [r0, 0x1]\n\
- cmp r4, 0\n\
- bne _08023C1C\n\
- bl sub_8023AD8\n\
- movs r0, 0x1\n\
- negs r0, r0\n\
- str r4, [sp]\n\
- movs r1, 0\n\
- movs r2, 0\n\
- movs r3, 0x10\n\
- bl BeginNormalPaletteFade\n\
- ldr r1, _08023C04 @ =0x02000000\n\
- ldr r2, _08023C08 @ =0x0001601a\n\
- adds r1, r2\n\
- ldrb r0, [r1]\n\
- adds r0, 0x1\n\
- b _08023E5A\n\
- .align 2, 0\n\
+ ldr r0, _08023BFC @ =gMain\n\
+ ldrh r1, [r0, 0x2E]\n\
+ movs r0, 0x1\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _08023C0C\n\
+ movs r0, 0x5\n\
+ bl PlaySE\n\
+ ldr r0, _08023C00 @ =gBattleCommunication\n\
+ ldrb r4, [r0, 0x1]\n\
+ cmp r4, 0\n\
+ bne _08023C1C\n\
+ bl sub_8023AD8\n\
+ movs r0, 0x1\n\
+ negs r0, r0\n\
+ str r4, [sp]\n\
+ movs r1, 0\n\
+ movs r2, 0\n\
+ movs r3, 0x10\n\
+ bl BeginNormalPaletteFade\n\
+ ldr r1, _08023C04 @ =0x02000000\n\
+ ldr r2, _08023C08 @ =0x0001601a\n\
+ adds r1, r2\n\
+ ldrb r0, [r1]\n\
+ adds r0, 0x1\n\
+ b _08023E5A\n\
+ .align 2, 0\n\
_08023BFC: .4byte gMain\n\
_08023C00: .4byte gBattleCommunication\n\
_08023C04: .4byte 0x02000000\n\
_08023C08: .4byte 0x0001601a\n\
_08023C0C:\n\
- movs r0, 0x2\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _08023C16\n\
- b _08023E5C\n\
+ movs r0, 0x2\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ bne _08023C16\n\
+ b _08023E5C\n\
_08023C16:\n\
- movs r0, 0x5\n\
- bl PlaySE\n\
+ movs r0, 0x5\n\
+ bl PlaySE\n\
_08023C1C:\n\
- ldr r0, _08023C28 @ =0x02000000\n\
- ldr r1, _08023C2C @ =0x0001601a\n\
- adds r0, r1\n\
- movs r1, 0x4\n\
- strb r1, [r0]\n\
- b _08023E5C\n\
- .align 2, 0\n\
+ ldr r0, _08023C28 @ =0x02000000\n\
+ ldr r1, _08023C2C @ =0x0001601a\n\
+ adds r0, r1\n\
+ movs r1, 0x4\n\
+ strb r1, [r0]\n\
+ b _08023E5C\n\
+ .align 2, 0\n\
_08023C28: .4byte 0x02000000\n\
_08023C2C: .4byte 0x0001601a\n\
_08023C30:\n\
- ldr r0, _08023C68 @ =gPaletteFade\n\
- ldrb r1, [r0, 0x7]\n\
- movs r0, 0x80\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08023C3E\n\
- b _08023E5C\n\
+ ldr r0, _08023C68 @ =gPaletteFade\n\
+ ldrb r1, [r0, 0x7]\n\
+ movs r0, 0x80\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _08023C3E\n\
+ b _08023E5C\n\
_08023C3E:\n\
- ldr r0, _08023C6C @ =gPlayerParty\n\
- ldr r2, _08023C70 @ =0x00016018\n\
- adds r1, r5, r2\n\
- ldrb r1, [r1]\n\
- ldr r2, _08023C74 @ =gPlayerPartyCount\n\
- ldrb r2, [r2]\n\
- subs r2, 0x1\n\
- lsls r2, 24\n\
- lsrs r2, 24\n\
- ldr r3, _08023C78 @ =ReshowBattleScreenAfterMenu\n\
- ldr r4, _08023C7C @ =word_2024E82\n\
- ldrh r4, [r4]\n\
- str r4, [sp]\n\
- bl sub_809D9F0\n\
- ldr r0, _08023C80 @ =0x0001601a\n\
- adds r1, r5, r0\n\
- ldrb r0, [r1]\n\
- adds r0, 0x1\n\
- b _08023E5A\n\
- .align 2, 0\n\
+ ldr r0, _08023C6C @ =gPlayerParty\n\
+ ldr r2, _08023C70 @ =0x00016018\n\
+ adds r1, r5, r2\n\
+ ldrb r1, [r1]\n\
+ ldr r2, _08023C74 @ =gPlayerPartyCount\n\
+ ldrb r2, [r2]\n\
+ subs r2, 0x1\n\
+ lsls r2, 24\n\
+ lsrs r2, 24\n\
+ ldr r3, _08023C78 @ =ReshowBattleScreenAfterMenu\n\
+ ldr r4, _08023C7C @ =word_2024E82\n\
+ ldrh r4, [r4]\n\
+ str r4, [sp]\n\
+ bl sub_809D9F0\n\
+ ldr r0, _08023C80 @ =0x0001601a\n\
+ adds r1, r5, r0\n\
+ ldrb r0, [r1]\n\
+ adds r0, 0x1\n\
+ b _08023E5A\n\
+ .align 2, 0\n\
_08023C68: .4byte gPaletteFade\n\
_08023C6C: .4byte gPlayerParty\n\
_08023C70: .4byte 0x00016018\n\
@@ -11734,68 +11734,68 @@ _08023C78: .4byte ReshowBattleScreenAfterMenu\n\
_08023C7C: .4byte word_2024E82\n\
_08023C80: .4byte 0x0001601a\n\
_08023C84:\n\
- ldr r0, _08023CB4 @ =gPaletteFade\n\
- ldrb r1, [r0, 0x7]\n\
- movs r0, 0x80\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08023C92\n\
- b _08023E5C\n\
+ ldr r0, _08023CB4 @ =gPaletteFade\n\
+ ldrb r1, [r0, 0x7]\n\
+ movs r0, 0x80\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _08023C92\n\
+ b _08023E5C\n\
_08023C92:\n\
- ldr r0, _08023CB8 @ =gMain\n\
- ldr r1, [r0, 0x4]\n\
- ldr r0, _08023CBC @ =sub_800F808\n\
- cmp r1, r0\n\
- beq _08023C9E\n\
- b _08023E5C\n\
+ ldr r0, _08023CB8 @ =gMain\n\
+ ldr r1, [r0, 0x4]\n\
+ ldr r0, _08023CBC @ =sub_800F808\n\
+ cmp r1, r0\n\
+ beq _08023C9E\n\
+ b _08023E5C\n\
_08023C9E:\n\
- bl sub_809FA30\n\
- lsls r0, 24\n\
- lsrs r5, r0, 24\n\
- cmp r5, 0x4\n\
- bne _08023CC8\n\
- ldr r0, _08023CC0 @ =0x02000000\n\
- ldr r1, _08023CC4 @ =0x0001601a\n\
- adds r0, r1\n\
- strb r5, [r0]\n\
- b _08023E5C\n\
- .align 2, 0\n\
+ bl sub_809FA30\n\
+ lsls r0, 24\n\
+ lsrs r5, r0, 24\n\
+ cmp r5, 0x4\n\
+ bne _08023CC8\n\
+ ldr r0, _08023CC0 @ =0x02000000\n\
+ ldr r1, _08023CC4 @ =0x0001601a\n\
+ adds r0, r1\n\
+ strb r5, [r0]\n\
+ b _08023E5C\n\
+ .align 2, 0\n\
_08023CB4: .4byte gPaletteFade\n\
_08023CB8: .4byte gMain\n\
_08023CBC: .4byte sub_800F808\n\
_08023CC0: .4byte 0x02000000\n\
_08023CC4: .4byte 0x0001601a\n\
_08023CC8:\n\
- ldr r2, _08023D08 @ =0x02000000\n\
- mov r9, r2\n\
- ldr r6, _08023D0C @ =0x00016018\n\
- add r6, r9\n\
- ldrb r0, [r6]\n\
- movs r1, 0x64\n\
- mov r8, r1\n\
- mov r2, r8\n\
- muls r2, r0\n\
- adds r0, r2, 0\n\
- ldr r7, _08023D10 @ =gPlayerParty\n\
- adds r0, r7\n\
- adds r1, r5, 0\n\
- adds r1, 0xD\n\
- bl GetMonData\n\
- lsls r0, 16\n\
- lsrs r4, r0, 16\n\
- adds r0, r4, 0\n\
- bl IsHMMove2\n\
- cmp r0, 0\n\
- beq _08023D20\n\
- ldr r0, _08023D14 @ =0x0000013f\n\
- ldr r1, _08023D18 @ =gActiveBank\n\
- ldrb r1, [r1]\n\
- bl PrepareStringBattle\n\
- ldr r1, _08023D1C @ =0x0001601a\n\
- add r1, r9\n\
- movs r0, 0x5\n\
- b _08023E5A\n\
- .align 2, 0\n\
+ ldr r2, _08023D08 @ =0x02000000\n\
+ mov r9, r2\n\
+ ldr r6, _08023D0C @ =0x00016018\n\
+ add r6, r9\n\
+ ldrb r0, [r6]\n\
+ movs r1, 0x64\n\
+ mov r8, r1\n\
+ mov r2, r8\n\
+ muls r2, r0\n\
+ adds r0, r2, 0\n\
+ ldr r7, _08023D10 @ =gPlayerParty\n\
+ adds r0, r7\n\
+ adds r1, r5, 0\n\
+ adds r1, 0xD\n\
+ bl GetMonData\n\
+ lsls r0, 16\n\
+ lsrs r4, r0, 16\n\
+ adds r0, r4, 0\n\
+ bl IsHMMove2\n\
+ cmp r0, 0\n\
+ beq _08023D20\n\
+ ldr r0, _08023D14 @ =0x0000013f\n\
+ ldr r1, _08023D18 @ =gActiveBank\n\
+ ldrb r1, [r1]\n\
+ bl PrepareStringBattle\n\
+ ldr r1, _08023D1C @ =0x0001601a\n\
+ add r1, r9\n\
+ movs r0, 0x5\n\
+ b _08023E5A\n\
+ .align 2, 0\n\
_08023D08: .4byte 0x02000000\n\
_08023D0C: .4byte 0x00016018\n\
_08023D10: .4byte gPlayerParty\n\
@@ -11803,121 +11803,121 @@ _08023D14: .4byte 0x0000013f\n\
_08023D18: .4byte gActiveBank\n\
_08023D1C: .4byte 0x0001601a\n\
_08023D20:\n\
- ldr r3, _08023E10 @ =gBattlescriptCurrInstr\n\
- ldr r2, [r3]\n\
- ldrb r1, [r2, 0x1]\n\
- ldrb r0, [r2, 0x2]\n\
- lsls r0, 8\n\
- orrs r1, r0\n\
- ldrb r0, [r2, 0x3]\n\
- lsls r0, 16\n\
- orrs r1, r0\n\
- ldrb r0, [r2, 0x4]\n\
- lsls r0, 24\n\
- orrs r1, r0\n\
- str r1, [r3]\n\
- ldr r1, _08023E14 @ =gBattleTextBuff2\n\
- movs r0, 0xFD\n\
- strb r0, [r1]\n\
- movs r0, 0x2\n\
- strb r0, [r1, 0x1]\n\
- strb r4, [r1, 0x2]\n\
- lsrs r0, r4, 8\n\
- strb r0, [r1, 0x3]\n\
- movs r0, 0xFF\n\
- strb r0, [r1, 0x4]\n\
- ldrb r0, [r6]\n\
- mov r1, r8\n\
- muls r1, r0\n\
- adds r0, r1, 0\n\
- adds r0, r7\n\
- adds r1, r5, 0\n\
- bl RemoveMonPPBonus\n\
- ldrb r0, [r6]\n\
- mov r2, r8\n\
- muls r2, r0\n\
- adds r0, r2, 0\n\
- adds r0, r7\n\
- ldr r7, _08023E18 @ =word_2024E82\n\
- ldrh r1, [r7]\n\
- adds r2, r5, 0\n\
- bl SetMonMoveSlot\n\
- ldr r0, _08023E1C @ =gBattlePartyID\n\
- ldrh r0, [r0]\n\
- ldrb r6, [r6]\n\
- cmp r0, r6\n\
- bne _08023DB0\n\
- ldr r4, _08023E20 @ =gBattleMons\n\
- ldr r0, [r4, 0x50]\n\
- movs r1, 0x80\n\
- lsls r1, 14\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _08023DB0\n\
- ldr r0, _08023E24 @ =gDisableStructs\n\
- ldrb r1, [r0, 0x18]\n\
- lsrs r1, 4\n\
- ldr r2, _08023E28 @ =gBitTable\n\
- lsls r0, r5, 2\n\
- adds r0, r2\n\
- ldr r0, [r0]\n\
- ands r1, r0\n\
- cmp r1, 0\n\
- bne _08023DB0\n\
- adds r0, r4, 0\n\
- adds r1, r5, 0\n\
- bl RemoveBattleMonPPBonus\n\
- ldrh r1, [r7]\n\
- adds r0, r4, 0\n\
- adds r2, r5, 0\n\
- bl SetBattleMonMoveSlot\n\
+ ldr r3, _08023E10 @ =gBattlescriptCurrInstr\n\
+ ldr r2, [r3]\n\
+ ldrb r1, [r2, 0x1]\n\
+ ldrb r0, [r2, 0x2]\n\
+ lsls r0, 8\n\
+ orrs r1, r0\n\
+ ldrb r0, [r2, 0x3]\n\
+ lsls r0, 16\n\
+ orrs r1, r0\n\
+ ldrb r0, [r2, 0x4]\n\
+ lsls r0, 24\n\
+ orrs r1, r0\n\
+ str r1, [r3]\n\
+ ldr r1, _08023E14 @ =gBattleTextBuff2\n\
+ movs r0, 0xFD\n\
+ strb r0, [r1]\n\
+ movs r0, 0x2\n\
+ strb r0, [r1, 0x1]\n\
+ strb r4, [r1, 0x2]\n\
+ lsrs r0, r4, 8\n\
+ strb r0, [r1, 0x3]\n\
+ movs r0, 0xFF\n\
+ strb r0, [r1, 0x4]\n\
+ ldrb r0, [r6]\n\
+ mov r1, r8\n\
+ muls r1, r0\n\
+ adds r0, r1, 0\n\
+ adds r0, r7\n\
+ adds r1, r5, 0\n\
+ bl RemoveMonPPBonus\n\
+ ldrb r0, [r6]\n\
+ mov r2, r8\n\
+ muls r2, r0\n\
+ adds r0, r2, 0\n\
+ adds r0, r7\n\
+ ldr r7, _08023E18 @ =word_2024E82\n\
+ ldrh r1, [r7]\n\
+ adds r2, r5, 0\n\
+ bl SetMonMoveSlot\n\
+ ldr r0, _08023E1C @ =gBattlePartyID\n\
+ ldrh r0, [r0]\n\
+ ldrb r6, [r6]\n\
+ cmp r0, r6\n\
+ bne _08023DB0\n\
+ ldr r4, _08023E20 @ =gBattleMons\n\
+ ldr r0, [r4, 0x50]\n\
+ movs r1, 0x80\n\
+ lsls r1, 14\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ bne _08023DB0\n\
+ ldr r0, _08023E24 @ =gDisableStructs\n\
+ ldrb r1, [r0, 0x18]\n\
+ lsrs r1, 4\n\
+ ldr r2, _08023E28 @ =gBitTable\n\
+ lsls r0, r5, 2\n\
+ adds r0, r2\n\
+ ldr r0, [r0]\n\
+ ands r1, r0\n\
+ cmp r1, 0\n\
+ bne _08023DB0\n\
+ adds r0, r4, 0\n\
+ adds r1, r5, 0\n\
+ bl RemoveBattleMonPPBonus\n\
+ ldrh r1, [r7]\n\
+ adds r0, r4, 0\n\
+ adds r2, r5, 0\n\
+ bl SetBattleMonMoveSlot\n\
_08023DB0:\n\
- ldr r0, _08023E2C @ =gBattleTypeFlags\n\
- ldrh r1, [r0]\n\
- movs r0, 0x1\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08023E5C\n\
- ldr r0, _08023E1C @ =gBattlePartyID\n\
- ldr r1, _08023E30 @ =0x02000000\n\
- ldr r2, _08023E34 @ =0x00016018\n\
- adds r1, r2\n\
- ldrh r0, [r0, 0x4]\n\
- ldrb r1, [r1]\n\
- cmp r0, r1\n\
- bne _08023E5C\n\
- ldr r4, _08023E20 @ =gBattleMons\n\
- movs r1, 0x80\n\
- lsls r1, 1\n\
- adds r0, r4, r1\n\
- ldr r0, [r0]\n\
- movs r1, 0x80\n\
- lsls r1, 14\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _08023E5C\n\
- ldr r0, _08023E24 @ =gDisableStructs\n\
- adds r0, 0x50\n\
- ldrb r1, [r0]\n\
- lsrs r1, 4\n\
- ldr r2, _08023E28 @ =gBitTable\n\
- lsls r0, r5, 2\n\
- adds r0, r2\n\
- ldr r0, [r0]\n\
- ands r1, r0\n\
- cmp r1, 0\n\
- bne _08023E5C\n\
- adds r4, 0xB0\n\
- adds r0, r4, 0\n\
- adds r1, r5, 0\n\
- bl RemoveBattleMonPPBonus\n\
- ldr r0, _08023E18 @ =word_2024E82\n\
- ldrh r1, [r0]\n\
- adds r0, r4, 0\n\
- adds r2, r5, 0\n\
- bl SetBattleMonMoveSlot\n\
- b _08023E5C\n\
- .align 2, 0\n\
+ ldr r0, _08023E2C @ =gBattleTypeFlags\n\
+ ldrh r1, [r0]\n\
+ movs r0, 0x1\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _08023E5C\n\
+ ldr r0, _08023E1C @ =gBattlePartyID\n\
+ ldr r1, _08023E30 @ =0x02000000\n\
+ ldr r2, _08023E34 @ =0x00016018\n\
+ adds r1, r2\n\
+ ldrh r0, [r0, 0x4]\n\
+ ldrb r1, [r1]\n\
+ cmp r0, r1\n\
+ bne _08023E5C\n\
+ ldr r4, _08023E20 @ =gBattleMons\n\
+ movs r1, 0x80\n\
+ lsls r1, 1\n\
+ adds r0, r4, r1\n\
+ ldr r0, [r0]\n\
+ movs r1, 0x80\n\
+ lsls r1, 14\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ bne _08023E5C\n\
+ ldr r0, _08023E24 @ =gDisableStructs\n\
+ adds r0, 0x50\n\
+ ldrb r1, [r0]\n\
+ lsrs r1, 4\n\
+ ldr r2, _08023E28 @ =gBitTable\n\
+ lsls r0, r5, 2\n\
+ adds r0, r2\n\
+ ldr r0, [r0]\n\
+ ands r1, r0\n\
+ cmp r1, 0\n\
+ bne _08023E5C\n\
+ adds r4, 0xB0\n\
+ adds r0, r4, 0\n\
+ adds r1, r5, 0\n\
+ bl RemoveBattleMonPPBonus\n\
+ ldr r0, _08023E18 @ =word_2024E82\n\
+ ldrh r1, [r0]\n\
+ adds r0, r4, 0\n\
+ adds r2, r5, 0\n\
+ bl SetBattleMonMoveSlot\n\
+ b _08023E5C\n\
+ .align 2, 0\n\
_08023E10: .4byte gBattlescriptCurrInstr\n\
_08023E14: .4byte gBattleTextBuff2\n\
_08023E18: .4byte word_2024E82\n\
@@ -11929,33 +11929,33 @@ _08023E2C: .4byte gBattleTypeFlags\n\
_08023E30: .4byte 0x02000000\n\
_08023E34: .4byte 0x00016018\n\
_08023E38:\n\
- bl sub_8023AD8\n\
- ldr r1, _08023E48 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r1]\n\
- adds r0, 0x5\n\
- str r0, [r1]\n\
- b _08023E5C\n\
- .align 2, 0\n\
+ bl sub_8023AD8\n\
+ ldr r1, _08023E48 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r1]\n\
+ adds r0, 0x5\n\
+ str r0, [r1]\n\
+ b _08023E5C\n\
+ .align 2, 0\n\
_08023E48: .4byte gBattlescriptCurrInstr\n\
_08023E4C:\n\
- ldr r0, _08023E6C @ =gBattleExecBuffer\n\
- ldr r0, [r0]\n\
- cmp r0, 0\n\
- bne _08023E5C\n\
- ldr r2, _08023E70 @ =0x0001601a\n\
- adds r1, r5, r2\n\
- movs r0, 0x2\n\
+ ldr r0, _08023E6C @ =gBattleExecBuffer\n\
+ ldr r0, [r0]\n\
+ cmp r0, 0\n\
+ bne _08023E5C\n\
+ ldr r2, _08023E70 @ =0x0001601a\n\
+ adds r1, r5, r2\n\
+ movs r0, 0x2\n\
_08023E5A:\n\
- strb r0, [r1]\n\
+ strb r0, [r1]\n\
_08023E5C:\n\
- add sp, 0x4\n\
- pop {r3,r4}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .align 2, 0\n\
+ add sp, 0x4\n\
+ pop {r3,r4}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
_08023E6C: .4byte gBattleExecBuffer\n\
_08023E70: .4byte 0x0001601a\n\
.syntax divided");
@@ -12088,146 +12088,146 @@ static void atk5D_getmoneyreward(void)
{
asm(".syntax unified\n\
push {r4-r7,lr}\n\
- mov r7, r8\n\
- push {r7}\n\
- movs r6, 0\n\
- movs r5, 0\n\
- ldr r0, _08024048 @ =gTrainerBattleOpponent\n\
- ldrh r2, [r0]\n\
- movs r1, 0x80\n\
- lsls r1, 3\n\
- cmp r2, r1\n\
- bne _08024058\n\
- ldr r0, _0802404C @ =0x02017000\n\
- adds r1, r0, 0\n\
- adds r1, 0x94\n\
- ldrb r2, [r1]\n\
- ldr r1, _08024050 @ =0xfffff056\n\
- adds r0, r1\n\
- ldrb r1, [r0]\n\
- lsls r0, r1, 2\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r4, r2, 0\n\
- muls r4, r0\n\
- ldr r0, _08024054 @ =gSaveBlock1 + 0x490\n\
- mov r8, r0\n\
- b _08024140\n\
- .align 2, 0\n\
+ mov r7, r8\n\
+ push {r7}\n\
+ movs r6, 0\n\
+ movs r5, 0\n\
+ ldr r0, _08024048 @ =gTrainerBattleOpponent\n\
+ ldrh r2, [r0]\n\
+ movs r1, 0x80\n\
+ lsls r1, 3\n\
+ cmp r2, r1\n\
+ bne _08024058\n\
+ ldr r0, _0802404C @ =0x02017000\n\
+ adds r1, r0, 0\n\
+ adds r1, 0x94\n\
+ ldrb r2, [r1]\n\
+ ldr r1, _08024050 @ =0xfffff056\n\
+ adds r0, r1\n\
+ ldrb r1, [r0]\n\
+ lsls r0, r1, 2\n\
+ adds r0, r1\n\
+ lsls r0, 2\n\
+ adds r4, r2, 0\n\
+ muls r4, r0\n\
+ ldr r0, _08024054 @ =gSaveBlock1 + 0x490\n\
+ mov r8, r0\n\
+ b _08024140\n\
+ .align 2, 0\n\
_08024048: .4byte gTrainerBattleOpponent\n\
_0802404C: .4byte 0x02017000\n\
_08024050: .4byte 0xfffff056\n\
_08024054: .4byte gSaveBlock1 + 0x490\n\
_08024058:\n\
- ldr r2, _08024074 @ =gTrainers\n\
- ldrh r1, [r0]\n\
- lsls r0, r1, 2\n\
- adds r0, r1\n\
- lsls r3, r0, 3\n\
- adds r4, r3, r2\n\
- ldrb r1, [r4]\n\
- cmp r1, 0x1\n\
- beq _080240AE\n\
- cmp r1, 0x1\n\
- bgt _08024078\n\
- cmp r1, 0\n\
- beq _08024082\n\
- b _080240C4\n\
- .align 2, 0\n\
+ ldr r2, _08024074 @ =gTrainers\n\
+ ldrh r1, [r0]\n\
+ lsls r0, r1, 2\n\
+ adds r0, r1\n\
+ lsls r3, r0, 3\n\
+ adds r4, r3, r2\n\
+ ldrb r1, [r4]\n\
+ cmp r1, 0x1\n\
+ beq _080240AE\n\
+ cmp r1, 0x1\n\
+ bgt _08024078\n\
+ cmp r1, 0\n\
+ beq _08024082\n\
+ b _080240C4\n\
+ .align 2, 0\n\
_08024074: .4byte gTrainers\n\
_08024078:\n\
- cmp r1, 0x2\n\
- beq _08024098\n\
- cmp r1, 0x3\n\
- beq _080240AE\n\
- b _080240C4\n\
+ cmp r1, 0x2\n\
+ beq _08024098\n\
+ cmp r1, 0x3\n\
+ beq _080240AE\n\
+ b _080240C4\n\
_08024082:\n\
- adds r0, r2, 0\n\
- adds r0, 0x24\n\
- adds r0, r3, r0\n\
- ldr r1, [r0]\n\
- adds r0, r4, 0\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- lsls r0, 3\n\
- adds r0, r1\n\
- subs r0, 0x8\n\
- b _080240C2\n\
+ adds r0, r2, 0\n\
+ adds r0, 0x24\n\
+ adds r0, r3, r0\n\
+ ldr r1, [r0]\n\
+ adds r0, r4, 0\n\
+ adds r0, 0x20\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 3\n\
+ adds r0, r1\n\
+ subs r0, 0x8\n\
+ b _080240C2\n\
_08024098:\n\
- adds r0, r2, 0\n\
- adds r0, 0x24\n\
- adds r0, r3, r0\n\
- ldr r1, [r0]\n\
- adds r0, r4, 0\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- lsls r0, 3\n\
- adds r0, r1\n\
- subs r0, 0x8\n\
- b _080240C2\n\
+ adds r0, r2, 0\n\
+ adds r0, 0x24\n\
+ adds r0, r3, r0\n\
+ ldr r1, [r0]\n\
+ adds r0, r4, 0\n\
+ adds r0, 0x20\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 3\n\
+ adds r0, r1\n\
+ subs r0, 0x8\n\
+ b _080240C2\n\
_080240AE:\n\
- adds r0, r2, 0\n\
- adds r0, 0x24\n\
- adds r0, r3, r0\n\
- ldr r1, [r0]\n\
- adds r0, r4, 0\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- lsls r0, 4\n\
- adds r0, r1\n\
- subs r0, 0x10\n\
+ adds r0, r2, 0\n\
+ adds r0, 0x24\n\
+ adds r0, r3, r0\n\
+ ldr r1, [r0]\n\
+ adds r0, r4, 0\n\
+ adds r0, 0x20\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 4\n\
+ adds r0, r1\n\
+ subs r0, 0x10\n\
_080240C2:\n\
- ldrb r5, [r0, 0x2]\n\
+ ldrb r5, [r0, 0x2]\n\
_080240C4:\n\
- ldr r0, _08024120 @ =gTrainerMoney\n\
- lsls r1, r6, 2\n\
- adds r3, r1, r0\n\
- ldrb r1, [r3]\n\
- mov r12, r0\n\
- lsls r4, r5, 2\n\
- ldr r5, _08024124 @ =0x02000000\n\
- ldr r7, _08024128 @ =gBattleTypeFlags\n\
- ldr r0, _0802412C @ =gSaveBlock1 + 0x490\n\
- mov r8, r0\n\
- cmp r1, 0xFF\n\
- beq _080240FE\n\
- ldr r2, _08024130 @ =gTrainers\n\
- ldr r0, _08024134 @ =gTrainerBattleOpponent\n\
- ldrh r1, [r0]\n\
- lsls r0, r1, 2\n\
- adds r0, r1\n\
- lsls r0, 3\n\
- adds r0, r2\n\
- ldrb r2, [r0, 0x1]\n\
- adds r1, r3, 0\n\
+ ldr r0, _08024120 @ =gTrainerMoney\n\
+ lsls r1, r6, 2\n\
+ adds r3, r1, r0\n\
+ ldrb r1, [r3]\n\
+ mov r12, r0\n\
+ lsls r4, r5, 2\n\
+ ldr r5, _08024124 @ =0x02000000\n\
+ ldr r7, _08024128 @ =gBattleTypeFlags\n\
+ ldr r0, _0802412C @ =gSaveBlock1 + 0x490\n\
+ mov r8, r0\n\
+ cmp r1, 0xFF\n\
+ beq _080240FE\n\
+ ldr r2, _08024130 @ =gTrainers\n\
+ ldr r0, _08024134 @ =gTrainerBattleOpponent\n\
+ ldrh r1, [r0]\n\
+ lsls r0, r1, 2\n\
+ adds r0, r1\n\
+ lsls r0, 3\n\
+ adds r0, r2\n\
+ ldrb r2, [r0, 0x1]\n\
+ adds r1, r3, 0\n\
_080240EE:\n\
- ldrb r0, [r1]\n\
- cmp r0, r2\n\
- beq _080240FE\n\
- adds r1, 0x4\n\
- adds r6, 0x1\n\
- ldrb r0, [r1]\n\
- cmp r0, 0xFF\n\
- bne _080240EE\n\
+ ldrb r0, [r1]\n\
+ cmp r0, r2\n\
+ beq _080240FE\n\
+ adds r1, 0x4\n\
+ adds r6, 0x1\n\
+ ldrb r0, [r1]\n\
+ cmp r0, 0xFF\n\
+ bne _080240EE\n\
_080240FE:\n\
- ldr r1, _08024138 @ =0x00016056\n\
- adds r0, r5, r1\n\
- ldrb r0, [r0]\n\
- adds r3, r4, 0\n\
- muls r3, r0\n\
- lsls r0, r6, 2\n\
- add r0, r12\n\
- ldrb r2, [r0, 0x1]\n\
- ldrh r1, [r7]\n\
- movs r0, 0x1\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _0802413C\n\
- lsls r0, r2, 1\n\
- adds r4, r3, 0\n\
- muls r4, r0\n\
- b _08024140\n\
- .align 2, 0\n\
+ ldr r1, _08024138 @ =0x00016056\n\
+ adds r0, r5, r1\n\
+ ldrb r0, [r0]\n\
+ adds r3, r4, 0\n\
+ muls r3, r0\n\
+ lsls r0, r6, 2\n\
+ add r0, r12\n\
+ ldrb r2, [r0, 0x1]\n\
+ ldrh r1, [r7]\n\
+ movs r0, 0x1\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0802413C\n\
+ lsls r0, r2, 1\n\
+ adds r4, r3, 0\n\
+ muls r4, r0\n\
+ b _08024140\n\
+ .align 2, 0\n\
_08024120: .4byte gTrainerMoney\n\
_08024124: .4byte 0x02000000\n\
_08024128: .4byte gBattleTypeFlags\n\
@@ -12236,46 +12236,46 @@ _08024130: .4byte gTrainers\n\
_08024134: .4byte gTrainerBattleOpponent\n\
_08024138: .4byte 0x00016056\n\
_0802413C:\n\
- adds r4, r3, 0\n\
- muls r4, r2\n\
+ adds r4, r3, 0\n\
+ muls r4, r2\n\
_08024140:\n\
- mov r0, r8\n\
- adds r1, r4, 0\n\
- bl sub_80B79B8\n\
- ldr r1, _0802418C @ =gBattleTextBuff1\n\
- movs r0, 0xFD\n\
- strb r0, [r1]\n\
- movs r0, 0x1\n\
- strb r0, [r1, 0x1]\n\
- movs r0, 0x4\n\
- strb r0, [r1, 0x2]\n\
- movs r0, 0x5\n\
- strb r0, [r1, 0x3]\n\
- strb r4, [r1, 0x4]\n\
- movs r0, 0xFF\n\
- lsls r0, 8\n\
- ands r0, r4\n\
- lsrs r0, 8\n\
- strb r0, [r1, 0x5]\n\
- movs r0, 0xFF\n\
- lsls r0, 16\n\
- ands r0, r4\n\
- lsrs r0, 16\n\
- strb r0, [r1, 0x6]\n\
- lsrs r0, r4, 24\n\
- strb r0, [r1, 0x7]\n\
- movs r0, 0xFF\n\
- strb r0, [r1, 0x8]\n\
- ldr r1, _08024190 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r1]\n\
- adds r0, 0x1\n\
- str r0, [r1]\n\
- pop {r3}\n\
- mov r8, r3\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .align 2, 0\n\
+ mov r0, r8\n\
+ adds r1, r4, 0\n\
+ bl sub_80B79B8\n\
+ ldr r1, _0802418C @ =gBattleTextBuff1\n\
+ movs r0, 0xFD\n\
+ strb r0, [r1]\n\
+ movs r0, 0x1\n\
+ strb r0, [r1, 0x1]\n\
+ movs r0, 0x4\n\
+ strb r0, [r1, 0x2]\n\
+ movs r0, 0x5\n\
+ strb r0, [r1, 0x3]\n\
+ strb r4, [r1, 0x4]\n\
+ movs r0, 0xFF\n\
+ lsls r0, 8\n\
+ ands r0, r4\n\
+ lsrs r0, 8\n\
+ strb r0, [r1, 0x5]\n\
+ movs r0, 0xFF\n\
+ lsls r0, 16\n\
+ ands r0, r4\n\
+ lsrs r0, 16\n\
+ strb r0, [r1, 0x6]\n\
+ lsrs r0, r4, 24\n\
+ strb r0, [r1, 0x7]\n\
+ movs r0, 0xFF\n\
+ strb r0, [r1, 0x8]\n\
+ ldr r1, _08024190 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r1]\n\
+ adds r0, 0x1\n\
+ str r0, [r1]\n\
+ pop {r3}\n\
+ mov r8, r3\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
_0802418C: .4byte gBattleTextBuff1\n\
_08024190: .4byte gBattlescriptCurrInstr\n\
.syntax divided");
@@ -12388,94 +12388,94 @@ static void atk63_jumptorandomattack(void)
static void atk64_statusanimation(void)
{
- if (gBattleExecBuffer)
- return;
+ if (gBattleExecBuffer)
+ return;
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
- if (!(gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) && gDisableStructs[gActiveBank].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS))
- {
- EmitStatusAnimation(0, 0, gBattleMons[gActiveBank].status1);
- MarkBufferBankForExecution(gActiveBank);
- }
- gBattlescriptCurrInstr += 2;
+ gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ if (!(gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) && gDisableStructs[gActiveBank].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS))
+ {
+ EmitStatusAnimation(0, 0, gBattleMons[gActiveBank].status1);
+ MarkBufferBankForExecution(gActiveBank);
+ }
+ gBattlescriptCurrInstr += 2;
}
static void atk65_status2animation(void)
{
- u32 possible_to_anim;
- if (gBattleExecBuffer)
- return;
+ u32 possible_to_anim;
+ if (gBattleExecBuffer)
+ return;
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
- possible_to_anim = BSScriptRead32(gBattlescriptCurrInstr + 2);
- if (!(gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) && gDisableStructs[gActiveBank].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS))
- {
- EmitStatusAnimation(0, 1, gBattleMons[gActiveBank].status2 & possible_to_anim);
- MarkBufferBankForExecution(gActiveBank);
- }
- gBattlescriptCurrInstr += 6;
+ gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ possible_to_anim = BSScriptRead32(gBattlescriptCurrInstr + 2);
+ if (!(gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) && gDisableStructs[gActiveBank].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS))
+ {
+ EmitStatusAnimation(0, 1, gBattleMons[gActiveBank].status2 & possible_to_anim);
+ MarkBufferBankForExecution(gActiveBank);
+ }
+ gBattlescriptCurrInstr += 6;
}
static void atk66_chosenstatusanimation(void)
{
- u32 status;
- if (gBattleExecBuffer)
- return;
+ u32 status;
+ if (gBattleExecBuffer)
+ return;
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
- status = BSScriptRead32(gBattlescriptCurrInstr + 3);
- if (!(gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) && gDisableStructs[gActiveBank].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS))
- {
- EmitStatusAnimation(0, BSScriptRead8(gBattlescriptCurrInstr + 2), status);
- MarkBufferBankForExecution(gActiveBank);
- }
- gBattlescriptCurrInstr += 7;
+ gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ status = BSScriptRead32(gBattlescriptCurrInstr + 3);
+ if (!(gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) && gDisableStructs[gActiveBank].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS))
+ {
+ EmitStatusAnimation(0, BSScriptRead8(gBattlescriptCurrInstr + 2), status);
+ MarkBufferBankForExecution(gActiveBank);
+ }
+ gBattlescriptCurrInstr += 7;
}
static void atk67_8025ECC(void)
{
- switch (gBattleCommunication[0])
- {
- case 0:
- sub_8023A80();
- gBattleCommunication[0]++;
- gBattleCommunication[1] = 0;
- sub_802BC6C();
- break;
- case 1:
- if (gMain.newKeys & 0x40 && gBattleCommunication[1] != 0)
- {
- PlaySE(5);
- nullsub_6();
- gBattleCommunication[1] = 0;
- sub_802BC6C();
- }
- if (gMain.newKeys & 0x80 && gBattleCommunication[1] == 0)
- {
- PlaySE(5);
- nullsub_6();
- gBattleCommunication[1] = 1;
- sub_802BC6C();
- }
- if (gMain.newKeys & 0x2)
- gBattleCommunication[1] = 1;
- else if (!(gMain.newKeys & 0x1))
- break;
- PlaySE(5);
- sub_8023AD8();
- gBattlescriptCurrInstr++;
- break;
- }
+ switch (gBattleCommunication[0])
+ {
+ case 0:
+ sub_8023A80();
+ gBattleCommunication[0]++;
+ gBattleCommunication[1] = 0;
+ sub_802BC6C();
+ break;
+ case 1:
+ if (gMain.newKeys & 0x40 && gBattleCommunication[1] != 0)
+ {
+ PlaySE(5);
+ nullsub_6();
+ gBattleCommunication[1] = 0;
+ sub_802BC6C();
+ }
+ if (gMain.newKeys & 0x80 && gBattleCommunication[1] == 0)
+ {
+ PlaySE(5);
+ nullsub_6();
+ gBattleCommunication[1] = 1;
+ sub_802BC6C();
+ }
+ if (gMain.newKeys & 0x2)
+ gBattleCommunication[1] = 1;
+ else if (!(gMain.newKeys & 0x1))
+ break;
+ PlaySE(5);
+ sub_8023AD8();
+ gBattlescriptCurrInstr++;
+ break;
+ }
}
static void atk68_80246A0(void)
{
- int i;
- for (i = 0; i < gNoOfAllBanks; i++)
- {
- gUnknown_02024A76[i] = 0xC;
- }
- gBattlescriptCurrInstr++;
+ int i;
+ for (i = 0; i < gNoOfAllBanks; i++)
+ {
+ gUnknown_02024A76[i] = 0xC;
+ }
+ gBattlescriptCurrInstr++;
}
static void atk69_dmg_adjustment2(void) //literally a copy of atk07 except theres no rand dmg modifier...
@@ -12523,186 +12523,186 @@ static void atk69_dmg_adjustment2(void) //literally a copy of atk07 except there
static void atk6A_removeitem(void)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
- //BATTLE_STRUCT->UsedHeldItems[gActiveBank] = gBattleMons[gActiveBank].item;
- #define USED_HELD_ITEMS(bank)((u16)(*(u8*)(((u8)(bank) << 1) + 0x020160cc)))
+ gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ //BATTLE_STRUCT->UsedHeldItems[gActiveBank] = gBattleMons[gActiveBank].item;
+ #define USED_HELD_ITEMS(bank)((u16)(*(u8*)(((u8)(bank) << 1) + 0x020160cc)))
- USED_HELD_ITEMS(gActiveBank) = gBattleMons[gActiveBank].item;
- gBattleMons[gActiveBank].item = 0;
- EmitSetAttributes(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gActiveBank].item);
- MarkBufferBankForExecution(gActiveBank);
- gBattlescriptCurrInstr += 2;
+ USED_HELD_ITEMS(gActiveBank) = gBattleMons[gActiveBank].item;
+ gBattleMons[gActiveBank].item = 0;
+ EmitSetAttributes(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gActiveBank].item);
+ MarkBufferBankForExecution(gActiveBank);
+ gBattlescriptCurrInstr += 2;
}
#else
__attribute__((naked))
static void atk6A_removeitem(void)
{
- asm(".syntax unified\n\
+ asm(".syntax unified\n\
push {r4-r6,lr}\n\
- sub sp, 0x4\n\
- ldr r6, _080248B0 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r6]\n\
- ldrb r0, [r0, 0x1]\n\
- bl GetBattleBank\n\
- ldr r5, _080248B4 @ =gActiveBank\n\
- strb r0, [r5]\n\
- ldrb r4, [r5]\n\
- lsls r1, r4, 1\n\
- ldr r0, _080248B8 @ =0x020160cc\n\
- adds r1, r0\n\
- ldr r2, _080248BC @ =gBattleMons\n\
- movs r3, 0x58\n\
- adds r0, r4, 0\n\
- muls r0, r3\n\
- adds r0, r2\n\
- ldrh r0, [r0, 0x2E]\n\
- strh r0, [r1]\n\
- ldrb r0, [r5]\n\
- muls r0, r3\n\
- adds r0, r2\n\
- movs r1, 0\n\
- strh r1, [r0, 0x2E]\n\
- ldrb r0, [r5]\n\
- muls r0, r3\n\
- adds r2, 0x2E\n\
- adds r0, r2\n\
- str r0, [sp]\n\
- movs r0, 0\n\
- movs r1, 0x2\n\
- movs r2, 0\n\
- movs r3, 0x2\n\
- bl EmitSetAttributes\n\
- ldrb r0, [r5]\n\
- bl MarkBufferBankForExecution\n\
- ldr r0, [r6]\n\
- adds r0, 0x2\n\
- str r0, [r6]\n\
- add sp, 0x4\n\
- pop {r4-r6}\n\
- pop {r0}\n\
- bx r0\n\
- .align 2, 0\n\
+ sub sp, 0x4\n\
+ ldr r6, _080248B0 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r6]\n\
+ ldrb r0, [r0, 0x1]\n\
+ bl GetBattleBank\n\
+ ldr r5, _080248B4 @ =gActiveBank\n\
+ strb r0, [r5]\n\
+ ldrb r4, [r5]\n\
+ lsls r1, r4, 1\n\
+ ldr r0, _080248B8 @ =0x020160cc\n\
+ adds r1, r0\n\
+ ldr r2, _080248BC @ =gBattleMons\n\
+ movs r3, 0x58\n\
+ adds r0, r4, 0\n\
+ muls r0, r3\n\
+ adds r0, r2\n\
+ ldrh r0, [r0, 0x2E]\n\
+ strh r0, [r1]\n\
+ ldrb r0, [r5]\n\
+ muls r0, r3\n\
+ adds r0, r2\n\
+ movs r1, 0\n\
+ strh r1, [r0, 0x2E]\n\
+ ldrb r0, [r5]\n\
+ muls r0, r3\n\
+ adds r2, 0x2E\n\
+ adds r0, r2\n\
+ str r0, [sp]\n\
+ movs r0, 0\n\
+ movs r1, 0x2\n\
+ movs r2, 0\n\
+ movs r3, 0x2\n\
+ bl EmitSetAttributes\n\
+ ldrb r0, [r5]\n\
+ bl MarkBufferBankForExecution\n\
+ ldr r0, [r6]\n\
+ adds r0, 0x2\n\
+ str r0, [r6]\n\
+ add sp, 0x4\n\
+ pop {r4-r6}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
_080248B0: .4byte gBattlescriptCurrInstr\n\
_080248B4: .4byte gActiveBank\n\
_080248B8: .4byte 0x020160cc\n\
_080248BC: .4byte gBattleMons\n\
- .syntax divided");
+ .syntax divided");
}
#endif //NONMATCHING
static void atk6B_atknameinbuff1(void)
{
- gBattleTextBuff1[0] = 0xFD;
- gBattleTextBuff1[1] = 7;
- gBattleTextBuff1[2] = gBankAttacker;
- gBattleTextBuff1[3] = gBattlePartyID[gBankAttacker];
- gBattleTextBuff1[4] = 0xFF;
+ gBattleTextBuff1[0] = 0xFD;
+ gBattleTextBuff1[1] = 7;
+ gBattleTextBuff1[2] = gBankAttacker;
+ gBattleTextBuff1[3] = gBattlePartyID[gBankAttacker];
+ gBattleTextBuff1[4] = 0xFF;
- gBattlescriptCurrInstr++;
+ gBattlescriptCurrInstr++;
}
#ifdef NONMATCHING
static void atk6C_lvlbox_display(void)
{
- u8 r1 = 0;
- u8 r7 = 0;
- switch (BATTLE_STRUCT->atk6C_statetracker)
- {
- case 0:
- sub_802BBD4(0xB, 0, 0x1D, 0x7, r1);
- StringCopy(gStringVar4, gUnknown_08400D9F);
+ u8 r1 = 0;
+ u8 r7 = 0;
+ switch (BATTLE_STRUCT->atk6C_statetracker)
+ {
+ case 0:
+ sub_802BBD4(0xB, 0, 0x1D, 0x7, r1);
+ StringCopy(gStringVar4, gUnknown_08400D9F);
- }
+ }
}
#else
__attribute__((naked))
static void atk6C_lvlbox_display(void)
{
- asm(".syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- sub sp, 0x4\n\
- movs r1, 0\n\
- movs r7, 0\n\
- ldr r0, _08024928 @ =0x02000000\n\
- mov r10, r0\n\
- ldr r4, _0802492C @ =0x0001609c\n\
- add r4, r10\n\
- ldrb r0, [r4]\n\
- cmp r0, 0x1\n\
- bne _0802491C\n\
- b _08024AF4\n\
+ asm(".syntax unified\n\
+ push {r4-r7,lr}\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ sub sp, 0x4\n\
+ movs r1, 0\n\
+ movs r7, 0\n\
+ ldr r0, _08024928 @ =0x02000000\n\
+ mov r10, r0\n\
+ ldr r4, _0802492C @ =0x0001609c\n\
+ add r4, r10\n\
+ ldrb r0, [r4]\n\
+ cmp r0, 0x1\n\
+ bne _0802491C\n\
+ b _08024AF4\n\
_0802491C:\n\
- cmp r0, 0x1\n\
- bgt _08024930\n\
- cmp r0, 0\n\
- beq _0802493E\n\
- b _08024C38\n\
- .align 2, 0\n\
+ cmp r0, 0x1\n\
+ bgt _08024930\n\
+ cmp r0, 0\n\
+ beq _0802493E\n\
+ b _08024C38\n\
+ .align 2, 0\n\
_08024928: .4byte 0x02000000\n\
_0802492C: .4byte 0x0001609c\n\
_08024930:\n\
- cmp r0, 0x2\n\
- bne _08024936\n\
- b _08024C04\n\
+ cmp r0, 0x2\n\
+ bne _08024936\n\
+ b _08024C04\n\
_08024936:\n\
- cmp r0, 0x3\n\
- bne _0802493C\n\
- b _08024C30\n\
+ cmp r0, 0x3\n\
+ bne _0802493C\n\
+ b _08024C30\n\
_0802493C:\n\
- b _08024C38\n\
+ b _08024C38\n\
_0802493E:\n\
- str r1, [sp]\n\
- movs r0, 0xB\n\
- movs r1, 0\n\
- movs r2, 0x1D\n\
- movs r3, 0x7\n\
- bl sub_802BBD4\n\
- ldr r0, _0802499C @ =gStringVar4\n\
- ldr r1, _080249A0 @ =gUnknown_08400D9F\n\
- bl StringCopy\n\
- adds r5, r0, 0\n\
- movs r1, 0\n\
- mov r8, r1\n\
+ str r1, [sp]\n\
+ movs r0, 0xB\n\
+ movs r1, 0\n\
+ movs r2, 0x1D\n\
+ movs r3, 0x7\n\
+ bl sub_802BBD4\n\
+ ldr r0, _0802499C @ =gStringVar4\n\
+ ldr r1, _080249A0 @ =gUnknown_08400D9F\n\
+ bl StringCopy\n\
+ adds r5, r0, 0\n\
+ movs r1, 0\n\
+ mov r8, r1\n\
_0802495A:\n\
- movs r2, 0\n\
- mov r9, r2\n\
- ldr r0, _080249A4 @ =gUnknown_0840165C\n\
- mov r1, r8\n\
- lsls r4, r1, 2\n\
- adds r0, r4, r0\n\
- ldr r1, [r0]\n\
- adds r0, r5, 0\n\
- bl StringAppend\n\
- adds r5, r0, 0\n\
- ldr r0, _080249A8 @ =0x02000000\n\
- ldr r2, _080249AC @ =0x00016018\n\
- adds r0, r2\n\
- ldrb r1, [r0]\n\
- movs r0, 0x64\n\
- muls r0, r1\n\
- ldr r1, _080249B0 @ =gPlayerParty\n\
- adds r0, r1\n\
- ldr r1, _080249B4 @ =gLevelUpStatBoxStats\n\
- add r1, r8\n\
- ldrb r1, [r1]\n\
- bl GetMonData\n\
- lsls r0, 16\n\
- lsrs r1, r0, 16\n\
- mov r0, r8\n\
- cmp r0, 0x5\n\
- bhi _08024A1A\n\
- ldr r0, _080249B8 @ =_080249BC\n\
- adds r0, r4, r0\n\
- ldr r0, [r0]\n\
- mov pc, r0\n\
- .align 2, 0\n\
+ movs r2, 0\n\
+ mov r9, r2\n\
+ ldr r0, _080249A4 @ =gUnknown_0840165C\n\
+ mov r1, r8\n\
+ lsls r4, r1, 2\n\
+ adds r0, r4, r0\n\
+ ldr r1, [r0]\n\
+ adds r0, r5, 0\n\
+ bl StringAppend\n\
+ adds r5, r0, 0\n\
+ ldr r0, _080249A8 @ =0x02000000\n\
+ ldr r2, _080249AC @ =0x00016018\n\
+ adds r0, r2\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0x64\n\
+ muls r0, r1\n\
+ ldr r1, _080249B0 @ =gPlayerParty\n\
+ adds r0, r1\n\
+ ldr r1, _080249B4 @ =gLevelUpStatBoxStats\n\
+ add r1, r8\n\
+ ldrb r1, [r1]\n\
+ bl GetMonData\n\
+ lsls r0, 16\n\
+ lsrs r1, r0, 16\n\
+ mov r0, r8\n\
+ cmp r0, 0x5\n\
+ bhi _08024A1A\n\
+ ldr r0, _080249B8 @ =_080249BC\n\
+ adds r0, r4, r0\n\
+ ldr r0, [r0]\n\
+ mov pc, r0\n\
+ .align 2, 0\n\
_0802499C: .4byte gStringVar4\n\
_080249A0: .4byte gUnknown_08400D9F\n\
_080249A4: .4byte gUnknown_0840165C\n\
@@ -12711,237 +12711,237 @@ _080249AC: .4byte 0x00016018\n\
_080249B0: .4byte gPlayerParty\n\
_080249B4: .4byte gLevelUpStatBoxStats\n\
_080249B8: .4byte _080249BC\n\
- .align 2, 0\n\
+ .align 2, 0\n\
_080249BC:\n\
- .4byte _080249D4\n\
- .4byte _080249E0\n\
- .4byte _080249EC\n\
- .4byte _080249F8\n\
- .4byte _08024A04\n\
- .4byte _08024A10\n\
+ .4byte _080249D4\n\
+ .4byte _080249E0\n\
+ .4byte _080249EC\n\
+ .4byte _080249F8\n\
+ .4byte _08024A04\n\
+ .4byte _08024A10\n\
_080249D4:\n\
- ldr r0, _080249DC @ =0x02017180\n\
- ldrh r0, [r0]\n\
- b _08024A14\n\
- .align 2, 0\n\
+ ldr r0, _080249DC @ =0x02017180\n\
+ ldrh r0, [r0]\n\
+ b _08024A14\n\
+ .align 2, 0\n\
_080249DC: .4byte 0x02017180\n\
_080249E0:\n\
- ldr r0, _080249E8 @ =0x02017180\n\
- ldrh r0, [r0, 0x8]\n\
- b _08024A14\n\
- .align 2, 0\n\
+ ldr r0, _080249E8 @ =0x02017180\n\
+ ldrh r0, [r0, 0x8]\n\
+ b _08024A14\n\
+ .align 2, 0\n\
_080249E8: .4byte 0x02017180\n\
_080249EC:\n\
- ldr r0, _080249F4 @ =0x02017180\n\
- ldrh r0, [r0, 0x2]\n\
- b _08024A14\n\
- .align 2, 0\n\
+ ldr r0, _080249F4 @ =0x02017180\n\
+ ldrh r0, [r0, 0x2]\n\
+ b _08024A14\n\
+ .align 2, 0\n\
_080249F4: .4byte 0x02017180\n\
_080249F8:\n\
- ldr r0, _08024A00 @ =0x02017180\n\
- ldrh r0, [r0, 0xA]\n\
- b _08024A14\n\
- .align 2, 0\n\
+ ldr r0, _08024A00 @ =0x02017180\n\
+ ldrh r0, [r0, 0xA]\n\
+ b _08024A14\n\
+ .align 2, 0\n\
_08024A00: .4byte 0x02017180\n\
_08024A04:\n\
- ldr r0, _08024A0C @ =0x02017180\n\
- ldrh r0, [r0, 0x4]\n\
- b _08024A14\n\
- .align 2, 0\n\
+ ldr r0, _08024A0C @ =0x02017180\n\
+ ldrh r0, [r0, 0x4]\n\
+ b _08024A14\n\
+ .align 2, 0\n\
_08024A0C: .4byte 0x02017180\n\
_08024A10:\n\
- ldr r0, _08024A54 @ =0x02017180\n\
- ldrh r0, [r0, 0x6]\n\
+ ldr r0, _08024A54 @ =0x02017180\n\
+ ldrh r0, [r0, 0x6]\n\
_08024A14:\n\
- subs r0, r1, r0\n\
- lsls r0, 16\n\
- lsrs r7, r0, 16\n\
+ subs r0, r1, r0\n\
+ lsls r0, 16\n\
+ lsrs r7, r0, 16\n\
_08024A1A:\n\
- lsls r0, r7, 16\n\
- asrs r0, 16\n\
- cmp r0, 0\n\
- bge _08024A2C\n\
- negs r0, r0\n\
- lsls r0, 16\n\
- lsrs r7, r0, 16\n\
- movs r1, 0x1\n\
- add r9, r1\n\
+ lsls r0, r7, 16\n\
+ asrs r0, 16\n\
+ cmp r0, 0\n\
+ bge _08024A2C\n\
+ negs r0, r0\n\
+ lsls r0, 16\n\
+ lsrs r7, r0, 16\n\
+ movs r1, 0x1\n\
+ add r9, r1\n\
_08024A2C:\n\
- movs r0, 0xFC\n\
- strb r0, [r5]\n\
- movs r0, 0x13\n\
- strb r0, [r5, 0x1]\n\
- movs r1, 0x1\n\
- mov r2, r8\n\
- ands r1, r2\n\
- lsls r0, r1, 3\n\
- adds r0, r1\n\
- adds r0, 0x5\n\
- lsls r0, 3\n\
- adds r0, 0x6\n\
- strb r0, [r5, 0x2]\n\
- adds r5, 0x3\n\
- mov r0, r9\n\
- cmp r0, 0\n\
- beq _08024A5C\n\
- ldr r1, _08024A58 @ =gUnknown_08400DAC\n\
- b _08024A5E\n\
- .align 2, 0\n\
+ movs r0, 0xFC\n\
+ strb r0, [r5]\n\
+ movs r0, 0x13\n\
+ strb r0, [r5, 0x1]\n\
+ movs r1, 0x1\n\
+ mov r2, r8\n\
+ ands r1, r2\n\
+ lsls r0, r1, 3\n\
+ adds r0, r1\n\
+ adds r0, 0x5\n\
+ lsls r0, 3\n\
+ adds r0, 0x6\n\
+ strb r0, [r5, 0x2]\n\
+ adds r5, 0x3\n\
+ mov r0, r9\n\
+ cmp r0, 0\n\
+ beq _08024A5C\n\
+ ldr r1, _08024A58 @ =gUnknown_08400DAC\n\
+ b _08024A5E\n\
+ .align 2, 0\n\
_08024A54: .4byte 0x02017180\n\
_08024A58: .4byte gUnknown_08400DAC\n\
_08024A5C:\n\
- ldr r1, _08024AA4 @ =gUnknown_08400DAA\n\
+ ldr r1, _08024AA4 @ =gUnknown_08400DAA\n\
_08024A5E:\n\
- adds r0, r5, 0\n\
- bl StringCopy\n\
- adds r5, r0, 0\n\
- movs r6, 0xFC\n\
- strb r6, [r5]\n\
- movs r4, 0x14\n\
- strb r4, [r5, 0x1]\n\
- movs r0, 0x6\n\
- strb r0, [r5, 0x2]\n\
- adds r5, 0x3\n\
- lsls r1, r7, 16\n\
- asrs r1, 16\n\
- adds r0, r5, 0\n\
- movs r2, 0x1\n\
- movs r3, 0x2\n\
- bl ConvertIntToDecimalStringN\n\
- adds r5, r0, 0\n\
- strb r6, [r5]\n\
- strb r4, [r5, 0x1]\n\
- movs r0, 0\n\
- strb r0, [r5, 0x2]\n\
- adds r5, 0x3\n\
- movs r0, 0x1\n\
- mov r1, r8\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08024AA8\n\
- movs r0, 0xFE\n\
- strb r0, [r5]\n\
- movs r0, 0xFF\n\
- strb r0, [r5, 0x1]\n\
- adds r5, 0x1\n\
- b _08024AB8\n\
- .align 2, 0\n\
+ adds r0, r5, 0\n\
+ bl StringCopy\n\
+ adds r5, r0, 0\n\
+ movs r6, 0xFC\n\
+ strb r6, [r5]\n\
+ movs r4, 0x14\n\
+ strb r4, [r5, 0x1]\n\
+ movs r0, 0x6\n\
+ strb r0, [r5, 0x2]\n\
+ adds r5, 0x3\n\
+ lsls r1, r7, 16\n\
+ asrs r1, 16\n\
+ adds r0, r5, 0\n\
+ movs r2, 0x1\n\
+ movs r3, 0x2\n\
+ bl ConvertIntToDecimalStringN\n\
+ adds r5, r0, 0\n\
+ strb r6, [r5]\n\
+ strb r4, [r5, 0x1]\n\
+ movs r0, 0\n\
+ strb r0, [r5, 0x2]\n\
+ adds r5, 0x3\n\
+ movs r0, 0x1\n\
+ mov r1, r8\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _08024AA8\n\
+ movs r0, 0xFE\n\
+ strb r0, [r5]\n\
+ movs r0, 0xFF\n\
+ strb r0, [r5, 0x1]\n\
+ adds r5, 0x1\n\
+ b _08024AB8\n\
+ .align 2, 0\n\
_08024AA4: .4byte gUnknown_08400DAA\n\
_08024AA8:\n\
- strb r6, [r5]\n\
- movs r0, 0x11\n\
- strb r0, [r5, 0x1]\n\
- movs r0, 0x8\n\
- strb r0, [r5, 0x2]\n\
- adds r5, 0x3\n\
- movs r0, 0xFF\n\
- strb r0, [r5]\n\
+ strb r6, [r5]\n\
+ movs r0, 0x11\n\
+ strb r0, [r5, 0x1]\n\
+ movs r0, 0x8\n\
+ strb r0, [r5, 0x2]\n\
+ adds r5, 0x3\n\
+ movs r0, 0xFF\n\
+ strb r0, [r5]\n\
_08024AB8:\n\
- movs r2, 0x1\n\
- add r8, r2\n\
- mov r0, r8\n\
- cmp r0, 0x5\n\
- bgt _08024AC4\n\
- b _0802495A\n\
+ movs r2, 0x1\n\
+ add r8, r2\n\
+ mov r0, r8\n\
+ cmp r0, 0x5\n\
+ bgt _08024AC4\n\
+ b _0802495A\n\
_08024AC4:\n\
- ldr r4, _08024AE4 @ =gUnknown_03004210\n\
- ldr r1, _08024AE8 @ =gStringVar4\n\
- adds r2, 0xFF\n\
- movs r0, 0x1\n\
- str r0, [sp]\n\
- adds r0, r4, 0\n\
- movs r3, 0xC\n\
- bl InitWindow\n\
- adds r0, r4, 0\n\
- bl sub_8002F44\n\
- ldr r1, _08024AEC @ =0x02000000\n\
- ldr r2, _08024AF0 @ =0x0001609c\n\
- adds r1, r2\n\
- b _08024BEA\n\
- .align 2, 0\n\
+ ldr r4, _08024AE4 @ =gUnknown_03004210\n\
+ ldr r1, _08024AE8 @ =gStringVar4\n\
+ adds r2, 0xFF\n\
+ movs r0, 0x1\n\
+ str r0, [sp]\n\
+ adds r0, r4, 0\n\
+ movs r3, 0xC\n\
+ bl InitWindow\n\
+ adds r0, r4, 0\n\
+ bl sub_8002F44\n\
+ ldr r1, _08024AEC @ =0x02000000\n\
+ ldr r2, _08024AF0 @ =0x0001609c\n\
+ adds r1, r2\n\
+ b _08024BEA\n\
+ .align 2, 0\n\
_08024AE4: .4byte gUnknown_03004210\n\
_08024AE8: .4byte gStringVar4\n\
_08024AEC: .4byte 0x02000000\n\
_08024AF0: .4byte 0x0001609c\n\
_08024AF4:\n\
- ldr r0, _08024B94 @ =gMain\n\
- ldrh r0, [r0, 0x2E]\n\
- cmp r0, 0\n\
- bne _08024AFE\n\
- b _08024C38\n\
+ ldr r0, _08024B94 @ =gMain\n\
+ ldrh r0, [r0, 0x2E]\n\
+ cmp r0, 0\n\
+ bne _08024AFE\n\
+ b _08024C38\n\
_08024AFE:\n\
- movs r0, 0x5\n\
- bl PlaySE\n\
- ldr r0, _08024B98 @ =gStringVar4\n\
- ldr r1, _08024B9C @ =gUnknown_08400D9F\n\
- bl StringCopy\n\
- adds r5, r0, 0\n\
- movs r0, 0\n\
- mov r8, r0\n\
- mov r9, r0\n\
- movs r6, 0xFC\n\
- movs r7, 0x14\n\
- ldr r1, _08024BA0 @ =0x00016018\n\
- add r10, r1\n\
+ movs r0, 0x5\n\
+ bl PlaySE\n\
+ ldr r0, _08024B98 @ =gStringVar4\n\
+ ldr r1, _08024B9C @ =gUnknown_08400D9F\n\
+ bl StringCopy\n\
+ adds r5, r0, 0\n\
+ movs r0, 0\n\
+ mov r8, r0\n\
+ mov r9, r0\n\
+ movs r6, 0xFC\n\
+ movs r7, 0x14\n\
+ ldr r1, _08024BA0 @ =0x00016018\n\
+ add r10, r1\n\
_08024B1C:\n\
- ldr r1, _08024BA4 @ =gUnknown_0840165C\n\
- mov r2, r8\n\
- lsls r0, r2, 2\n\
- adds r0, r1\n\
- ldr r1, [r0]\n\
- adds r0, r5, 0\n\
- bl StringAppend\n\
- adds r5, r0, 0\n\
- mov r0, r10\n\
- ldrb r1, [r0]\n\
- movs r0, 0x64\n\
- muls r0, r1\n\
- ldr r1, _08024BA8 @ =gPlayerParty\n\
- adds r0, r1\n\
- ldr r1, _08024BAC @ =gLevelUpStatBoxStats\n\
- add r1, r8\n\
- ldrb r1, [r1]\n\
- bl GetMonData\n\
- adds r1, r0, 0\n\
- strb r6, [r5]\n\
- movs r0, 0x13\n\
- strb r0, [r5, 0x1]\n\
- movs r4, 0x1\n\
- mov r2, r8\n\
- ands r4, r2\n\
- lsls r0, r4, 3\n\
- adds r0, r4\n\
- adds r0, 0x5\n\
- lsls r0, 3\n\
- adds r0, 0x6\n\
- strb r0, [r5, 0x2]\n\
- adds r5, 0x3\n\
- strb r6, [r5]\n\
- strb r7, [r5, 0x1]\n\
- movs r0, 0x6\n\
- strb r0, [r5, 0x2]\n\
- adds r5, 0x3\n\
- lsls r1, 16\n\
- asrs r1, 16\n\
- adds r0, r5, 0\n\
- movs r2, 0x1\n\
- movs r3, 0x3\n\
- bl ConvertIntToDecimalStringN\n\
- adds r5, r0, 0\n\
- strb r6, [r5]\n\
- strb r7, [r5, 0x1]\n\
- mov r0, r9\n\
- strb r0, [r5, 0x2]\n\
- adds r5, 0x3\n\
- cmp r4, 0\n\
- beq _08024BB0\n\
- movs r0, 0xFE\n\
- strb r0, [r5]\n\
- movs r0, 0xFF\n\
- strb r0, [r5, 0x1]\n\
- adds r5, 0x1\n\
- b _08024BC0\n\
- .align 2, 0\n\
+ ldr r1, _08024BA4 @ =gUnknown_0840165C\n\
+ mov r2, r8\n\
+ lsls r0, r2, 2\n\
+ adds r0, r1\n\
+ ldr r1, [r0]\n\
+ adds r0, r5, 0\n\
+ bl StringAppend\n\
+ adds r5, r0, 0\n\
+ mov r0, r10\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0x64\n\
+ muls r0, r1\n\
+ ldr r1, _08024BA8 @ =gPlayerParty\n\
+ adds r0, r1\n\
+ ldr r1, _08024BAC @ =gLevelUpStatBoxStats\n\
+ add r1, r8\n\
+ ldrb r1, [r1]\n\
+ bl GetMonData\n\
+ adds r1, r0, 0\n\
+ strb r6, [r5]\n\
+ movs r0, 0x13\n\
+ strb r0, [r5, 0x1]\n\
+ movs r4, 0x1\n\
+ mov r2, r8\n\
+ ands r4, r2\n\
+ lsls r0, r4, 3\n\
+ adds r0, r4\n\
+ adds r0, 0x5\n\
+ lsls r0, 3\n\
+ adds r0, 0x6\n\
+ strb r0, [r5, 0x2]\n\
+ adds r5, 0x3\n\
+ strb r6, [r5]\n\
+ strb r7, [r5, 0x1]\n\
+ movs r0, 0x6\n\
+ strb r0, [r5, 0x2]\n\
+ adds r5, 0x3\n\
+ lsls r1, 16\n\
+ asrs r1, 16\n\
+ adds r0, r5, 0\n\
+ movs r2, 0x1\n\
+ movs r3, 0x3\n\
+ bl ConvertIntToDecimalStringN\n\
+ adds r5, r0, 0\n\
+ strb r6, [r5]\n\
+ strb r7, [r5, 0x1]\n\
+ mov r0, r9\n\
+ strb r0, [r5, 0x2]\n\
+ adds r5, 0x3\n\
+ cmp r4, 0\n\
+ beq _08024BB0\n\
+ movs r0, 0xFE\n\
+ strb r0, [r5]\n\
+ movs r0, 0xFF\n\
+ strb r0, [r5, 0x1]\n\
+ adds r5, 0x1\n\
+ b _08024BC0\n\
+ .align 2, 0\n\
_08024B94: .4byte gMain\n\
_08024B98: .4byte gStringVar4\n\
_08024B9C: .4byte gUnknown_08400D9F\n\
@@ -12950,95 +12950,95 @@ _08024BA4: .4byte gUnknown_0840165C\n\
_08024BA8: .4byte gPlayerParty\n\
_08024BAC: .4byte gLevelUpStatBoxStats\n\
_08024BB0:\n\
- strb r6, [r5]\n\
- movs r0, 0x11\n\
- strb r0, [r5, 0x1]\n\
- movs r0, 0x8\n\
- strb r0, [r5, 0x2]\n\
- adds r5, 0x3\n\
- movs r0, 0xFF\n\
- strb r0, [r5]\n\
+ strb r6, [r5]\n\
+ movs r0, 0x11\n\
+ strb r0, [r5, 0x1]\n\
+ movs r0, 0x8\n\
+ strb r0, [r5, 0x2]\n\
+ adds r5, 0x3\n\
+ movs r0, 0xFF\n\
+ strb r0, [r5]\n\
_08024BC0:\n\
- movs r1, 0x1\n\
- add r8, r1\n\
- mov r2, r8\n\
- cmp r2, 0x5\n\
- ble _08024B1C\n\
- ldr r4, _08024BF4 @ =gUnknown_03004210\n\
- ldr r1, _08024BF8 @ =gStringVar4\n\
- movs r2, 0x80\n\
- lsls r2, 1\n\
- movs r0, 0x1\n\
- str r0, [sp]\n\
- adds r0, r4, 0\n\
- movs r3, 0xC\n\
- bl InitWindow\n\
- adds r0, r4, 0\n\
- bl sub_8002F44\n\
- ldr r1, _08024BFC @ =0x02000000\n\
- ldr r0, _08024C00 @ =0x0001609c\n\
- adds r1, r0\n\
+ movs r1, 0x1\n\
+ add r8, r1\n\
+ mov r2, r8\n\
+ cmp r2, 0x5\n\
+ ble _08024B1C\n\
+ ldr r4, _08024BF4 @ =gUnknown_03004210\n\
+ ldr r1, _08024BF8 @ =gStringVar4\n\
+ movs r2, 0x80\n\
+ lsls r2, 1\n\
+ movs r0, 0x1\n\
+ str r0, [sp]\n\
+ adds r0, r4, 0\n\
+ movs r3, 0xC\n\
+ bl InitWindow\n\
+ adds r0, r4, 0\n\
+ bl sub_8002F44\n\
+ ldr r1, _08024BFC @ =0x02000000\n\
+ ldr r0, _08024C00 @ =0x0001609c\n\
+ adds r1, r0\n\
_08024BEA:\n\
- ldrb r0, [r1]\n\
- adds r0, 0x1\n\
- strb r0, [r1]\n\
- b _08024C38\n\
- .align 2, 0\n\
+ ldrb r0, [r1]\n\
+ adds r0, 0x1\n\
+ strb r0, [r1]\n\
+ b _08024C38\n\
+ .align 2, 0\n\
_08024BF4: .4byte gUnknown_03004210\n\
_08024BF8: .4byte gStringVar4\n\
_08024BFC: .4byte 0x02000000\n\
_08024C00: .4byte 0x0001609c\n\
_08024C04:\n\
- ldr r0, _08024C2C @ =gMain\n\
- ldrh r0, [r0, 0x2E]\n\
- cmp r0, 0\n\
- beq _08024C38\n\
- movs r0, 0x5\n\
- bl PlaySE\n\
- movs r0, 0x1\n\
- str r0, [sp]\n\
- movs r0, 0xB\n\
- movs r1, 0\n\
- movs r2, 0x1D\n\
- movs r3, 0x7\n\
- bl sub_802BBD4\n\
- ldrb r0, [r4]\n\
- adds r0, 0x1\n\
- strb r0, [r4]\n\
- b _08024C38\n\
- .align 2, 0\n\
+ ldr r0, _08024C2C @ =gMain\n\
+ ldrh r0, [r0, 0x2E]\n\
+ cmp r0, 0\n\
+ beq _08024C38\n\
+ movs r0, 0x5\n\
+ bl PlaySE\n\
+ movs r0, 0x1\n\
+ str r0, [sp]\n\
+ movs r0, 0xB\n\
+ movs r1, 0\n\
+ movs r2, 0x1D\n\
+ movs r3, 0x7\n\
+ bl sub_802BBD4\n\
+ ldrb r0, [r4]\n\
+ adds r0, 0x1\n\
+ strb r0, [r4]\n\
+ b _08024C38\n\
+ .align 2, 0\n\
_08024C2C: .4byte gMain\n\
_08024C30:\n\
- ldr r1, _08024C48 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r1]\n\
- adds r0, 0x1\n\
- str r0, [r1]\n\
+ ldr r1, _08024C48 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r1]\n\
+ adds r0, 0x1\n\
+ str r0, [r1]\n\
_08024C38:\n\
- add sp, 0x4\n\
- pop {r3-r5}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- mov r10, r5\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .align 2, 0\n\
+ add sp, 0x4\n\
+ pop {r3-r5}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ mov r10, r5\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
_08024C48: .4byte gBattlescriptCurrInstr\n\
- .syntax divided");
+ .syntax divided");
}
#endif
static void atk6D_set_sentpokes_values(void)
{
- sub_80156DC();
- gBattlescriptCurrInstr++;
+ sub_80156DC();
+ gBattlescriptCurrInstr++;
}
static void atk6E_set_atk_to_player0(void)
{
- gBankAttacker = GetBankByPlayerAI(0);
- gBattlescriptCurrInstr++;
+ gBankAttacker = GetBankByPlayerAI(0);
+ gBattlescriptCurrInstr++;
}
static void atk6F_set_visible(void)
@@ -13051,455 +13051,455 @@ static void atk6F_set_visible(void)
static void atk70_record_ability(void)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
RecordAbilityBattle(gActiveBank, gLastUsedAbility);
gBattlescriptCurrInstr += 1; //buggy, should be += 2, one byte for command, one byte for argument...
}
void sub_8024CEC(void)
{
- gBattleTextBuff2[0] = 0xFD;
- gBattleTextBuff2[1] = 2;
- gBattleTextBuff2[2] = (word_2024E82);
- gBattleTextBuff2[3] = uBYTE1_16(word_2024E82);
- gBattleTextBuff2[4] = 0xFF;
+ gBattleTextBuff2[0] = 0xFD;
+ gBattleTextBuff2[1] = 2;
+ gBattleTextBuff2[2] = (word_2024E82);
+ gBattleTextBuff2[3] = uBYTE1_16(word_2024E82);
+ gBattleTextBuff2[4] = 0xFF;
}
static void atk71_buffer_move_to_learn(void)
{
- sub_8024CEC();
- gBattlescriptCurrInstr++;
+ sub_8024CEC();
+ gBattlescriptCurrInstr++;
}
static void atk72_jump_if_can_run_frombattle(void)
{
- if (sub_8014AB8(gBank1))
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
- else
- gBattlescriptCurrInstr += 5;
+ if (sub_8014AB8(gBank1))
+ gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ else
+ gBattlescriptCurrInstr += 5;
}
static void atk73_hp_thresholds(void)
{
- u8 opposing_bank;
- s32 result;
- if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
- {
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
- opposing_bank = gActiveBank ^ 1;
- result = ATLEAST_ONE(gBattleMons[opposing_bank].hp * 100 / gBattleMons[opposing_bank].maxHP);
-
- if (result > 69 || !gBattleMons[opposing_bank].hp)
- BATTLE_STRUCT->hpScale = 0;
- else if (result > 39)
- BATTLE_STRUCT->hpScale = 1;
- else if (result > 9)
- BATTLE_STRUCT->hpScale = 2;
- else
- BATTLE_STRUCT->hpScale = 3;
- }
+ u8 opposing_bank;
+ s32 result;
+ if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
+ {
+ gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ opposing_bank = gActiveBank ^ 1;
+ result = ATLEAST_ONE(gBattleMons[opposing_bank].hp * 100 / gBattleMons[opposing_bank].maxHP);
+
+ if (result > 69 || !gBattleMons[opposing_bank].hp)
+ BATTLE_STRUCT->hpScale = 0;
+ else if (result > 39)
+ BATTLE_STRUCT->hpScale = 1;
+ else if (result > 9)
+ BATTLE_STRUCT->hpScale = 2;
+ else
+ BATTLE_STRUCT->hpScale = 3;
+ }
- gBattlescriptCurrInstr += 2;
+ gBattlescriptCurrInstr += 2;
}
static void atk74_hp_thresholds2(void)
{
- u8 opposing_bank;
- u8 hp_switchout;
- s32 result;
- if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
- {
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
- opposing_bank = gActiveBank ^ 1;
- hp_switchout = ewram[2 * GetBankSide(opposing_bank) + 0x160bc]; //BATTLE_STRUCT->HP_OnSwitchout[GetBankSide(opposing_bank)];
- result = (hp_switchout - gBattleMons[opposing_bank].hp) * 100 / hp_switchout;
-
- if (gBattleMons[opposing_bank].hp >= hp_switchout)
- BATTLE_STRUCT->hpScale = 0;
- else if (result <= 29)
- BATTLE_STRUCT->hpScale = 1;
- else if (result <= 69)
- BATTLE_STRUCT->hpScale = 2;
- else
- BATTLE_STRUCT->hpScale = 3;
- }
-
- gBattlescriptCurrInstr += 2;
+ u8 opposing_bank;
+ u8 hp_switchout;
+ s32 result;
+ if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
+ {
+ gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ opposing_bank = gActiveBank ^ 1;
+ hp_switchout = ewram[2 * GetBankSide(opposing_bank) + 0x160bc]; //BATTLE_STRUCT->HP_OnSwitchout[GetBankSide(opposing_bank)];
+ result = (hp_switchout - gBattleMons[opposing_bank].hp) * 100 / hp_switchout;
+
+ if (gBattleMons[opposing_bank].hp >= hp_switchout)
+ BATTLE_STRUCT->hpScale = 0;
+ else if (result <= 29)
+ BATTLE_STRUCT->hpScale = 1;
+ else if (result <= 69)
+ BATTLE_STRUCT->hpScale = 2;
+ else
+ BATTLE_STRUCT->hpScale = 3;
+ }
+
+ gBattlescriptCurrInstr += 2;
}
static void atk75_8026A58(void)
{
- gBankInMenu = gBankAttacker;
- sub_803E1B0(&gEnemyParty[gBattlePartyID[gBankAttacker]], gLastUsedItem, gBattlePartyID[gBankAttacker], 0, 1);
- gBattlescriptCurrInstr += 1;
+ gBankInMenu = gBankAttacker;
+ sub_803E1B0(&gEnemyParty[gBattlePartyID[gBankAttacker]], gLastUsedItem, gBattlePartyID[gBankAttacker], 0, 1);
+ gBattlescriptCurrInstr += 1;
}
static void atk76_various(void)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
- switch (BSScriptRead8(gBattlescriptCurrInstr + 2))
- {
- case 0:
- CancelMultiTurnMoves(gActiveBank);
- break;
- case 1:
- {
- u8 side;
- gBankAttacker = gBankTarget;
- side = GetBankSide(gBankAttacker) ^ 1;
- if (gSideTimer[side].followmeTimer && gBattleMons[gSideTimer[side].followmeTarget].hp)
- gBankTarget = gSideTimer[side].followmeTarget;
- else
- gBankTarget = gActiveBank;
- }
- break;
- case 2:
- gBattleCommunication[0] = CanRunFromBattle();
- break;
- case 3:
- gBankTarget = sub_801B5C0(gCurrentMove, 0);
- break;
- case 4:
- if (gHitMarker & HITMARKER_FAINTED(gActiveBank))
- gBattleCommunication[0] = 1;
- else
- gBattleCommunication[0] = 0;
- break;
- case 5:
- gSpecialStatuses[gActiveBank].intimidatedPoke = 0;
- gSpecialStatuses[gActiveBank].traced = 0;
- break;
- case 6:
- {
- int i;
- u16* choiced_move;
- if (gBattlePartyID[0] == BATTLE_STRUCT->expGetterID)
- goto ACTIVE_0;
- if (gBattlePartyID[2] != BATTLE_STRUCT->expGetterID)
- break;
- if (gBattlePartyID[0] == gBattlePartyID[2])
- {
- ACTIVE_0:
- gActiveBank = 0;
- }
- else
- gActiveBank = 2;
-
- choiced_move = (u16*)(&ewram[gActiveBank * 2 + 0x160e8]);
- for (i = 0; i < 4; i++)
- {
- if (gBattleMons[gActiveBank].moves[i] == *choiced_move)
- break;
- }
- if (i == 4)
- *choiced_move = 0;
- }
- break;
- }
-
- gBattlescriptCurrInstr += 3;
+ gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ switch (BSScriptRead8(gBattlescriptCurrInstr + 2))
+ {
+ case 0:
+ CancelMultiTurnMoves(gActiveBank);
+ break;
+ case 1:
+ {
+ u8 side;
+ gBankAttacker = gBankTarget;
+ side = GetBankSide(gBankAttacker) ^ 1;
+ if (gSideTimer[side].followmeTimer && gBattleMons[gSideTimer[side].followmeTarget].hp)
+ gBankTarget = gSideTimer[side].followmeTarget;
+ else
+ gBankTarget = gActiveBank;
+ }
+ break;
+ case 2:
+ gBattleCommunication[0] = CanRunFromBattle();
+ break;
+ case 3:
+ gBankTarget = sub_801B5C0(gCurrentMove, 0);
+ break;
+ case 4:
+ if (gHitMarker & HITMARKER_FAINTED(gActiveBank))
+ gBattleCommunication[0] = 1;
+ else
+ gBattleCommunication[0] = 0;
+ break;
+ case 5:
+ gSpecialStatuses[gActiveBank].intimidatedPoke = 0;
+ gSpecialStatuses[gActiveBank].traced = 0;
+ break;
+ case 6:
+ {
+ int i;
+ u16* choiced_move;
+ if (gBattlePartyID[0] == BATTLE_STRUCT->expGetterID)
+ goto ACTIVE_0;
+ if (gBattlePartyID[2] != BATTLE_STRUCT->expGetterID)
+ break;
+ if (gBattlePartyID[0] == gBattlePartyID[2])
+ {
+ ACTIVE_0:
+ gActiveBank = 0;
+ }
+ else
+ gActiveBank = 2;
+
+ choiced_move = (u16*)(&ewram[gActiveBank * 2 + 0x160e8]);
+ for (i = 0; i < 4; i++)
+ {
+ if (gBattleMons[gActiveBank].moves[i] == *choiced_move)
+ break;
+ }
+ if (i == 4)
+ *choiced_move = 0;
+ }
+ break;
+ }
+
+ gBattlescriptCurrInstr += 3;
}
static void atk77_setprotect(void) //protect and endure
{
- bool8 not_last_turn = 1;
- u16 last_move = gUnknown_02024C4C[gBankAttacker];
+ bool8 not_last_turn = 1;
+ u16 last_move = gUnknown_02024C4C[gBankAttacker];
- if (last_move != MOVE_PROTECT && last_move != MOVE_DETECT && last_move != MOVE_ENDURE)
- gDisableStructs[gBankAttacker].protectUses = 0;
- if (gCurrentMoveTurn == (gNoOfAllBanks - 1))
- not_last_turn = 0;
+ if (last_move != MOVE_PROTECT && last_move != MOVE_DETECT && last_move != MOVE_ENDURE)
+ gDisableStructs[gBankAttacker].protectUses = 0;
+ if (gCurrentMoveTurn == (gNoOfAllBanks - 1))
+ not_last_turn = 0;
if (sProtectSuccessRates[gDisableStructs[gBankAttacker].protectUses] > Random() && not_last_turn)
- {
- if (gBattleMoves[gCurrentMove].effect == EFFECT_PROTECT)
- {
- gProtectStructs[gBankAttacker].protected = 1;
- gBattleCommunication[MULTISTRING_CHOOSER] = 0;
- }
- if (gBattleMoves[gCurrentMove].effect == EFFECT_ENDURE) //what is else if
- {
- gProtectStructs[gBankAttacker].endured = 1;
- gBattleCommunication[MULTISTRING_CHOOSER] = 1;
- }
- gDisableStructs[gBankAttacker].protectUses++;
- }
- else
- {
- gDisableStructs[gBankAttacker].protectUses = 0;
- gBattleCommunication[MULTISTRING_CHOOSER] = 2;
- gBattleMoveFlags |= MOVE_MISSED;
- }
-
- gBattlescriptCurrInstr++;
+ {
+ if (gBattleMoves[gCurrentMove].effect == EFFECT_PROTECT)
+ {
+ gProtectStructs[gBankAttacker].protected = 1;
+ gBattleCommunication[MULTISTRING_CHOOSER] = 0;
+ }
+ if (gBattleMoves[gCurrentMove].effect == EFFECT_ENDURE) //what is else if
+ {
+ gProtectStructs[gBankAttacker].endured = 1;
+ gBattleCommunication[MULTISTRING_CHOOSER] = 1;
+ }
+ gDisableStructs[gBankAttacker].protectUses++;
+ }
+ else
+ {
+ gDisableStructs[gBankAttacker].protectUses = 0;
+ gBattleCommunication[MULTISTRING_CHOOSER] = 2;
+ gBattleMoveFlags |= MOVE_MISSED;
+ }
+
+ gBattlescriptCurrInstr++;
}
static void atk78_faintifabilitynotdamp(void)
{
- if (gBattleExecBuffer)
- return;
-
- for (gBankTarget = 0; gBankTarget < gNoOfAllBanks; gBankTarget++)
- {
- if (gBattleMons[gBankTarget].ability == ABILITY_DAMP)
- break;
- }
-
- if (gBankTarget == gNoOfAllBanks)
- {
- gActiveBank = gBankAttacker;
- gBattleMoveDamage = gBattleMons[gActiveBank].hp;
- EmitHealthBarUpdate(0, 0x7FFF);
- MarkBufferBankForExecution(gActiveBank);
- gBattlescriptCurrInstr++;
-
- for (gBankTarget = 0; gBankTarget < gNoOfAllBanks; gBankTarget++)
- {
- if (gBankTarget == gBankAttacker)
- continue;
- if (!(gAbsentBankFlags & gBitTable[gBankTarget]))
- break;
- }
- }
- else
- {
- gLastUsedAbility = ABILITY_DAMP;
- RecordAbilityBattle(gBankTarget, gBattleMons[gBankTarget].ability);
- gBattlescriptCurrInstr = gUnknown_081D9834;
- }
+ if (gBattleExecBuffer)
+ return;
+
+ for (gBankTarget = 0; gBankTarget < gNoOfAllBanks; gBankTarget++)
+ {
+ if (gBattleMons[gBankTarget].ability == ABILITY_DAMP)
+ break;
+ }
+
+ if (gBankTarget == gNoOfAllBanks)
+ {
+ gActiveBank = gBankAttacker;
+ gBattleMoveDamage = gBattleMons[gActiveBank].hp;
+ EmitHealthBarUpdate(0, 0x7FFF);
+ MarkBufferBankForExecution(gActiveBank);
+ gBattlescriptCurrInstr++;
+
+ for (gBankTarget = 0; gBankTarget < gNoOfAllBanks; gBankTarget++)
+ {
+ if (gBankTarget == gBankAttacker)
+ continue;
+ if (!(gAbsentBankFlags & gBitTable[gBankTarget]))
+ break;
+ }
+ }
+ else
+ {
+ gLastUsedAbility = ABILITY_DAMP;
+ RecordAbilityBattle(gBankTarget, gBattleMons[gBankTarget].ability);
+ gBattlescriptCurrInstr = gUnknown_081D9834;
+ }
}
static void atk79_setatkhptozero(void)
{
- if (gBattleExecBuffer)
- return;
+ if (gBattleExecBuffer)
+ return;
- gActiveBank = gBankAttacker;
- gBattleMons[gActiveBank].hp = 0;
- EmitSetAttributes(0, REQUEST_HP_BATTLE, 0, 2, &gBattleMons[gActiveBank].hp);
- MarkBufferBankForExecution(gActiveBank);
+ gActiveBank = gBankAttacker;
+ gBattleMons[gActiveBank].hp = 0;
+ EmitSetAttributes(0, REQUEST_HP_BATTLE, 0, 2, &gBattleMons[gActiveBank].hp);
+ MarkBufferBankForExecution(gActiveBank);
- gBattlescriptCurrInstr++;
+ gBattlescriptCurrInstr++;
}
static void atk7A_jumpwhiletargetvalid(void) //used by intimidate to loop through all targets
{
- u8* jump_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ u8* jump_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
- if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
- {
+ if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
+ {
for (gBankTarget++; ; gBankTarget++)
- {
- if (gBankTarget == gBankAttacker)
- continue;
- if (!(gAbsentBankFlags & gBitTable[gBankTarget]))
- break;
- }
-
- if (gBankTarget >= gNoOfAllBanks)
- gBattlescriptCurrInstr += 5;
- else
- gBattlescriptCurrInstr = jump_loc;
- }
- else
- gBattlescriptCurrInstr += 5;
+ {
+ if (gBankTarget == gBankAttacker)
+ continue;
+ if (!(gAbsentBankFlags & gBitTable[gBankTarget]))
+ break;
+ }
+
+ if (gBankTarget >= gNoOfAllBanks)
+ gBattlescriptCurrInstr += 5;
+ else
+ gBattlescriptCurrInstr = jump_loc;
+ }
+ else
+ gBattlescriptCurrInstr += 5;
}
static void atk7B_healhalfHP_if_possible(void)
{
- u8* fail_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ u8* fail_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
- if (BSScriptRead8(gBattlescriptCurrInstr + 5) == 1)
- gBankTarget = gBankAttacker;
+ if (BSScriptRead8(gBattlescriptCurrInstr + 5) == 1)
+ gBankTarget = gBankAttacker;
- gBattleMoveDamage = gBattleMons[gBankTarget].maxHP / 2;
- ATLEAST_ONE_PTR(&gBattleMoveDamage);
- gBattleMoveDamage *= -1;
+ gBattleMoveDamage = gBattleMons[gBankTarget].maxHP / 2;
+ ATLEAST_ONE_PTR(&gBattleMoveDamage);
+ gBattleMoveDamage *= -1;
- if (gBattleMons[gBankTarget].hp == gBattleMons[gBankTarget].maxHP)
- gBattlescriptCurrInstr = fail_loc;
- else
- gBattlescriptCurrInstr += 6;
+ if (gBattleMons[gBankTarget].hp == gBattleMons[gBankTarget].maxHP)
+ gBattlescriptCurrInstr = fail_loc;
+ else
+ gBattlescriptCurrInstr += 6;
}
static void atk7C_8025508(void)
{
- u16 r7 = ewram[gBankAttacker * 2 + 0x160ac] | (ewram[gBankAttacker * 2 + 0x160ad] << 8);
- u16 r6 = ewram[gBankAttacker * 4 + 0x16100] | (ewram[gBankAttacker * 4 + 0x16101] << 8);
- u16 r5 = ewram[gBankAttacker * 4 + 0x16102] | (ewram[gBankAttacker * 4 + 0x16103] << 8);
-
- if (r7 !=0 && r7 != 0xFFFF)
- {
- gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED);
- gCurrentMove = r7;
- gBankTarget = sub_801B5C0(gCurrentMove, 0);
- gBattlescriptCurrInstr = gBattleScriptsEffectsTable[gBattleMoves[gCurrentMove].effect];
- }
- else if (r6 != 0 && r5 != 0 && r6 != 0xFFFF && r5 != 0xFFFF)
- {
- gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED);
- if (Random() & 1)
- gCurrentMove = r6;
- else
- gCurrentMove = r5;
- gBankTarget = sub_801B5C0(gCurrentMove, 0);
- gBattlescriptCurrInstr = gBattleScriptsEffectsTable[gBattleMoves[gCurrentMove].effect];
- }
- else if (r6 != 0 && r6 != 0xFFFF)
- {
- gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED);
- gCurrentMove = r6;
- gBankTarget = sub_801B5C0(gCurrentMove, 0);
- gBattlescriptCurrInstr = gBattleScriptsEffectsTable[gBattleMoves[gCurrentMove].effect];
- }
- else if (r5 != 0 && r5 != 0xFFFF)
- {
- gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED);
- gCurrentMove = r5;
- gBankTarget = sub_801B5C0(gCurrentMove, 0);
- gBattlescriptCurrInstr = gBattleScriptsEffectsTable[gBattleMoves[gCurrentMove].effect];
- }
- else
- {
- gSpecialStatuses[gBankAttacker].flag20 = 1;
- gBattlescriptCurrInstr++;
- }
+ u16 r7 = ewram[gBankAttacker * 2 + 0x160ac] | (ewram[gBankAttacker * 2 + 0x160ad] << 8);
+ u16 r6 = ewram[gBankAttacker * 4 + 0x16100] | (ewram[gBankAttacker * 4 + 0x16101] << 8);
+ u16 r5 = ewram[gBankAttacker * 4 + 0x16102] | (ewram[gBankAttacker * 4 + 0x16103] << 8);
+
+ if (r7 !=0 && r7 != 0xFFFF)
+ {
+ gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED);
+ gCurrentMove = r7;
+ gBankTarget = sub_801B5C0(gCurrentMove, 0);
+ gBattlescriptCurrInstr = gBattleScriptsEffectsTable[gBattleMoves[gCurrentMove].effect];
+ }
+ else if (r6 != 0 && r5 != 0 && r6 != 0xFFFF && r5 != 0xFFFF)
+ {
+ gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED);
+ if (Random() & 1)
+ gCurrentMove = r6;
+ else
+ gCurrentMove = r5;
+ gBankTarget = sub_801B5C0(gCurrentMove, 0);
+ gBattlescriptCurrInstr = gBattleScriptsEffectsTable[gBattleMoves[gCurrentMove].effect];
+ }
+ else if (r6 != 0 && r6 != 0xFFFF)
+ {
+ gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED);
+ gCurrentMove = r6;
+ gBankTarget = sub_801B5C0(gCurrentMove, 0);
+ gBattlescriptCurrInstr = gBattleScriptsEffectsTable[gBattleMoves[gCurrentMove].effect];
+ }
+ else if (r5 != 0 && r5 != 0xFFFF)
+ {
+ gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED);
+ gCurrentMove = r5;
+ gBankTarget = sub_801B5C0(gCurrentMove, 0);
+ gBattlescriptCurrInstr = gBattleScriptsEffectsTable[gBattleMoves[gCurrentMove].effect];
+ }
+ else
+ {
+ gSpecialStatuses[gBankAttacker].flag20 = 1;
+ gBattlescriptCurrInstr++;
+ }
}
static void atk7D_set_rain(void)
{
- if (gBattleWeather & WEATHER_RAINY)
- {
- gBattleMoveFlags |= MOVE_MISSED;
- gBattleCommunication[MULTISTRING_CHOOSER] = 2;
- }
- else
- {
- gBattleWeather = weather_rain;
- gBattleCommunication[MULTISTRING_CHOOSER] = 0;
- gWishFutureKnock.weatherDuration = 5;
- }
- gBattlescriptCurrInstr++;
+ if (gBattleWeather & WEATHER_RAINY)
+ {
+ gBattleMoveFlags |= MOVE_MISSED;
+ gBattleCommunication[MULTISTRING_CHOOSER] = 2;
+ }
+ else
+ {
+ gBattleWeather = weather_rain;
+ gBattleCommunication[MULTISTRING_CHOOSER] = 0;
+ gWishFutureKnock.weatherDuration = 5;
+ }
+ gBattlescriptCurrInstr++;
}
static void atk7E_setreflect(void)
{
- if (gSideAffecting[GetBankIdentity(gBankAttacker) & 1] & SIDE_REFLECT)
- {
- gBattleMoveFlags |= MOVE_MISSED;
- gBattleCommunication[MULTISTRING_CHOOSER] = 0;
- }
- else
- {
- gSideAffecting[GetBankIdentity(gBankAttacker) & 1] |= SIDE_REFLECT;
- gSideTimer[GetBankIdentity(gBankAttacker) & 1].reflectTimer = 5;
- if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && CountAliveMons(1) == 2)
- gBattleCommunication[MULTISTRING_CHOOSER] = 2;
- else
- gBattleCommunication[MULTISTRING_CHOOSER] = 1;
- }
- gBattlescriptCurrInstr++;
+ if (gSideAffecting[GetBankIdentity(gBankAttacker) & 1] & SIDE_REFLECT)
+ {
+ gBattleMoveFlags |= MOVE_MISSED;
+ gBattleCommunication[MULTISTRING_CHOOSER] = 0;
+ }
+ else
+ {
+ gSideAffecting[GetBankIdentity(gBankAttacker) & 1] |= SIDE_REFLECT;
+ gSideTimer[GetBankIdentity(gBankAttacker) & 1].reflectTimer = 5;
+ if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && CountAliveMons(1) == 2)
+ gBattleCommunication[MULTISTRING_CHOOSER] = 2;
+ else
+ gBattleCommunication[MULTISTRING_CHOOSER] = 1;
+ }
+ gBattlescriptCurrInstr++;
}
static void atk7F_setseeded(void)
{
- if (gBattleMoveFlags & MOVE_NO_EFFECT || gStatuses3[gBankTarget] & STATUS3_LEECHSEED)
- {
- gBattleMoveFlags |= MOVE_MISSED;
- gBattleCommunication[MULTISTRING_CHOOSER] = 1;
- }
- else if (gBattleMons[gBankTarget].type1 == TYPE_GRASS || gBattleMons[gBankTarget].type2 == TYPE_GRASS)
- {
- gBattleMoveFlags |= MOVE_MISSED;
- gBattleCommunication[MULTISTRING_CHOOSER] = 2;
- }
- else
- {
+ if (gBattleMoveFlags & MOVE_NO_EFFECT || gStatuses3[gBankTarget] & STATUS3_LEECHSEED)
+ {
+ gBattleMoveFlags |= MOVE_MISSED;
+ gBattleCommunication[MULTISTRING_CHOOSER] = 1;
+ }
+ else if (gBattleMons[gBankTarget].type1 == TYPE_GRASS || gBattleMons[gBankTarget].type2 == TYPE_GRASS)
+ {
+ gBattleMoveFlags |= MOVE_MISSED;
+ gBattleCommunication[MULTISTRING_CHOOSER] = 2;
+ }
+ else
+ {
gStatuses3[gBankTarget] |= gBankAttacker;
gStatuses3[gBankTarget] |= STATUS3_LEECHSEED;
- gBattleCommunication[MULTISTRING_CHOOSER] = 0;
- }
+ gBattleCommunication[MULTISTRING_CHOOSER] = 0;
+ }
- gBattlescriptCurrInstr++;
+ gBattlescriptCurrInstr++;
}
static void atk80_manipulatedamage(void)
{
- switch (BSScriptRead8(gBattlescriptCurrInstr + 1))
- {
- case 0:
- gBattleMoveDamage *= -1;
- break;
- case 1:
- gBattleMoveDamage /= 2;
- ATLEAST_ONE_PTR(&gBattleMoveDamage);
- if ((gBattleMons[gBankTarget].maxHP / 2) < gBattleMoveDamage)
- gBattleMoveDamage = gBattleMons[gBankTarget].maxHP / 2;
- break;
- case 2:
- gBattleMoveDamage *= 2;
- break;
- }
-
- gBattlescriptCurrInstr += 2;
+ switch (BSScriptRead8(gBattlescriptCurrInstr + 1))
+ {
+ case 0:
+ gBattleMoveDamage *= -1;
+ break;
+ case 1:
+ gBattleMoveDamage /= 2;
+ ATLEAST_ONE_PTR(&gBattleMoveDamage);
+ if ((gBattleMons[gBankTarget].maxHP / 2) < gBattleMoveDamage)
+ gBattleMoveDamage = gBattleMons[gBankTarget].maxHP / 2;
+ break;
+ case 2:
+ gBattleMoveDamage *= 2;
+ break;
+ }
+
+ gBattlescriptCurrInstr += 2;
}
static void atk81_setrest(void)
{
- u8* fail_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ u8* fail_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
gActiveBank = gBankTarget = gBankAttacker;
gBattleMoveDamage = gBattleMons[gBankTarget].maxHP * (-1);
if (gBattleMons[gBankTarget].hp == gBattleMons[gBankTarget].maxHP)
- gBattlescriptCurrInstr = fail_loc;
- else
- {
- if (gBattleMons[gBankTarget].status1 & ((u8)(~STATUS_SLEEP)))
- gBattleCommunication[MULTISTRING_CHOOSER] = 1;
- else
- gBattleCommunication[MULTISTRING_CHOOSER] = 0;
+ gBattlescriptCurrInstr = fail_loc;
+ else
+ {
+ if (gBattleMons[gBankTarget].status1 & ((u8)(~STATUS_SLEEP)))
+ gBattleCommunication[MULTISTRING_CHOOSER] = 1;
+ else
+ gBattleCommunication[MULTISTRING_CHOOSER] = 0;
- gBattleMons[gBankTarget].status1 = 3;
- EmitSetAttributes(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1);
- MarkBufferBankForExecution(gActiveBank);
- gBattlescriptCurrInstr += 5;
- }
+ gBattleMons[gBankTarget].status1 = 3;
+ EmitSetAttributes(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1);
+ MarkBufferBankForExecution(gActiveBank);
+ gBattlescriptCurrInstr += 5;
+ }
}
static void atk82_jumpifnotfirstturn(void)
{
- u8* jump_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ u8* jump_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
- if (gDisableStructs[gBankAttacker].isFirstTurn)
- gBattlescriptCurrInstr += 5;
- else
- gBattlescriptCurrInstr = jump_loc;
+ if (gDisableStructs[gBankAttacker].isFirstTurn)
+ gBattlescriptCurrInstr += 5;
+ else
+ gBattlescriptCurrInstr = jump_loc;
}
static void atk83_nop(void)
{
- gBattlescriptCurrInstr++;
+ gBattlescriptCurrInstr++;
}
bool8 sub_8025A44(u8 bank) //uproar wakeup check
{
- int i;
- for (i = 0; i < gNoOfAllBanks; i++)
- {
- if (!(gBattleMons[i].status2 & STATUS2_UPROAR) || gBattleMons[bank].ability == ABILITY_SOUNDPROOF) //wtf gamefreak, you should check this only once, not every time in a loop...
- continue;
- BATTLE_STRUCT->scriptingActive = i;
- if (gBankTarget == 0xFF)
- gBankTarget = i;
- else if (gBankTarget == i)
- gBattleCommunication[MULTISTRING_CHOOSER] = 0;
- else
- gBattleCommunication[MULTISTRING_CHOOSER] = 1;
- break;
- }
- if (i == gNoOfAllBanks)
- return 0;
- else
- return 1;
+ int i;
+ for (i = 0; i < gNoOfAllBanks; i++)
+ {
+ if (!(gBattleMons[i].status2 & STATUS2_UPROAR) || gBattleMons[bank].ability == ABILITY_SOUNDPROOF) //wtf gamefreak, you should check this only once, not every time in a loop...
+ continue;
+ BATTLE_STRUCT->scriptingActive = i;
+ if (gBankTarget == 0xFF)
+ gBankTarget = i;
+ else if (gBankTarget == i)
+ gBattleCommunication[MULTISTRING_CHOOSER] = 0;
+ else
+ gBattleCommunication[MULTISTRING_CHOOSER] = 1;
+ break;
+ }
+ if (i == gNoOfAllBanks)
+ return 0;
+ else
+ return 1;
}
static void atk84_jump_if_cant_sleep(void)
@@ -13775,118 +13775,118 @@ __attribute__((naked))
u8 ChangeStatBuffs(s8 statchanger, u8 stat, u8 flags, u8* bs_ptr)
{
asm(".syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- mov r8, r3\n\
- lsls r0, 24\n\
- lsrs r6, r0, 24\n\
- lsls r1, 24\n\
- lsrs r7, r1, 24\n\
- lsls r2, 24\n\
- lsrs r5, r2, 24\n\
- movs r0, 0\n\
- mov r9, r0\n\
- mov r10, r0\n\
- movs r0, 0x40\n\
- ands r0, r5\n\
- cmp r0, 0\n\
- beq _08025E54\n\
- ldr r0, _08025E4C @ =gActiveBank\n\
- ldr r1, _08025E50 @ =gBankAttacker\n\
- b _08025E58\n\
- .align 2, 0\n\
+ push {r4-r7,lr}\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ mov r8, r3\n\
+ lsls r0, 24\n\
+ lsrs r6, r0, 24\n\
+ lsls r1, 24\n\
+ lsrs r7, r1, 24\n\
+ lsls r2, 24\n\
+ lsrs r5, r2, 24\n\
+ movs r0, 0\n\
+ mov r9, r0\n\
+ mov r10, r0\n\
+ movs r0, 0x40\n\
+ ands r0, r5\n\
+ cmp r0, 0\n\
+ beq _08025E54\n\
+ ldr r0, _08025E4C @ =gActiveBank\n\
+ ldr r1, _08025E50 @ =gBankAttacker\n\
+ b _08025E58\n\
+ .align 2, 0\n\
_08025E4C: .4byte gActiveBank\n\
_08025E50: .4byte gBankAttacker\n\
_08025E54:\n\
- ldr r0, _08025EF8 @ =gActiveBank\n\
- ldr r1, _08025EFC @ =gBankTarget\n\
+ ldr r0, _08025EF8 @ =gActiveBank\n\
+ ldr r1, _08025EFC @ =gBankTarget\n\
_08025E58:\n\
- ldrb r1, [r1]\n\
- strb r1, [r0]\n\
- movs r0, 0xBF\n\
- ands r5, r0\n\
- movs r0, 0x80\n\
- ands r0, r5\n\
- cmp r0, 0\n\
- beq _08025E72\n\
- mov r0, r9\n\
- adds r0, 0x1\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- mov r9, r0\n\
+ ldrb r1, [r1]\n\
+ strb r1, [r0]\n\
+ movs r0, 0xBF\n\
+ ands r5, r0\n\
+ movs r0, 0x80\n\
+ ands r0, r5\n\
+ cmp r0, 0\n\
+ beq _08025E72\n\
+ mov r0, r9\n\
+ adds r0, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ mov r9, r0\n\
_08025E72:\n\
- movs r0, 0x7F\n\
- ands r5, r0\n\
- movs r0, 0x20\n\
- ands r0, r5\n\
- cmp r0, 0\n\
- beq _08025E88\n\
- mov r0, r10\n\
- adds r0, 0x1\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- mov r10, r0\n\
+ movs r0, 0x7F\n\
+ ands r5, r0\n\
+ movs r0, 0x20\n\
+ ands r0, r5\n\
+ cmp r0, 0\n\
+ beq _08025E88\n\
+ mov r0, r10\n\
+ adds r0, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ mov r10, r0\n\
_08025E88:\n\
- movs r0, 0xDF\n\
- ands r5, r0\n\
- ldr r1, _08025F00 @ =gBattleTextBuff1\n\
- movs r4, 0\n\
- movs r2, 0xFD\n\
- strb r2, [r1]\n\
- movs r0, 0x5\n\
- strb r0, [r1, 0x1]\n\
- strb r7, [r1, 0x2]\n\
- movs r3, 0x1\n\
- negs r3, r3\n\
- mov r12, r3\n\
- movs r0, 0xFF\n\
- strb r0, [r1, 0x3]\n\
- lsls r0, r6, 24\n\
- cmp r0, 0\n\
- blt _08025EAC\n\
- b _080261B0\n\
+ movs r0, 0xDF\n\
+ ands r5, r0\n\
+ ldr r1, _08025F00 @ =gBattleTextBuff1\n\
+ movs r4, 0\n\
+ movs r2, 0xFD\n\
+ strb r2, [r1]\n\
+ movs r0, 0x5\n\
+ strb r0, [r1, 0x1]\n\
+ strb r7, [r1, 0x2]\n\
+ movs r3, 0x1\n\
+ negs r3, r3\n\
+ mov r12, r3\n\
+ movs r0, 0xFF\n\
+ strb r0, [r1, 0x3]\n\
+ lsls r0, r6, 24\n\
+ cmp r0, 0\n\
+ blt _08025EAC\n\
+ b _080261B0\n\
_08025EAC:\n\
- ldr r4, _08025F04 @ =gSideTimer\n\
- ldr r1, _08025EF8 @ =gActiveBank\n\
- ldrb r0, [r1]\n\
- bl GetBankIdentity\n\
- movs r1, 0x1\n\
- ands r1, r0\n\
- lsls r0, r1, 1\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r0, r4\n\
- ldrb r0, [r0, 0x2]\n\
- cmp r0, 0\n\
- beq _08025F54\n\
- mov r2, r9\n\
- cmp r2, 0\n\
- bne _08025F54\n\
- ldr r0, _08025F08 @ =gCurrentMove\n\
- ldrh r0, [r0]\n\
- cmp r0, 0xAE\n\
- beq _08025F84\n\
- cmp r5, 0x1\n\
- bne _08025F74\n\
- ldr r4, _08025F0C @ =gSpecialStatuses\n\
- ldr r3, _08025EF8 @ =gActiveBank\n\
- ldrb r0, [r3]\n\
- lsls r1, r0, 2\n\
- adds r1, r0\n\
- lsls r1, 2\n\
- adds r1, r4\n\
- ldrb r0, [r1]\n\
- lsls r0, 31\n\
- cmp r0, 0\n\
- beq _08025F14\n\
- ldr r0, _08025F10 @ =gBattlescriptCurrInstr\n\
- mov r4, r8\n\
- str r4, [r0]\n\
- b _08025F74\n\
- .align 2, 0\n\
+ ldr r4, _08025F04 @ =gSideTimer\n\
+ ldr r1, _08025EF8 @ =gActiveBank\n\
+ ldrb r0, [r1]\n\
+ bl GetBankIdentity\n\
+ movs r1, 0x1\n\
+ ands r1, r0\n\
+ lsls r0, r1, 1\n\
+ adds r0, r1\n\
+ lsls r0, 2\n\
+ adds r0, r4\n\
+ ldrb r0, [r0, 0x2]\n\
+ cmp r0, 0\n\
+ beq _08025F54\n\
+ mov r2, r9\n\
+ cmp r2, 0\n\
+ bne _08025F54\n\
+ ldr r0, _08025F08 @ =gCurrentMove\n\
+ ldrh r0, [r0]\n\
+ cmp r0, 0xAE\n\
+ beq _08025F84\n\
+ cmp r5, 0x1\n\
+ bne _08025F74\n\
+ ldr r4, _08025F0C @ =gSpecialStatuses\n\
+ ldr r3, _08025EF8 @ =gActiveBank\n\
+ ldrb r0, [r3]\n\
+ lsls r1, r0, 2\n\
+ adds r1, r0\n\
+ lsls r1, 2\n\
+ adds r1, r4\n\
+ ldrb r0, [r1]\n\
+ lsls r0, 31\n\
+ cmp r0, 0\n\
+ beq _08025F14\n\
+ ldr r0, _08025F10 @ =gBattlescriptCurrInstr\n\
+ mov r4, r8\n\
+ str r4, [r0]\n\
+ b _08025F74\n\
+ .align 2, 0\n\
_08025EF8: .4byte gActiveBank\n\
_08025EFC: .4byte gBankTarget\n\
_08025F00: .4byte gBattleTextBuff1\n\
@@ -13895,135 +13895,135 @@ _08025F08: .4byte gCurrentMove\n\
_08025F0C: .4byte gSpecialStatuses\n\
_08025F10: .4byte gBattlescriptCurrInstr\n\
_08025F14:\n\
- mov r0, r8\n\
- bl b_movescr_stack_push\n\
- ldr r0, _08025F40 @ =0x02000000\n\
- ldr r6, _08025F44 @ =gActiveBank\n\
- ldrb r1, [r6]\n\
- ldr r2, _08025F48 @ =0x00016003\n\
- adds r0, r2\n\
- strb r1, [r0]\n\
- ldr r1, _08025F4C @ =gBattlescriptCurrInstr\n\
- ldr r0, _08025F50 @ =BattleScript_MistProtected\n\
- str r0, [r1]\n\
- ldrb r1, [r6]\n\
- lsls r0, r1, 2\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r0, r4\n\
- ldrb r1, [r0]\n\
- movs r2, 0x1\n\
- orrs r1, r2\n\
- strb r1, [r0]\n\
- b _08025F74\n\
- .align 2, 0\n\
+ mov r0, r8\n\
+ bl b_movescr_stack_push\n\
+ ldr r0, _08025F40 @ =0x02000000\n\
+ ldr r6, _08025F44 @ =gActiveBank\n\
+ ldrb r1, [r6]\n\
+ ldr r2, _08025F48 @ =0x00016003\n\
+ adds r0, r2\n\
+ strb r1, [r0]\n\
+ ldr r1, _08025F4C @ =gBattlescriptCurrInstr\n\
+ ldr r0, _08025F50 @ =BattleScript_MistProtected\n\
+ str r0, [r1]\n\
+ ldrb r1, [r6]\n\
+ lsls r0, r1, 2\n\
+ adds r0, r1\n\
+ lsls r0, 2\n\
+ adds r0, r4\n\
+ ldrb r1, [r0]\n\
+ movs r2, 0x1\n\
+ orrs r1, r2\n\
+ strb r1, [r0]\n\
+ b _08025F74\n\
+ .align 2, 0\n\
_08025F40: .4byte 0x02000000\n\
_08025F44: .4byte gActiveBank\n\
_08025F48: .4byte 0x00016003\n\
_08025F4C: .4byte gBattlescriptCurrInstr\n\
_08025F50: .4byte BattleScript_MistProtected\n\
_08025F54:\n\
- ldr r0, _08025F78 @ =gCurrentMove\n\
- ldrh r0, [r0]\n\
- cmp r0, 0xAE\n\
- beq _08025F84\n\
- mov r3, r10\n\
- cmp r3, 0x1\n\
- beq _08025F84\n\
- movs r0, 0\n\
- bl JumpIfMoveAffectedByProtect\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _08025F84\n\
- ldr r1, _08025F7C @ =gBattlescriptCurrInstr\n\
- ldr r0, _08025F80 @ =BattleScript_ButItFailed\n\
- str r0, [r1]\n\
+ ldr r0, _08025F78 @ =gCurrentMove\n\
+ ldrh r0, [r0]\n\
+ cmp r0, 0xAE\n\
+ beq _08025F84\n\
+ mov r3, r10\n\
+ cmp r3, 0x1\n\
+ beq _08025F84\n\
+ movs r0, 0\n\
+ bl JumpIfMoveAffectedByProtect\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _08025F84\n\
+ ldr r1, _08025F7C @ =gBattlescriptCurrInstr\n\
+ ldr r0, _08025F80 @ =BattleScript_ButItFailed\n\
+ str r0, [r1]\n\
_08025F74:\n\
- movs r0, 0x1\n\
- b _080262A4\n\
- .align 2, 0\n\
+ movs r0, 0x1\n\
+ b _080262A4\n\
+ .align 2, 0\n\
_08025F78: .4byte gCurrentMove\n\
_08025F7C: .4byte gBattlescriptCurrInstr\n\
_08025F80: .4byte BattleScript_ButItFailed\n\
_08025F84:\n\
- ldr r2, _08025FCC @ =gBattleMons\n\
- ldr r1, _08025FD0 @ =gActiveBank\n\
- ldrb r3, [r1]\n\
- movs r4, 0x58\n\
- adds r0, r3, 0\n\
- muls r0, r4\n\
- adds r0, r2\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- mov r10, r2\n\
- cmp r0, 0x1D\n\
- beq _08025FA0\n\
- cmp r0, 0x49\n\
- bne _08026040\n\
+ ldr r2, _08025FCC @ =gBattleMons\n\
+ ldr r1, _08025FD0 @ =gActiveBank\n\
+ ldrb r3, [r1]\n\
+ movs r4, 0x58\n\
+ adds r0, r3, 0\n\
+ muls r0, r4\n\
+ adds r0, r2\n\
+ adds r0, 0x20\n\
+ ldrb r0, [r0]\n\
+ mov r10, r2\n\
+ cmp r0, 0x1D\n\
+ beq _08025FA0\n\
+ cmp r0, 0x49\n\
+ bne _08026040\n\
_08025FA0:\n\
- mov r0, r9\n\
- cmp r0, 0\n\
- bne _08026040\n\
- ldr r0, _08025FD4 @ =gCurrentMove\n\
- ldrh r0, [r0]\n\
- cmp r0, 0xAE\n\
- beq _08026040\n\
- cmp r5, 0x1\n\
- bne _08025F74\n\
- ldr r4, _08025FD8 @ =gSpecialStatuses\n\
- lsls r0, r3, 2\n\
- adds r0, r3\n\
- lsls r0, 2\n\
- adds r0, r4\n\
- ldrb r0, [r0]\n\
- lsls r0, 31\n\
- cmp r0, 0\n\
- beq _08025FE0\n\
- ldr r0, _08025FDC @ =gBattlescriptCurrInstr\n\
- mov r1, r8\n\
- str r1, [r0]\n\
- b _08025F74\n\
- .align 2, 0\n\
+ mov r0, r9\n\
+ cmp r0, 0\n\
+ bne _08026040\n\
+ ldr r0, _08025FD4 @ =gCurrentMove\n\
+ ldrh r0, [r0]\n\
+ cmp r0, 0xAE\n\
+ beq _08026040\n\
+ cmp r5, 0x1\n\
+ bne _08025F74\n\
+ ldr r4, _08025FD8 @ =gSpecialStatuses\n\
+ lsls r0, r3, 2\n\
+ adds r0, r3\n\
+ lsls r0, 2\n\
+ adds r0, r4\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 31\n\
+ cmp r0, 0\n\
+ beq _08025FE0\n\
+ ldr r0, _08025FDC @ =gBattlescriptCurrInstr\n\
+ mov r1, r8\n\
+ str r1, [r0]\n\
+ b _08025F74\n\
+ .align 2, 0\n\
_08025FCC: .4byte gBattleMons\n\
_08025FD0: .4byte gActiveBank\n\
_08025FD4: .4byte gCurrentMove\n\
_08025FD8: .4byte gSpecialStatuses\n\
_08025FDC: .4byte gBattlescriptCurrInstr\n\
_08025FE0:\n\
- mov r0, r8\n\
- bl b_movescr_stack_push\n\
- ldr r0, _08026028 @ =0x02000000\n\
- ldr r2, _0802602C @ =gActiveBank\n\
- ldrb r1, [r2]\n\
- ldr r3, _08026030 @ =0x00016003\n\
- adds r0, r3\n\
- strb r1, [r0]\n\
- ldr r1, _08026034 @ =gBattlescriptCurrInstr\n\
- ldr r0, _08026038 @ =BattleScript_AbilityNoStatLoss\n\
- str r0, [r1]\n\
- ldr r1, _0802603C @ =gLastUsedAbility\n\
- ldrb r0, [r2]\n\
- movs r6, 0x58\n\
- muls r0, r6\n\
- add r0, r10\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- strb r0, [r1]\n\
- ldrb r0, [r2]\n\
- ldrb r1, [r1]\n\
- bl RecordAbilityBattle\n\
- ldr r0, _0802602C @ =gActiveBank\n\
- ldrb r1, [r0]\n\
- lsls r0, r1, 2\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r0, r4\n\
- ldrb r1, [r0]\n\
- movs r2, 0x1\n\
- orrs r1, r2\n\
- strb r1, [r0]\n\
- b _08025F74\n\
- .align 2, 0\n\
+ mov r0, r8\n\
+ bl b_movescr_stack_push\n\
+ ldr r0, _08026028 @ =0x02000000\n\
+ ldr r2, _0802602C @ =gActiveBank\n\
+ ldrb r1, [r2]\n\
+ ldr r3, _08026030 @ =0x00016003\n\
+ adds r0, r3\n\
+ strb r1, [r0]\n\
+ ldr r1, _08026034 @ =gBattlescriptCurrInstr\n\
+ ldr r0, _08026038 @ =BattleScript_AbilityNoStatLoss\n\
+ str r0, [r1]\n\
+ ldr r1, _0802603C @ =gLastUsedAbility\n\
+ ldrb r0, [r2]\n\
+ movs r6, 0x58\n\
+ muls r0, r6\n\
+ add r0, r10\n\
+ adds r0, 0x20\n\
+ ldrb r0, [r0]\n\
+ strb r0, [r1]\n\
+ ldrb r0, [r2]\n\
+ ldrb r1, [r1]\n\
+ bl RecordAbilityBattle\n\
+ ldr r0, _0802602C @ =gActiveBank\n\
+ ldrb r1, [r0]\n\
+ lsls r0, r1, 2\n\
+ adds r0, r1\n\
+ lsls r0, 2\n\
+ adds r0, r4\n\
+ ldrb r1, [r0]\n\
+ movs r2, 0x1\n\
+ orrs r1, r2\n\
+ strb r1, [r0]\n\
+ b _08025F74\n\
+ .align 2, 0\n\
_08026028: .4byte 0x02000000\n\
_0802602C: .4byte gActiveBank\n\
_08026030: .4byte 0x00016003\n\
@@ -14031,45 +14031,45 @@ _08026034: .4byte gBattlescriptCurrInstr\n\
_08026038: .4byte BattleScript_AbilityNoStatLoss\n\
_0802603C: .4byte gLastUsedAbility\n\
_08026040:\n\
- ldr r1, _08026090 @ =gActiveBank\n\
- ldrb r0, [r1]\n\
- movs r4, 0x58\n\
- muls r0, r4\n\
- add r0, r10\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x33\n\
- bne _080260A8\n\
- mov r2, r9\n\
- cmp r2, 0\n\
- bne _080260A8\n\
- cmp r7, 0x6\n\
- bne _080260A8\n\
- cmp r5, 0x1\n\
- bne _08025F74\n\
- mov r0, r8\n\
- bl b_movescr_stack_push\n\
- ldr r0, _08026094 @ =0x02000000\n\
- ldr r3, _08026090 @ =gActiveBank\n\
- ldrb r1, [r3]\n\
- ldr r6, _08026098 @ =0x00016003\n\
- adds r0, r6\n\
- strb r1, [r0]\n\
- ldr r1, _0802609C @ =gBattlescriptCurrInstr\n\
- ldr r0, _080260A0 @ =BattleScript_AbilityNoSpecificStatLoss\n\
- str r0, [r1]\n\
- ldr r1, _080260A4 @ =gLastUsedAbility\n\
- ldrb r0, [r3]\n\
- muls r0, r4\n\
- add r0, r10\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- strb r0, [r1]\n\
- ldrb r0, [r3]\n\
- ldrb r1, [r1]\n\
- bl RecordAbilityBattle\n\
- b _08025F74\n\
- .align 2, 0\n\
+ ldr r1, _08026090 @ =gActiveBank\n\
+ ldrb r0, [r1]\n\
+ movs r4, 0x58\n\
+ muls r0, r4\n\
+ add r0, r10\n\
+ adds r0, 0x20\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x33\n\
+ bne _080260A8\n\
+ mov r2, r9\n\
+ cmp r2, 0\n\
+ bne _080260A8\n\
+ cmp r7, 0x6\n\
+ bne _080260A8\n\
+ cmp r5, 0x1\n\
+ bne _08025F74\n\
+ mov r0, r8\n\
+ bl b_movescr_stack_push\n\
+ ldr r0, _08026094 @ =0x02000000\n\
+ ldr r3, _08026090 @ =gActiveBank\n\
+ ldrb r1, [r3]\n\
+ ldr r6, _08026098 @ =0x00016003\n\
+ adds r0, r6\n\
+ strb r1, [r0]\n\
+ ldr r1, _0802609C @ =gBattlescriptCurrInstr\n\
+ ldr r0, _080260A0 @ =BattleScript_AbilityNoSpecificStatLoss\n\
+ str r0, [r1]\n\
+ ldr r1, _080260A4 @ =gLastUsedAbility\n\
+ ldrb r0, [r3]\n\
+ muls r0, r4\n\
+ add r0, r10\n\
+ adds r0, 0x20\n\
+ ldrb r0, [r0]\n\
+ strb r0, [r1]\n\
+ ldrb r0, [r3]\n\
+ ldrb r1, [r1]\n\
+ bl RecordAbilityBattle\n\
+ b _08025F74\n\
+ .align 2, 0\n\
_08026090: .4byte gActiveBank\n\
_08026094: .4byte 0x02000000\n\
_08026098: .4byte 0x00016003\n\
@@ -14077,47 +14077,47 @@ _0802609C: .4byte gBattlescriptCurrInstr\n\
_080260A0: .4byte BattleScript_AbilityNoSpecificStatLoss\n\
_080260A4: .4byte gLastUsedAbility\n\
_080260A8:\n\
- ldr r1, _080260FC @ =gActiveBank\n\
- ldrb r0, [r1]\n\
- movs r4, 0x58\n\
- muls r0, r4\n\
- add r0, r10\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x34\n\
- bne _08026114\n\
- mov r2, r9\n\
- cmp r2, 0\n\
- bne _08026114\n\
- cmp r7, 0x1\n\
- bne _08026114\n\
- cmp r5, 0x1\n\
- beq _080260CA\n\
- b _08025F74\n\
+ ldr r1, _080260FC @ =gActiveBank\n\
+ ldrb r0, [r1]\n\
+ movs r4, 0x58\n\
+ muls r0, r4\n\
+ add r0, r10\n\
+ adds r0, 0x20\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x34\n\
+ bne _08026114\n\
+ mov r2, r9\n\
+ cmp r2, 0\n\
+ bne _08026114\n\
+ cmp r7, 0x1\n\
+ bne _08026114\n\
+ cmp r5, 0x1\n\
+ beq _080260CA\n\
+ b _08025F74\n\
_080260CA:\n\
- mov r0, r8\n\
- bl b_movescr_stack_push\n\
- ldr r0, _08026100 @ =0x02000000\n\
- ldr r3, _080260FC @ =gActiveBank\n\
- ldrb r1, [r3]\n\
- ldr r6, _08026104 @ =0x00016003\n\
- adds r0, r6\n\
- strb r1, [r0]\n\
- ldr r1, _08026108 @ =gBattlescriptCurrInstr\n\
- ldr r0, _0802610C @ =BattleScript_AbilityNoSpecificStatLoss\n\
- str r0, [r1]\n\
- ldr r1, _08026110 @ =gLastUsedAbility\n\
- ldrb r0, [r3]\n\
- muls r0, r4\n\
- add r0, r10\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- strb r0, [r1]\n\
- ldrb r0, [r3]\n\
- ldrb r1, [r1]\n\
- bl RecordAbilityBattle\n\
- b _08025F74\n\
- .align 2, 0\n\
+ mov r0, r8\n\
+ bl b_movescr_stack_push\n\
+ ldr r0, _08026100 @ =0x02000000\n\
+ ldr r3, _080260FC @ =gActiveBank\n\
+ ldrb r1, [r3]\n\
+ ldr r6, _08026104 @ =0x00016003\n\
+ adds r0, r6\n\
+ strb r1, [r0]\n\
+ ldr r1, _08026108 @ =gBattlescriptCurrInstr\n\
+ ldr r0, _0802610C @ =BattleScript_AbilityNoSpecificStatLoss\n\
+ str r0, [r1]\n\
+ ldr r1, _08026110 @ =gLastUsedAbility\n\
+ ldrb r0, [r3]\n\
+ muls r0, r4\n\
+ add r0, r10\n\
+ adds r0, 0x20\n\
+ ldrb r0, [r0]\n\
+ strb r0, [r1]\n\
+ ldrb r0, [r3]\n\
+ ldrb r1, [r1]\n\
+ bl RecordAbilityBattle\n\
+ b _08025F74\n\
+ .align 2, 0\n\
_080260FC: .4byte gActiveBank\n\
_08026100: .4byte 0x02000000\n\
_08026104: .4byte 0x00016003\n\
@@ -14125,222 +14125,222 @@ _08026108: .4byte gBattlescriptCurrInstr\n\
_0802610C: .4byte BattleScript_AbilityNoSpecificStatLoss\n\
_08026110: .4byte gLastUsedAbility\n\
_08026114:\n\
- ldr r0, _080261A0 @ =gActiveBank\n\
- ldrb r1, [r0]\n\
- movs r0, 0x58\n\
- muls r0, r1\n\
- add r0, r10\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x13\n\
- bne _0802612C\n\
- cmp r5, 0\n\
- bne _0802612C\n\
- b _08025F74\n\
+ ldr r0, _080261A0 @ =gActiveBank\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0x58\n\
+ muls r0, r1\n\
+ add r0, r10\n\
+ adds r0, 0x20\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x13\n\
+ bne _0802612C\n\
+ cmp r5, 0\n\
+ bne _0802612C\n\
+ b _08025F74\n\
_0802612C:\n\
- lsls r0, r6, 24\n\
- asrs r0, 28\n\
- movs r1, 0x7\n\
- ands r0, r1\n\
- negs r0, r0\n\
- lsls r0, 24\n\
- ldr r3, _080261A4 @ =gBattleTextBuff2\n\
- movs r4, 0\n\
- movs r1, 0xFD\n\
- strb r1, [r3]\n\
- movs r2, 0x1\n\
- lsrs r6, r0, 24\n\
- asrs r0, 24\n\
- subs r1, 0xFF\n\
- cmp r0, r1\n\
- bne _08026156\n\
- strb r4, [r3, 0x1]\n\
- movs r0, 0xD3\n\
- strb r0, [r3, 0x2]\n\
- strb r4, [r3, 0x3]\n\
- movs r2, 0x4\n\
+ lsls r0, r6, 24\n\
+ asrs r0, 28\n\
+ movs r1, 0x7\n\
+ ands r0, r1\n\
+ negs r0, r0\n\
+ lsls r0, 24\n\
+ ldr r3, _080261A4 @ =gBattleTextBuff2\n\
+ movs r4, 0\n\
+ movs r1, 0xFD\n\
+ strb r1, [r3]\n\
+ movs r2, 0x1\n\
+ lsrs r6, r0, 24\n\
+ asrs r0, 24\n\
+ subs r1, 0xFF\n\
+ cmp r0, r1\n\
+ bne _08026156\n\
+ strb r4, [r3, 0x1]\n\
+ movs r0, 0xD3\n\
+ strb r0, [r3, 0x2]\n\
+ strb r4, [r3, 0x3]\n\
+ movs r2, 0x4\n\
_08026156:\n\
- adds r0, r2, r3\n\
- strb r4, [r0]\n\
- adds r2, 0x1\n\
- adds r1, r2, r3\n\
- movs r0, 0xD4\n\
- strb r0, [r1]\n\
- adds r2, 0x1\n\
- adds r0, r2, r3\n\
- strb r4, [r0]\n\
- adds r2, 0x1\n\
- adds r1, r2, r3\n\
- movs r0, 0xFF\n\
- strb r0, [r1]\n\
- ldr r1, _080261A0 @ =gActiveBank\n\
- ldrb r2, [r1]\n\
- movs r0, 0x58\n\
- muls r0, r2\n\
- adds r0, r7, r0\n\
- mov r1, r10\n\
- adds r1, 0x18\n\
- adds r0, r1\n\
- ldrb r0, [r0]\n\
- lsls r0, 24\n\
- asrs r0, 24\n\
- cmp r0, 0\n\
- beq _08026206\n\
- movs r1, 0\n\
- ldr r0, _080261A8 @ =gBankTarget\n\
- ldrb r0, [r0]\n\
- ldr r3, _080261AC @ =gBattleCommunication\n\
- mov r8, r3\n\
- cmp r0, r2\n\
- bne _0802619A\n\
- movs r1, 0x1\n\
+ adds r0, r2, r3\n\
+ strb r4, [r0]\n\
+ adds r2, 0x1\n\
+ adds r1, r2, r3\n\
+ movs r0, 0xD4\n\
+ strb r0, [r1]\n\
+ adds r2, 0x1\n\
+ adds r0, r2, r3\n\
+ strb r4, [r0]\n\
+ adds r2, 0x1\n\
+ adds r1, r2, r3\n\
+ movs r0, 0xFF\n\
+ strb r0, [r1]\n\
+ ldr r1, _080261A0 @ =gActiveBank\n\
+ ldrb r2, [r1]\n\
+ movs r0, 0x58\n\
+ muls r0, r2\n\
+ adds r0, r7, r0\n\
+ mov r1, r10\n\
+ adds r1, 0x18\n\
+ adds r0, r1\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 24\n\
+ asrs r0, 24\n\
+ cmp r0, 0\n\
+ beq _08026206\n\
+ movs r1, 0\n\
+ ldr r0, _080261A8 @ =gBankTarget\n\
+ ldrb r0, [r0]\n\
+ ldr r3, _080261AC @ =gBattleCommunication\n\
+ mov r8, r3\n\
+ cmp r0, r2\n\
+ bne _0802619A\n\
+ movs r1, 0x1\n\
_0802619A:\n\
- mov r4, r8\n\
- strb r1, [r4, 0x5]\n\
- b _08026234\n\
- .align 2, 0\n\
+ mov r4, r8\n\
+ strb r1, [r4, 0x5]\n\
+ b _08026234\n\
+ .align 2, 0\n\
_080261A0: .4byte gActiveBank\n\
_080261A4: .4byte gBattleTextBuff2\n\
_080261A8: .4byte gBankTarget\n\
_080261AC: .4byte gBattleCommunication\n\
_080261B0:\n\
- asrs r6, r0, 28\n\
- movs r0, 0x7\n\
- ands r6, r0\n\
- ldr r3, _08026210 @ =gBattleTextBuff2\n\
- strb r2, [r3]\n\
- movs r2, 0x1\n\
- cmp r6, 0x2\n\
- bne _080261CA\n\
- strb r4, [r3, 0x1]\n\
- movs r0, 0xD1\n\
- strb r0, [r3, 0x2]\n\
- strb r4, [r3, 0x3]\n\
- movs r2, 0x4\n\
+ asrs r6, r0, 28\n\
+ movs r0, 0x7\n\
+ ands r6, r0\n\
+ ldr r3, _08026210 @ =gBattleTextBuff2\n\
+ strb r2, [r3]\n\
+ movs r2, 0x1\n\
+ cmp r6, 0x2\n\
+ bne _080261CA\n\
+ strb r4, [r3, 0x1]\n\
+ movs r0, 0xD1\n\
+ strb r0, [r3, 0x2]\n\
+ strb r4, [r3, 0x3]\n\
+ movs r2, 0x4\n\
_080261CA:\n\
- adds r0, r2, r3\n\
- strb r4, [r0]\n\
- adds r2, 0x1\n\
- adds r1, r2, r3\n\
- movs r0, 0xD2\n\
- strb r0, [r1]\n\
- adds r2, 0x1\n\
- adds r0, r2, r3\n\
- strb r4, [r0]\n\
- adds r2, 0x1\n\
- adds r1, r2, r3\n\
- ldrb r0, [r1]\n\
- mov r2, r12\n\
- orrs r0, r2\n\
- strb r0, [r1]\n\
- ldr r2, _08026214 @ =gBattleMons\n\
- ldr r4, _08026218 @ =gActiveBank\n\
- ldrb r3, [r4]\n\
- movs r0, 0x58\n\
- muls r0, r3\n\
- adds r0, r7, r0\n\
- adds r1, r2, 0\n\
- adds r1, 0x18\n\
- adds r0, r1\n\
- ldrb r0, [r0]\n\
- lsls r0, 24\n\
- asrs r0, 24\n\
- mov r10, r2\n\
- cmp r0, 0xC\n\
- bne _08026220\n\
+ adds r0, r2, r3\n\
+ strb r4, [r0]\n\
+ adds r2, 0x1\n\
+ adds r1, r2, r3\n\
+ movs r0, 0xD2\n\
+ strb r0, [r1]\n\
+ adds r2, 0x1\n\
+ adds r0, r2, r3\n\
+ strb r4, [r0]\n\
+ adds r2, 0x1\n\
+ adds r1, r2, r3\n\
+ ldrb r0, [r1]\n\
+ mov r2, r12\n\
+ orrs r0, r2\n\
+ strb r0, [r1]\n\
+ ldr r2, _08026214 @ =gBattleMons\n\
+ ldr r4, _08026218 @ =gActiveBank\n\
+ ldrb r3, [r4]\n\
+ movs r0, 0x58\n\
+ muls r0, r3\n\
+ adds r0, r7, r0\n\
+ adds r1, r2, 0\n\
+ adds r1, 0x18\n\
+ adds r0, r1\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 24\n\
+ asrs r0, 24\n\
+ mov r10, r2\n\
+ cmp r0, 0xC\n\
+ bne _08026220\n\
_08026206:\n\
- ldr r1, _0802621C @ =gBattleCommunication\n\
- movs r0, 0x2\n\
- strb r0, [r1, 0x5]\n\
- mov r8, r1\n\
- b _08026234\n\
- .align 2, 0\n\
+ ldr r1, _0802621C @ =gBattleCommunication\n\
+ movs r0, 0x2\n\
+ strb r0, [r1, 0x5]\n\
+ mov r8, r1\n\
+ b _08026234\n\
+ .align 2, 0\n\
_08026210: .4byte gBattleTextBuff2\n\
_08026214: .4byte gBattleMons\n\
_08026218: .4byte gActiveBank\n\
_0802621C: .4byte gBattleCommunication\n\
_08026220:\n\
- movs r1, 0\n\
- ldr r0, _080262B4 @ =gBankTarget\n\
- ldrb r0, [r0]\n\
- ldr r2, _080262B8 @ =gBattleCommunication\n\
- mov r8, r2\n\
- cmp r0, r3\n\
- bne _08026230\n\
- movs r1, 0x1\n\
+ movs r1, 0\n\
+ ldr r0, _080262B4 @ =gBankTarget\n\
+ ldrb r0, [r0]\n\
+ ldr r2, _080262B8 @ =gBattleCommunication\n\
+ mov r8, r2\n\
+ cmp r0, r3\n\
+ bne _08026230\n\
+ movs r1, 0x1\n\
_08026230:\n\
- mov r3, r8\n\
- strb r1, [r3, 0x5]\n\
+ mov r3, r8\n\
+ strb r1, [r3, 0x5]\n\
_08026234:\n\
- ldr r2, _080262BC @ =gActiveBank\n\
- ldrb r0, [r2]\n\
- movs r4, 0x58\n\
- adds r1, r0, 0\n\
- muls r1, r4\n\
- adds r1, r7, r1\n\
- mov r3, r10\n\
- adds r3, 0x18\n\
- adds r1, r3\n\
- lsls r0, r6, 24\n\
- asrs r0, 24\n\
- ldrb r6, [r1]\n\
- adds r0, r6\n\
- strb r0, [r1]\n\
- ldrb r0, [r2]\n\
- muls r0, r4\n\
- adds r0, r7, r0\n\
- adds r1, r0, r3\n\
- movs r0, 0\n\
- ldrsb r0, [r1, r0]\n\
- cmp r0, 0\n\
- bge _08026264\n\
- movs r0, 0\n\
- strb r0, [r1]\n\
+ ldr r2, _080262BC @ =gActiveBank\n\
+ ldrb r0, [r2]\n\
+ movs r4, 0x58\n\
+ adds r1, r0, 0\n\
+ muls r1, r4\n\
+ adds r1, r7, r1\n\
+ mov r3, r10\n\
+ adds r3, 0x18\n\
+ adds r1, r3\n\
+ lsls r0, r6, 24\n\
+ asrs r0, 24\n\
+ ldrb r6, [r1]\n\
+ adds r0, r6\n\
+ strb r0, [r1]\n\
+ ldrb r0, [r2]\n\
+ muls r0, r4\n\
+ adds r0, r7, r0\n\
+ adds r1, r0, r3\n\
+ movs r0, 0\n\
+ ldrsb r0, [r1, r0]\n\
+ cmp r0, 0\n\
+ bge _08026264\n\
+ movs r0, 0\n\
+ strb r0, [r1]\n\
_08026264:\n\
- ldr r1, _080262BC @ =gActiveBank\n\
- ldrb r0, [r1]\n\
- muls r0, r4\n\
- adds r0, r7, r0\n\
- adds r1, r0, r3\n\
- movs r0, 0\n\
- ldrsb r0, [r1, r0]\n\
- cmp r0, 0xC\n\
- ble _0802627A\n\
- movs r0, 0xC\n\
- strb r0, [r1]\n\
+ ldr r1, _080262BC @ =gActiveBank\n\
+ ldrb r0, [r1]\n\
+ muls r0, r4\n\
+ adds r0, r7, r0\n\
+ adds r1, r0, r3\n\
+ movs r0, 0\n\
+ ldrsb r0, [r1, r0]\n\
+ cmp r0, 0xC\n\
+ ble _0802627A\n\
+ movs r0, 0xC\n\
+ strb r0, [r1]\n\
_0802627A:\n\
- mov r2, r8\n\
- ldrb r0, [r2, 0x5]\n\
- cmp r0, 0x2\n\
- bne _080262A2\n\
- movs r3, 0x1\n\
- ands r3, r5\n\
- cmp r3, 0\n\
- beq _08026294\n\
- ldr r0, _080262C0 @ =gBattleMoveFlags\n\
- ldrb r1, [r0]\n\
- movs r2, 0x1\n\
- orrs r1, r2\n\
- strb r1, [r0]\n\
+ mov r2, r8\n\
+ ldrb r0, [r2, 0x5]\n\
+ cmp r0, 0x2\n\
+ bne _080262A2\n\
+ movs r3, 0x1\n\
+ ands r3, r5\n\
+ cmp r3, 0\n\
+ beq _08026294\n\
+ ldr r0, _080262C0 @ =gBattleMoveFlags\n\
+ ldrb r1, [r0]\n\
+ movs r2, 0x1\n\
+ orrs r1, r2\n\
+ strb r1, [r0]\n\
_08026294:\n\
- mov r4, r8\n\
- ldrb r0, [r4, 0x5]\n\
- cmp r0, 0x2\n\
- bne _080262A2\n\
- cmp r3, 0\n\
- bne _080262A2\n\
- b _08025F74\n\
+ mov r4, r8\n\
+ ldrb r0, [r4, 0x5]\n\
+ cmp r0, 0x2\n\
+ bne _080262A2\n\
+ cmp r3, 0\n\
+ bne _080262A2\n\
+ b _08025F74\n\
_080262A2:\n\
- movs r0, 0\n\
+ movs r0, 0\n\
_080262A4:\n\
- pop {r3-r5}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- mov r10, r5\n\
- pop {r4-r7}\n\
- pop {r1}\n\
- bx r1\n\
- .align 2, 0\n\
+ pop {r3-r5}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ mov r10, r5\n\
+ pop {r4-r7}\n\
+ pop {r1}\n\
+ bx r1\n\
+ .align 2, 0\n\
_080262B4: .4byte gBankTarget\n\
_080262B8: .4byte gBattleCommunication\n\
_080262BC: .4byte gActiveBank\n\
@@ -14596,20 +14596,20 @@ static void atk91_givepaydaymoney(void)
static void atk92_setlightscreen(void)
{
if (gSideAffecting[GetBankIdentity(gBankAttacker) & 1] & SIDE_LIGHTSCREEN)
- {
- gBattleMoveFlags |= MOVE_MISSED;
- gBattleCommunication[MULTISTRING_CHOOSER] = 0;
- }
- else
- {
- gSideAffecting[GetBankIdentity(gBankAttacker) & 1] |= SIDE_LIGHTSCREEN;
- gSideTimer[GetBankIdentity(gBankAttacker) & 1].lightscreenTimer = 5;
- if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && CountAliveMons(1) == 2)
- gBattleCommunication[MULTISTRING_CHOOSER] = 4;
- else
- gBattleCommunication[MULTISTRING_CHOOSER] = 3;
- }
- gBattlescriptCurrInstr++;
+ {
+ gBattleMoveFlags |= MOVE_MISSED;
+ gBattleCommunication[MULTISTRING_CHOOSER] = 0;
+ }
+ else
+ {
+ gSideAffecting[GetBankIdentity(gBankAttacker) & 1] |= SIDE_LIGHTSCREEN;
+ gSideTimer[GetBankIdentity(gBankAttacker) & 1].lightscreenTimer = 5;
+ if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && CountAliveMons(1) == 2)
+ gBattleCommunication[MULTISTRING_CHOOSER] = 4;
+ else
+ gBattleCommunication[MULTISTRING_CHOOSER] = 3;
+ }
+ gBattlescriptCurrInstr++;
}
#ifdef NOTMATCHING
@@ -14671,105 +14671,105 @@ static void atk93_ko_move(void)
{
asm(".syntax unified\n\
push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- ldr r7, _08026BA8 @ =gBattleMons\n\
- ldr r6, _08026BAC @ =gBankTarget\n\
- ldrb r2, [r6]\n\
- movs r5, 0x58\n\
- adds r0, r2, 0\n\
- muls r0, r5\n\
- adds r1, r0, r7\n\
- ldrh r0, [r1, 0x2E]\n\
- cmp r0, 0xAF\n\
- bne _08026BB4\n\
- ldr r1, _08026BB0 @ =gEnigmaBerries\n\
- lsls r0, r2, 3\n\
- subs r0, r2\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldrb r4, [r0, 0x7]\n\
- ldrb r6, [r0, 0x1A]\n\
- b _08026BCE\n\
- .align 2, 0\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ ldr r7, _08026BA8 @ =gBattleMons\n\
+ ldr r6, _08026BAC @ =gBankTarget\n\
+ ldrb r2, [r6]\n\
+ movs r5, 0x58\n\
+ adds r0, r2, 0\n\
+ muls r0, r5\n\
+ adds r1, r0, r7\n\
+ ldrh r0, [r1, 0x2E]\n\
+ cmp r0, 0xAF\n\
+ bne _08026BB4\n\
+ ldr r1, _08026BB0 @ =gEnigmaBerries\n\
+ lsls r0, r2, 3\n\
+ subs r0, r2\n\
+ lsls r0, 2\n\
+ adds r0, r1\n\
+ ldrb r4, [r0, 0x7]\n\
+ ldrb r6, [r0, 0x1A]\n\
+ b _08026BCE\n\
+ .align 2, 0\n\
_08026BA8: .4byte gBattleMons\n\
_08026BAC: .4byte gBankTarget\n\
_08026BB0: .4byte gEnigmaBerries\n\
_08026BB4:\n\
- ldrh r0, [r1, 0x2E]\n\
- bl ItemId_GetHoldEffect\n\
- lsls r0, 24\n\
- lsrs r4, r0, 24\n\
- ldrb r0, [r6]\n\
- muls r0, r5\n\
- adds r0, r7\n\
- ldrh r0, [r0, 0x2E]\n\
- bl ItemId_GetHoldEffectParam\n\
- lsls r0, 24\n\
- lsrs r6, r0, 24\n\
+ ldrh r0, [r1, 0x2E]\n\
+ bl ItemId_GetHoldEffect\n\
+ lsls r0, 24\n\
+ lsrs r4, r0, 24\n\
+ ldrb r0, [r6]\n\
+ muls r0, r5\n\
+ adds r0, r7\n\
+ ldrh r0, [r0, 0x2E]\n\
+ bl ItemId_GetHoldEffectParam\n\
+ lsls r0, 24\n\
+ lsrs r6, r0, 24\n\
_08026BCE:\n\
- ldr r1, _08026C4C @ =gStringBank\n\
- ldr r5, _08026C50 @ =gBankTarget\n\
- ldrb r0, [r5]\n\
- strb r0, [r1]\n\
- cmp r4, 0x27\n\
- bne _08026C0C\n\
- bl Random\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- movs r1, 0x64\n\
- bl __umodsi3\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- cmp r0, r6\n\
- bcs _08026C0C\n\
- ldrb r0, [r5]\n\
- movs r1, 0x27\n\
- bl RecordItemBattle\n\
- ldr r2, _08026C54 @ =gSpecialStatuses\n\
- ldrb r1, [r5]\n\
- lsls r0, r1, 2\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r0, r2\n\
- ldrb r1, [r0]\n\
- movs r2, 0x80\n\
- orrs r1, r2\n\
- strb r1, [r0]\n\
+ ldr r1, _08026C4C @ =gStringBank\n\
+ ldr r5, _08026C50 @ =gBankTarget\n\
+ ldrb r0, [r5]\n\
+ strb r0, [r1]\n\
+ cmp r4, 0x27\n\
+ bne _08026C0C\n\
+ bl Random\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ movs r1, 0x64\n\
+ bl __umodsi3\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ cmp r0, r6\n\
+ bcs _08026C0C\n\
+ ldrb r0, [r5]\n\
+ movs r1, 0x27\n\
+ bl RecordItemBattle\n\
+ ldr r2, _08026C54 @ =gSpecialStatuses\n\
+ ldrb r1, [r5]\n\
+ lsls r0, r1, 2\n\
+ adds r0, r1\n\
+ lsls r0, 2\n\
+ adds r0, r2\n\
+ ldrb r1, [r0]\n\
+ movs r2, 0x80\n\
+ orrs r1, r2\n\
+ strb r1, [r0]\n\
_08026C0C:\n\
- ldr r0, _08026C58 @ =gBattleMons\n\
- mov r8, r0\n\
- ldr r1, _08026C50 @ =gBankTarget\n\
- ldrb r2, [r1]\n\
- movs r6, 0x58\n\
- adds r0, r2, 0\n\
- muls r0, r6\n\
- mov r3, r8\n\
- adds r5, r0, r3\n\
- adds r0, r5, 0\n\
- adds r0, 0x20\n\
- ldrb r3, [r0]\n\
- mov r10, r8\n\
- cmp r3, 0x5\n\
- bne _08026C6C\n\
- ldr r2, _08026C5C @ =gBattleMoveFlags\n\
- ldrb r0, [r2]\n\
- movs r1, 0x1\n\
- orrs r0, r1\n\
- strb r0, [r2]\n\
- ldr r0, _08026C60 @ =gLastUsedAbility\n\
- strb r3, [r0]\n\
- ldr r1, _08026C64 @ =gBattlescriptCurrInstr\n\
- ldr r0, _08026C68 @ =gUnknown_081D9826\n\
- str r0, [r1]\n\
- ldr r1, _08026C50 @ =gBankTarget\n\
- ldrb r0, [r1]\n\
- movs r1, 0x5\n\
- bl RecordAbilityBattle\n\
- b _08026E40\n\
- .align 2, 0\n\
+ ldr r0, _08026C58 @ =gBattleMons\n\
+ mov r8, r0\n\
+ ldr r1, _08026C50 @ =gBankTarget\n\
+ ldrb r2, [r1]\n\
+ movs r6, 0x58\n\
+ adds r0, r2, 0\n\
+ muls r0, r6\n\
+ mov r3, r8\n\
+ adds r5, r0, r3\n\
+ adds r0, r5, 0\n\
+ adds r0, 0x20\n\
+ ldrb r3, [r0]\n\
+ mov r10, r8\n\
+ cmp r3, 0x5\n\
+ bne _08026C6C\n\
+ ldr r2, _08026C5C @ =gBattleMoveFlags\n\
+ ldrb r0, [r2]\n\
+ movs r1, 0x1\n\
+ orrs r0, r1\n\
+ strb r0, [r2]\n\
+ ldr r0, _08026C60 @ =gLastUsedAbility\n\
+ strb r3, [r0]\n\
+ ldr r1, _08026C64 @ =gBattlescriptCurrInstr\n\
+ ldr r0, _08026C68 @ =gUnknown_081D9826\n\
+ str r0, [r1]\n\
+ ldr r1, _08026C50 @ =gBankTarget\n\
+ ldrb r0, [r1]\n\
+ movs r1, 0x5\n\
+ bl RecordAbilityBattle\n\
+ b _08026E40\n\
+ .align 2, 0\n\
_08026C4C: .4byte gStringBank\n\
_08026C50: .4byte gBankTarget\n\
_08026C54: .4byte gSpecialStatuses\n\
@@ -14779,116 +14779,116 @@ _08026C60: .4byte gLastUsedAbility\n\
_08026C64: .4byte gBattlescriptCurrInstr\n\
_08026C68: .4byte gUnknown_081D9826\n\
_08026C6C:\n\
- ldr r1, _08026CE0 @ =gStatuses3\n\
- lsls r0, r2, 2\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- movs r1, 0x18\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _08026CF4\n\
- ldr r1, _08026CE4 @ =gBattleMoves\n\
- ldr r0, _08026CE8 @ =gCurrentMove\n\
- ldrh r0, [r0]\n\
- lsls r2, r0, 1\n\
- adds r2, r0\n\
- lsls r2, 2\n\
- adds r2, r1\n\
- ldr r7, _08026CEC @ =gBankAttacker\n\
- ldrb r0, [r7]\n\
- muls r0, r6\n\
- add r0, r10\n\
- adds r0, 0x2A\n\
- ldrb r0, [r0]\n\
- adds r1, r5, 0\n\
- adds r1, 0x2A\n\
- ldrb r1, [r1]\n\
- subs r0, r1\n\
- ldrb r2, [r2, 0x3]\n\
- adds r0, r2\n\
- lsls r0, 16\n\
- lsrs r4, r0, 16\n\
- bl Random\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- movs r1, 0x64\n\
- bl __umodsi3\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- adds r0, 0x1\n\
- cmp r0, r4\n\
- bge _08026CDC\n\
- ldrb r0, [r7]\n\
- adds r1, r0, 0\n\
- muls r1, r6\n\
- add r1, r10\n\
- adds r1, 0x2A\n\
- ldr r2, _08026CF0 @ =gBankTarget\n\
- ldrb r0, [r2]\n\
- muls r0, r6\n\
- add r0, r10\n\
- adds r0, 0x2A\n\
- ldrb r1, [r1]\n\
- movs r4, 0x1\n\
- ldrb r0, [r0]\n\
- cmp r1, r0\n\
- bcs _08026D20\n\
+ ldr r1, _08026CE0 @ =gStatuses3\n\
+ lsls r0, r2, 2\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ movs r1, 0x18\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ bne _08026CF4\n\
+ ldr r1, _08026CE4 @ =gBattleMoves\n\
+ ldr r0, _08026CE8 @ =gCurrentMove\n\
+ ldrh r0, [r0]\n\
+ lsls r2, r0, 1\n\
+ adds r2, r0\n\
+ lsls r2, 2\n\
+ adds r2, r1\n\
+ ldr r7, _08026CEC @ =gBankAttacker\n\
+ ldrb r0, [r7]\n\
+ muls r0, r6\n\
+ add r0, r10\n\
+ adds r0, 0x2A\n\
+ ldrb r0, [r0]\n\
+ adds r1, r5, 0\n\
+ adds r1, 0x2A\n\
+ ldrb r1, [r1]\n\
+ subs r0, r1\n\
+ ldrb r2, [r2, 0x3]\n\
+ adds r0, r2\n\
+ lsls r0, 16\n\
+ lsrs r4, r0, 16\n\
+ bl Random\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ movs r1, 0x64\n\
+ bl __umodsi3\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ adds r0, 0x1\n\
+ cmp r0, r4\n\
+ bge _08026CDC\n\
+ ldrb r0, [r7]\n\
+ adds r1, r0, 0\n\
+ muls r1, r6\n\
+ add r1, r10\n\
+ adds r1, 0x2A\n\
+ ldr r2, _08026CF0 @ =gBankTarget\n\
+ ldrb r0, [r2]\n\
+ muls r0, r6\n\
+ add r0, r10\n\
+ adds r0, 0x2A\n\
+ ldrb r1, [r1]\n\
+ movs r4, 0x1\n\
+ ldrb r0, [r0]\n\
+ cmp r1, r0\n\
+ bcs _08026D20\n\
_08026CDC:\n\
- mov r10, r8\n\
- b _08026DE0\n\
- .align 2, 0\n\
+ mov r10, r8\n\
+ b _08026DE0\n\
+ .align 2, 0\n\
_08026CE0: .4byte gStatuses3\n\
_08026CE4: .4byte gBattleMoves\n\
_08026CE8: .4byte gCurrentMove\n\
_08026CEC: .4byte gBankAttacker\n\
_08026CF0: .4byte gBankTarget\n\
_08026CF4:\n\
- ldr r0, _08026D4C @ =gDisableStructs\n\
- lsls r1, r2, 3\n\
- subs r1, r2\n\
- lsls r1, 2\n\
- adds r1, r0\n\
- ldr r2, _08026D50 @ =gBankAttacker\n\
- ldrb r0, [r1, 0x15]\n\
- movs r4, 0\n\
- ldrb r3, [r2]\n\
- cmp r0, r3\n\
- bne _08026D20\n\
- ldrb r0, [r2]\n\
- muls r0, r6\n\
- add r0, r10\n\
- adds r0, 0x2A\n\
- adds r1, r5, 0\n\
- adds r1, 0x2A\n\
- ldrb r0, [r0]\n\
- ldrb r1, [r1]\n\
- cmp r0, r1\n\
- bcc _08026D20\n\
- movs r4, 0x1\n\
+ ldr r0, _08026D4C @ =gDisableStructs\n\
+ lsls r1, r2, 3\n\
+ subs r1, r2\n\
+ lsls r1, 2\n\
+ adds r1, r0\n\
+ ldr r2, _08026D50 @ =gBankAttacker\n\
+ ldrb r0, [r1, 0x15]\n\
+ movs r4, 0\n\
+ ldrb r3, [r2]\n\
+ cmp r0, r3\n\
+ bne _08026D20\n\
+ ldrb r0, [r2]\n\
+ muls r0, r6\n\
+ add r0, r10\n\
+ adds r0, 0x2A\n\
+ adds r1, r5, 0\n\
+ adds r1, 0x2A\n\
+ ldrb r0, [r0]\n\
+ ldrb r1, [r1]\n\
+ cmp r0, r1\n\
+ bcc _08026D20\n\
+ movs r4, 0x1\n\
_08026D20:\n\
- cmp r4, 0\n\
- beq _08026DE0\n\
- ldr r0, _08026D54 @ =gProtectStructs\n\
- ldr r1, _08026D58 @ =gBankTarget\n\
- ldrb r2, [r1]\n\
- lsls r1, r2, 4\n\
- adds r1, r0\n\
- ldrb r0, [r1]\n\
- lsls r0, 30\n\
- cmp r0, 0\n\
- bge _08026D64\n\
- ldr r1, _08026D5C @ =gBattleMoveDamage\n\
- movs r0, 0x58\n\
- muls r0, r2\n\
- add r0, r10\n\
- ldrh r0, [r0, 0x28]\n\
- subs r0, 0x1\n\
- str r0, [r1]\n\
- ldr r2, _08026D60 @ =gBattleMoveFlags\n\
- ldrb r0, [r2]\n\
- movs r1, 0x40\n\
- b _08026DC6\n\
- .align 2, 0\n\
+ cmp r4, 0\n\
+ beq _08026DE0\n\
+ ldr r0, _08026D54 @ =gProtectStructs\n\
+ ldr r1, _08026D58 @ =gBankTarget\n\
+ ldrb r2, [r1]\n\
+ lsls r1, r2, 4\n\
+ adds r1, r0\n\
+ ldrb r0, [r1]\n\
+ lsls r0, 30\n\
+ cmp r0, 0\n\
+ bge _08026D64\n\
+ ldr r1, _08026D5C @ =gBattleMoveDamage\n\
+ movs r0, 0x58\n\
+ muls r0, r2\n\
+ add r0, r10\n\
+ ldrh r0, [r0, 0x28]\n\
+ subs r0, 0x1\n\
+ str r0, [r1]\n\
+ ldr r2, _08026D60 @ =gBattleMoveFlags\n\
+ ldrb r0, [r2]\n\
+ movs r1, 0x40\n\
+ b _08026DC6\n\
+ .align 2, 0\n\
_08026D4C: .4byte gDisableStructs\n\
_08026D50: .4byte gBankAttacker\n\
_08026D54: .4byte gProtectStructs\n\
@@ -14896,122 +14896,122 @@ _08026D58: .4byte gBankTarget\n\
_08026D5C: .4byte gBattleMoveDamage\n\
_08026D60: .4byte gBattleMoveFlags\n\
_08026D64:\n\
- ldr r0, _08026DA0 @ =gSpecialStatuses\n\
- lsls r1, r2, 2\n\
- adds r1, r2\n\
- lsls r1, 2\n\
- adds r1, r0\n\
- ldrb r0, [r1]\n\
- lsrs r0, 7\n\
- cmp r0, 0\n\
- beq _08026DB4\n\
- ldr r1, _08026DA4 @ =gBattleMoveDamage\n\
- movs r3, 0x58\n\
- adds r0, r2, 0\n\
- muls r0, r3\n\
- add r0, r10\n\
- ldrh r0, [r0, 0x28]\n\
- subs r0, 0x1\n\
- str r0, [r1]\n\
- ldr r2, _08026DA8 @ =gBattleMoveFlags\n\
- ldrb r0, [r2]\n\
- movs r1, 0x80\n\
- orrs r0, r1\n\
- strb r0, [r2]\n\
- ldr r1, _08026DAC @ =gLastUsedItem\n\
- ldr r2, _08026DB0 @ =gBankTarget\n\
- ldrb r0, [r2]\n\
- muls r0, r3\n\
- add r0, r10\n\
- ldrh r0, [r0, 0x2E]\n\
- strh r0, [r1]\n\
- b _08026DCA\n\
- .align 2, 0\n\
+ ldr r0, _08026DA0 @ =gSpecialStatuses\n\
+ lsls r1, r2, 2\n\
+ adds r1, r2\n\
+ lsls r1, 2\n\
+ adds r1, r0\n\
+ ldrb r0, [r1]\n\
+ lsrs r0, 7\n\
+ cmp r0, 0\n\
+ beq _08026DB4\n\
+ ldr r1, _08026DA4 @ =gBattleMoveDamage\n\
+ movs r3, 0x58\n\
+ adds r0, r2, 0\n\
+ muls r0, r3\n\
+ add r0, r10\n\
+ ldrh r0, [r0, 0x28]\n\
+ subs r0, 0x1\n\
+ str r0, [r1]\n\
+ ldr r2, _08026DA8 @ =gBattleMoveFlags\n\
+ ldrb r0, [r2]\n\
+ movs r1, 0x80\n\
+ orrs r0, r1\n\
+ strb r0, [r2]\n\
+ ldr r1, _08026DAC @ =gLastUsedItem\n\
+ ldr r2, _08026DB0 @ =gBankTarget\n\
+ ldrb r0, [r2]\n\
+ muls r0, r3\n\
+ add r0, r10\n\
+ ldrh r0, [r0, 0x2E]\n\
+ strh r0, [r1]\n\
+ b _08026DCA\n\
+ .align 2, 0\n\
_08026DA0: .4byte gSpecialStatuses\n\
_08026DA4: .4byte gBattleMoveDamage\n\
_08026DA8: .4byte gBattleMoveFlags\n\
_08026DAC: .4byte gLastUsedItem\n\
_08026DB0: .4byte gBankTarget\n\
_08026DB4:\n\
- ldr r1, _08026DD4 @ =gBattleMoveDamage\n\
- movs r0, 0x58\n\
- muls r0, r2\n\
- add r0, r10\n\
- ldrh r0, [r0, 0x28]\n\
- str r0, [r1]\n\
- ldr r2, _08026DD8 @ =gBattleMoveFlags\n\
- ldrb r0, [r2]\n\
- movs r1, 0x10\n\
+ ldr r1, _08026DD4 @ =gBattleMoveDamage\n\
+ movs r0, 0x58\n\
+ muls r0, r2\n\
+ add r0, r10\n\
+ ldrh r0, [r0, 0x28]\n\
+ str r0, [r1]\n\
+ ldr r2, _08026DD8 @ =gBattleMoveFlags\n\
+ ldrb r0, [r2]\n\
+ movs r1, 0x10\n\
_08026DC6:\n\
- orrs r0, r1\n\
- strb r0, [r2]\n\
+ orrs r0, r1\n\
+ strb r0, [r2]\n\
_08026DCA:\n\
- ldr r1, _08026DDC @ =gBattlescriptCurrInstr\n\
- ldr r0, [r1]\n\
- adds r0, 0x5\n\
- str r0, [r1]\n\
- b _08026E40\n\
- .align 2, 0\n\
+ ldr r1, _08026DDC @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r1]\n\
+ adds r0, 0x5\n\
+ str r0, [r1]\n\
+ b _08026E40\n\
+ .align 2, 0\n\
_08026DD4: .4byte gBattleMoveDamage\n\
_08026DD8: .4byte gBattleMoveFlags\n\
_08026DDC: .4byte gBattlescriptCurrInstr\n\
_08026DE0:\n\
- ldr r2, _08026E10 @ =gBattleMoveFlags\n\
- ldrb r0, [r2]\n\
- movs r1, 0x1\n\
- orrs r0, r1\n\
- strb r0, [r2]\n\
- ldr r0, _08026E14 @ =gBankAttacker\n\
- ldrb r0, [r0]\n\
- movs r2, 0x58\n\
- adds r1, r0, 0\n\
- muls r1, r2\n\
- add r1, r10\n\
- adds r1, 0x2A\n\
- ldr r3, _08026E18 @ =gBankTarget\n\
- ldrb r0, [r3]\n\
- muls r0, r2\n\
- add r0, r10\n\
- adds r0, 0x2A\n\
- ldrb r1, [r1]\n\
- ldrb r0, [r0]\n\
- cmp r1, r0\n\
- bcc _08026E20\n\
- ldr r1, _08026E1C @ =gBattleCommunication\n\
- movs r0, 0\n\
- b _08026E24\n\
- .align 2, 0\n\
+ ldr r2, _08026E10 @ =gBattleMoveFlags\n\
+ ldrb r0, [r2]\n\
+ movs r1, 0x1\n\
+ orrs r0, r1\n\
+ strb r0, [r2]\n\
+ ldr r0, _08026E14 @ =gBankAttacker\n\
+ ldrb r0, [r0]\n\
+ movs r2, 0x58\n\
+ adds r1, r0, 0\n\
+ muls r1, r2\n\
+ add r1, r10\n\
+ adds r1, 0x2A\n\
+ ldr r3, _08026E18 @ =gBankTarget\n\
+ ldrb r0, [r3]\n\
+ muls r0, r2\n\
+ add r0, r10\n\
+ adds r0, 0x2A\n\
+ ldrb r1, [r1]\n\
+ ldrb r0, [r0]\n\
+ cmp r1, r0\n\
+ bcc _08026E20\n\
+ ldr r1, _08026E1C @ =gBattleCommunication\n\
+ movs r0, 0\n\
+ b _08026E24\n\
+ .align 2, 0\n\
_08026E10: .4byte gBattleMoveFlags\n\
_08026E14: .4byte gBankAttacker\n\
_08026E18: .4byte gBankTarget\n\
_08026E1C: .4byte gBattleCommunication\n\
_08026E20:\n\
- ldr r1, _08026E50 @ =gBattleCommunication\n\
- movs r0, 0x1\n\
+ ldr r1, _08026E50 @ =gBattleCommunication\n\
+ movs r0, 0x1\n\
_08026E24:\n\
- strb r0, [r1, 0x5]\n\
- ldr r3, _08026E54 @ =gBattlescriptCurrInstr\n\
- ldr r2, [r3]\n\
- ldrb r1, [r2, 0x1]\n\
- ldrb r0, [r2, 0x2]\n\
- lsls r0, 8\n\
- orrs r1, r0\n\
- ldrb r0, [r2, 0x3]\n\
- lsls r0, 16\n\
- orrs r1, r0\n\
- ldrb r0, [r2, 0x4]\n\
- lsls r0, 24\n\
- orrs r1, r0\n\
- str r1, [r3]\n\
+ strb r0, [r1, 0x5]\n\
+ ldr r3, _08026E54 @ =gBattlescriptCurrInstr\n\
+ ldr r2, [r3]\n\
+ ldrb r1, [r2, 0x1]\n\
+ ldrb r0, [r2, 0x2]\n\
+ lsls r0, 8\n\
+ orrs r1, r0\n\
+ ldrb r0, [r2, 0x3]\n\
+ lsls r0, 16\n\
+ orrs r1, r0\n\
+ ldrb r0, [r2, 0x4]\n\
+ lsls r0, 24\n\
+ orrs r1, r0\n\
+ str r1, [r3]\n\
_08026E40:\n\
- pop {r3-r5}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- mov r10, r5\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .align 2, 0\n\
+ pop {r3-r5}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ mov r10, r5\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
_08026E50: .4byte gBattleCommunication\n\
_08026E54: .4byte gBattlescriptCurrInstr\n\
.syntax divided");
@@ -15028,17 +15028,17 @@ static void atk94_gethalfcurrentenemyhp(void) //super fang
static void atk95_setsandstorm(void)
{
if (gBattleWeather & WEATHER_SANDSTORMY)
- {
- gBattleMoveFlags |= MOVE_MISSED;
- gBattleCommunication[MULTISTRING_CHOOSER] = 2;
- }
- else
- {
- gBattleWeather = weather_sandstorm;
- gBattleCommunication[MULTISTRING_CHOOSER] = 3;
- gWishFutureKnock.weatherDuration = 5;
- }
- gBattlescriptCurrInstr++;
+ {
+ gBattleMoveFlags |= MOVE_MISSED;
+ gBattleCommunication[MULTISTRING_CHOOSER] = 2;
+ }
+ else
+ {
+ gBattleWeather = weather_sandstorm;
+ gBattleCommunication[MULTISTRING_CHOOSER] = 3;
+ gWishFutureKnock.weatherDuration = 5;
+ }
+ gBattlescriptCurrInstr++;
}
static void atk96_weatherdamage(void)
@@ -15156,17 +15156,17 @@ static void atk98_status_icon_update(void)
static void atk99_setmist(void)
{
if (gSideTimer[GetBankIdentity(gBankAttacker) & 1].mistTimer)
- {
- gBattleMoveFlags |= MOVE_FAILED;
- gBattleCommunication[MULTISTRING_CHOOSER] = 1;
- }
- else
- {
- gSideTimer[GetBankIdentity(gBankAttacker) & 1].mistTimer = 5;
- gSideAffecting[GetBankIdentity(gBankAttacker) & 1] |= SIDE_MIST;
+ {
+ gBattleMoveFlags |= MOVE_FAILED;
+ gBattleCommunication[MULTISTRING_CHOOSER] = 1;
+ }
+ else
+ {
+ gSideTimer[GetBankIdentity(gBankAttacker) & 1].mistTimer = 5;
+ gSideAffecting[GetBankIdentity(gBankAttacker) & 1] |= SIDE_MIST;
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
- }
- gBattlescriptCurrInstr++;
+ }
+ gBattlescriptCurrInstr++;
}
static void atk9A_set_focusenergy(void)
@@ -15174,7 +15174,7 @@ static void atk9A_set_focusenergy(void)
if (gBattleMons[gBankAttacker].status2 & STATUS2_FOCUS_ENERGY)
{
gBattleMoveFlags |= MOVE_FAILED;
- gBattleCommunication[MULTISTRING_CHOOSER] = 1;
+ gBattleCommunication[MULTISTRING_CHOOSER] = 1;
}
else
{
@@ -15191,7 +15191,7 @@ static void atk9B_transformdataexecution(void)
if (gBattleMons[gBankTarget].status2 & STATUS2_TRANSFORMED || gStatuses3[gBankTarget] & STATUS3_SEMI_INVULNERABLE)
{
gBattleMoveFlags |= MOVE_FAILED;
- gBattleCommunication[MULTISTRING_CHOOSER] = 1;
+ gBattleCommunication[MULTISTRING_CHOOSER] = 1;
}
else
{
@@ -15319,73 +15319,73 @@ __attribute__((naked))
static void atk9E_metronome(void)
{
asm(".syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r8\n\
- push {r7}\n\
- ldr r7, _08027938 @ =gCurrentMove\n\
- movs r6, 0xB1\n\
- lsls r6, 1\n\
- ldr r5, _0802793C @ =sUnknown_081FACFE\n\
- ldr r0, _08027940 @ =gBattlescriptCurrInstr\n\
- mov r8, r0\n\
+ push {r4-r7,lr}\n\
+ mov r7, r8\n\
+ push {r7}\n\
+ ldr r7, _08027938 @ =gCurrentMove\n\
+ movs r6, 0xB1\n\
+ lsls r6, 1\n\
+ ldr r5, _0802793C @ =sUnknown_081FACFE\n\
+ ldr r0, _08027940 @ =gBattlescriptCurrInstr\n\
+ mov r8, r0\n\
_080278CA:\n\
- bl Random\n\
- ldr r2, _08027944 @ =0x000001ff\n\
- adds r1, r2, 0\n\
- ands r0, r1\n\
- adds r0, 0x1\n\
- strh r0, [r7]\n\
- cmp r0, r6\n\
- bhi _080278CA\n\
- movs r0, 0x3\n\
+ bl Random\n\
+ ldr r2, _08027944 @ =0x000001ff\n\
+ adds r1, r2, 0\n\
+ ands r0, r1\n\
+ adds r0, 0x1\n\
+ strh r0, [r7]\n\
+ cmp r0, r6\n\
+ bhi _080278CA\n\
+ movs r0, 0x3\n\
_080278DE:\n\
- subs r0, 0x1\n\
- cmp r0, 0\n\
- bge _080278DE\n\
- ldr r4, _08027938 @ =gCurrentMove\n\
- ldrh r2, [r4]\n\
- ldr r3, _08027948 @ =0x0000ffff\n\
- subs r0, r5, 0x2\n\
+ subs r0, 0x1\n\
+ cmp r0, 0\n\
+ bge _080278DE\n\
+ ldr r4, _08027938 @ =gCurrentMove\n\
+ ldrh r2, [r4]\n\
+ ldr r3, _08027948 @ =0x0000ffff\n\
+ subs r0, r5, 0x2\n\
_080278EC:\n\
- adds r0, 0x2\n\
- ldrh r1, [r0]\n\
- cmp r1, r2\n\
- beq _080278F8\n\
- cmp r1, r3\n\
- bne _080278EC\n\
+ adds r0, 0x2\n\
+ ldrh r1, [r0]\n\
+ cmp r1, r2\n\
+ beq _080278F8\n\
+ cmp r1, r3\n\
+ bne _080278EC\n\
_080278F8:\n\
- ldr r0, _08027948 @ =0x0000ffff\n\
- cmp r1, r0\n\
- bne _080278CA\n\
- ldr r2, _0802794C @ =gHitMarker\n\
- ldr r0, [r2]\n\
- ldr r1, _08027950 @ =0xfffffbff\n\
- ands r0, r1\n\
- str r0, [r2]\n\
- ldr r3, _08027954 @ =gBattleScriptsEffectsTable\n\
- ldr r2, _08027958 @ =gBattleMoves\n\
- ldrh r1, [r4]\n\
- lsls r0, r1, 1\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r0, r2\n\
- ldrb r0, [r0]\n\
- lsls r0, 2\n\
- adds r0, r3\n\
- ldr r0, [r0]\n\
- mov r1, r8\n\
- str r0, [r1]\n\
- ldrh r0, [r4]\n\
- movs r1, 0\n\
- bl sub_801B5C0\n\
- ldr r1, _0802795C @ =gBankTarget\n\
- strb r0, [r1]\n\
- pop {r3}\n\
- mov r8, r3\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .align 2, 0\n\
+ ldr r0, _08027948 @ =0x0000ffff\n\
+ cmp r1, r0\n\
+ bne _080278CA\n\
+ ldr r2, _0802794C @ =gHitMarker\n\
+ ldr r0, [r2]\n\
+ ldr r1, _08027950 @ =0xfffffbff\n\
+ ands r0, r1\n\
+ str r0, [r2]\n\
+ ldr r3, _08027954 @ =gBattleScriptsEffectsTable\n\
+ ldr r2, _08027958 @ =gBattleMoves\n\
+ ldrh r1, [r4]\n\
+ lsls r0, r1, 1\n\
+ adds r0, r1\n\
+ lsls r0, 2\n\
+ adds r0, r2\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 2\n\
+ adds r0, r3\n\
+ ldr r0, [r0]\n\
+ mov r1, r8\n\
+ str r0, [r1]\n\
+ ldrh r0, [r4]\n\
+ movs r1, 0\n\
+ bl sub_801B5C0\n\
+ ldr r1, _0802795C @ =gBankTarget\n\
+ strb r0, [r1]\n\
+ pop {r3}\n\
+ mov r8, r3\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
_08027938: .4byte gCurrentMove\n\
_0802793C: .4byte sUnknown_081FACFE\n\
_08027940: .4byte gBattlescriptCurrInstr\n\
@@ -15496,7 +15496,7 @@ static void atkA4_setencore(void)
{
gDisableStructs[gBankTarget].encoredMove = gBattleMons[gBankTarget].moves[i];
gDisableStructs[gBankTarget].encoredMovePos = i;
- gDisableStructs[gBankTarget].encoreTimer1 = (Random() & 3) + 3;
+ gDisableStructs[gBankTarget].encoreTimer1 = (Random() & 3) + 3;
gDisableStructs[gBankTarget].encoreTimer2 = gDisableStructs[gBankTarget].encoreTimer1;
gBattlescriptCurrInstr += 5;
}
@@ -15581,246 +15581,246 @@ __attribute__((naked))
static void atkA6_settypetorandomresistance(void)
{
asm(".syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- ldr r1, _08027FA8 @ =gMoveHitWith\n\
- ldr r4, _08027FAC @ =gBankAttacker\n\
- ldrb r0, [r4]\n\
- lsls r0, 1\n\
- adds r2, r0, r1\n\
- ldrh r1, [r2]\n\
- cmp r1, 0\n\
- beq _08027F8C\n\
- ldr r0, _08027FB0 @ =0x0000ffff\n\
- cmp r1, r0\n\
- beq _08027F8C\n\
- ldrh r0, [r2]\n\
- bl IsTwoTurnsMove\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _08028024\n\
- ldr r2, _08027FB4 @ =gProtectStructs\n\
- ldrb r0, [r4]\n\
- lsls r1, r0, 4\n\
- adds r0, r2, 0x4\n\
- adds r0, r1, r0\n\
- ldr r0, [r0]\n\
- cmp r0, 0\n\
- bne _08028024\n\
- adds r0, r2, 0\n\
- adds r0, 0x8\n\
- adds r0, r1, r0\n\
- ldr r0, [r0]\n\
- cmp r0, 0\n\
- bne _08028024\n\
+ push {r4-r7,lr}\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ ldr r1, _08027FA8 @ =gMoveHitWith\n\
+ ldr r4, _08027FAC @ =gBankAttacker\n\
+ ldrb r0, [r4]\n\
+ lsls r0, 1\n\
+ adds r2, r0, r1\n\
+ ldrh r1, [r2]\n\
+ cmp r1, 0\n\
+ beq _08027F8C\n\
+ ldr r0, _08027FB0 @ =0x0000ffff\n\
+ cmp r1, r0\n\
+ beq _08027F8C\n\
+ ldrh r0, [r2]\n\
+ bl IsTwoTurnsMove\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _08028024\n\
+ ldr r2, _08027FB4 @ =gProtectStructs\n\
+ ldrb r0, [r4]\n\
+ lsls r1, r0, 4\n\
+ adds r0, r2, 0x4\n\
+ adds r0, r1, r0\n\
+ ldr r0, [r0]\n\
+ cmp r0, 0\n\
+ bne _08028024\n\
+ adds r0, r2, 0\n\
+ adds r0, 0x8\n\
+ adds r0, r1, r0\n\
+ ldr r0, [r0]\n\
+ cmp r0, 0\n\
+ bne _08028024\n\
_08027F8C:\n\
- ldr r3, _08027FB8 @ =gBattlescriptCurrInstr\n\
- ldr r2, [r3]\n\
- ldrb r1, [r2, 0x1]\n\
- ldrb r0, [r2, 0x2]\n\
- lsls r0, 8\n\
- orrs r1, r0\n\
- ldrb r0, [r2, 0x3]\n\
- lsls r0, 16\n\
- orrs r1, r0\n\
- ldrb r0, [r2, 0x4]\n\
- lsls r0, 24\n\
- orrs r1, r0\n\
- str r1, [r3]\n\
- b _08028110\n\
- .align 2, 0\n\
+ ldr r3, _08027FB8 @ =gBattlescriptCurrInstr\n\
+ ldr r2, [r3]\n\
+ ldrb r1, [r2, 0x1]\n\
+ ldrb r0, [r2, 0x2]\n\
+ lsls r0, 8\n\
+ orrs r1, r0\n\
+ ldrb r0, [r2, 0x3]\n\
+ lsls r0, 16\n\
+ orrs r1, r0\n\
+ ldrb r0, [r2, 0x4]\n\
+ lsls r0, 24\n\
+ orrs r1, r0\n\
+ str r1, [r3]\n\
+ b _08028110\n\
+ .align 2, 0\n\
_08027FA8: .4byte gMoveHitWith\n\
_08027FAC: .4byte gBankAttacker\n\
_08027FB0: .4byte 0x0000ffff\n\
_08027FB4: .4byte gProtectStructs\n\
_08027FB8: .4byte gBattlescriptCurrInstr\n\
_08027FBC:\n\
- mov r0, r12\n\
- strb r5, [r0]\n\
- mov r1, r10\n\
- ldrb r0, [r1]\n\
- muls r0, r2\n\
- adds r0, r7\n\
- adds r0, 0x22\n\
- strb r5, [r0]\n\
- ldr r1, _08027FE0 @ =gBattleTextBuff1\n\
- movs r0, 0xFD\n\
- strb r0, [r1]\n\
- movs r0, 0x3\n\
- strb r0, [r1, 0x1]\n\
- strb r5, [r1, 0x2]\n\
- movs r0, 0xFF\n\
- strb r0, [r1, 0x3]\n\
- ldr r1, _08027FE4 @ =gBattlescriptCurrInstr\n\
- b _08028012\n\
- .align 2, 0\n\
+ mov r0, r12\n\
+ strb r5, [r0]\n\
+ mov r1, r10\n\
+ ldrb r0, [r1]\n\
+ muls r0, r2\n\
+ adds r0, r7\n\
+ adds r0, 0x22\n\
+ strb r5, [r0]\n\
+ ldr r1, _08027FE0 @ =gBattleTextBuff1\n\
+ movs r0, 0xFD\n\
+ strb r0, [r1]\n\
+ movs r0, 0x3\n\
+ strb r0, [r1, 0x1]\n\
+ strb r5, [r1, 0x2]\n\
+ movs r0, 0xFF\n\
+ strb r0, [r1, 0x3]\n\
+ ldr r1, _08027FE4 @ =gBattlescriptCurrInstr\n\
+ b _08028012\n\
+ .align 2, 0\n\
_08027FE0: .4byte gBattleTextBuff1\n\
_08027FE4: .4byte gBattlescriptCurrInstr\n\
_08027FE8:\n\
- mov r0, r8\n\
- adds r0, 0x1\n\
- adds r0, r3\n\
- ldrb r2, [r0]\n\
- strb r2, [r4]\n\
- mov r4, r10\n\
- ldrb r0, [r4]\n\
- muls r0, r6\n\
- ldr r7, _0802801C @ =gBattleMons\n\
- adds r0, r7\n\
- adds r0, 0x22\n\
- strb r2, [r0]\n\
- ldr r1, _08028020 @ =gBattleTextBuff1\n\
- movs r0, 0xFD\n\
- strb r0, [r1]\n\
- movs r0, 0x3\n\
- strb r0, [r1, 0x1]\n\
- strb r2, [r1, 0x2]\n\
- movs r0, 0xFF\n\
- strb r0, [r1, 0x3]\n\
- mov r1, r12\n\
+ mov r0, r8\n\
+ adds r0, 0x1\n\
+ adds r0, r3\n\
+ ldrb r2, [r0]\n\
+ strb r2, [r4]\n\
+ mov r4, r10\n\
+ ldrb r0, [r4]\n\
+ muls r0, r6\n\
+ ldr r7, _0802801C @ =gBattleMons\n\
+ adds r0, r7\n\
+ adds r0, 0x22\n\
+ strb r2, [r0]\n\
+ ldr r1, _08028020 @ =gBattleTextBuff1\n\
+ movs r0, 0xFD\n\
+ strb r0, [r1]\n\
+ movs r0, 0x3\n\
+ strb r0, [r1, 0x1]\n\
+ strb r2, [r1, 0x2]\n\
+ movs r0, 0xFF\n\
+ strb r0, [r1, 0x3]\n\
+ mov r1, r12\n\
_08028012:\n\
- ldr r0, [r1]\n\
- adds r0, 0x5\n\
- str r0, [r1]\n\
- b _08028110\n\
- .align 2, 0\n\
+ ldr r0, [r1]\n\
+ adds r0, 0x5\n\
+ str r0, [r1]\n\
+ b _08028110\n\
+ .align 2, 0\n\
_0802801C: .4byte gBattleMons\n\
_08028020: .4byte gBattleTextBuff1\n\
_08028024:\n\
- movs r4, 0\n\
- mov r8, r4\n\
- movs r7, 0x7F\n\
- mov r9, r7\n\
+ movs r4, 0\n\
+ mov r8, r4\n\
+ movs r7, 0x7F\n\
+ mov r9, r7\n\
_0802802C:\n\
- bl Random\n\
- mov r4, r9\n\
- ands r4, r0\n\
- cmp r4, 0x70\n\
- bhi _0802802C\n\
- lsls r0, r4, 1\n\
- adds r4, r0, r4\n\
- ldr r6, _08028120 @ =gTypeEffectiveness\n\
- adds r3, r4, r6\n\
- ldr r1, _08028124 @ =gUnknown_02024C44\n\
- ldr r2, _08028128 @ =gBankAttacker\n\
- ldrb r5, [r2]\n\
- lsls r0, r5, 1\n\
- adds r0, r1\n\
- ldrb r1, [r3]\n\
- mov r10, r2\n\
- ldrh r0, [r0]\n\
- cmp r1, r0\n\
- bne _08028088\n\
- adds r0, r4, 0x2\n\
- adds r0, r6\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x5\n\
- bhi _08028088\n\
- ldr r7, _0802812C @ =gBattleMons\n\
- movs r2, 0x58\n\
- adds r0, r5, 0\n\
- muls r0, r2\n\
- adds r3, r0, r7\n\
- movs r0, 0x21\n\
- adds r0, r3\n\
- mov r12, r0\n\
- adds r0, r4, 0x1\n\
- adds r0, r6\n\
- ldrb r5, [r0]\n\
- mov r1, r12\n\
- ldrb r0, [r1]\n\
- adds r1, r5, 0\n\
- cmp r0, r1\n\
- beq _08028088\n\
- adds r0, r3, 0\n\
- adds r0, 0x22\n\
- ldrb r0, [r0]\n\
- cmp r0, r1\n\
- bne _08027FBC\n\
+ bl Random\n\
+ mov r4, r9\n\
+ ands r4, r0\n\
+ cmp r4, 0x70\n\
+ bhi _0802802C\n\
+ lsls r0, r4, 1\n\
+ adds r4, r0, r4\n\
+ ldr r6, _08028120 @ =gTypeEffectiveness\n\
+ adds r3, r4, r6\n\
+ ldr r1, _08028124 @ =gUnknown_02024C44\n\
+ ldr r2, _08028128 @ =gBankAttacker\n\
+ ldrb r5, [r2]\n\
+ lsls r0, r5, 1\n\
+ adds r0, r1\n\
+ ldrb r1, [r3]\n\
+ mov r10, r2\n\
+ ldrh r0, [r0]\n\
+ cmp r1, r0\n\
+ bne _08028088\n\
+ adds r0, r4, 0x2\n\
+ adds r0, r6\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x5\n\
+ bhi _08028088\n\
+ ldr r7, _0802812C @ =gBattleMons\n\
+ movs r2, 0x58\n\
+ adds r0, r5, 0\n\
+ muls r0, r2\n\
+ adds r3, r0, r7\n\
+ movs r0, 0x21\n\
+ adds r0, r3\n\
+ mov r12, r0\n\
+ adds r0, r4, 0x1\n\
+ adds r0, r6\n\
+ ldrb r5, [r0]\n\
+ mov r1, r12\n\
+ ldrb r0, [r1]\n\
+ adds r1, r5, 0\n\
+ cmp r0, r1\n\
+ beq _08028088\n\
+ adds r0, r3, 0\n\
+ adds r0, 0x22\n\
+ ldrb r0, [r0]\n\
+ cmp r0, r1\n\
+ bne _08027FBC\n\
_08028088:\n\
- movs r7, 0x1\n\
- add r8, r7\n\
- ldr r0, _08028130 @ =0x000003e7\n\
- cmp r8, r0\n\
- ble _0802802C\n\
- movs r0, 0\n\
- mov r8, r0\n\
- ldr r1, _08028134 @ =gBattlescriptCurrInstr\n\
- mov r12, r1\n\
- ldr r3, _08028120 @ =gTypeEffectiveness\n\
- adds r0, r4, 0x1\n\
- adds r0, r3\n\
- mov r9, r0\n\
- adds r5, r3, 0\n\
+ movs r7, 0x1\n\
+ add r8, r7\n\
+ ldr r0, _08028130 @ =0x000003e7\n\
+ cmp r8, r0\n\
+ ble _0802802C\n\
+ movs r0, 0\n\
+ mov r8, r0\n\
+ ldr r1, _08028134 @ =gBattlescriptCurrInstr\n\
+ mov r12, r1\n\
+ ldr r3, _08028120 @ =gTypeEffectiveness\n\
+ adds r0, r4, 0x1\n\
+ adds r0, r3\n\
+ mov r9, r0\n\
+ adds r5, r3, 0\n\
_080280A4:\n\
- ldrb r1, [r5]\n\
- cmp r1, 0xFF\n\
- bgt _080280AE\n\
- cmp r1, 0xFE\n\
- bge _080280E8\n\
+ ldrb r1, [r5]\n\
+ cmp r1, 0xFF\n\
+ bgt _080280AE\n\
+ cmp r1, 0xFE\n\
+ bge _080280E8\n\
_080280AE:\n\
- mov r4, r10\n\
- ldrb r2, [r4]\n\
- lsls r0, r2, 1\n\
- ldr r7, _08028124 @ =gUnknown_02024C44\n\
- adds r0, r7\n\
- ldrh r0, [r0]\n\
- cmp r1, r0\n\
- bne _080280E8\n\
- ldrb r0, [r5, 0x2]\n\
- cmp r0, 0x5\n\
- bhi _080280E8\n\
- movs r6, 0x58\n\
- adds r0, r2, 0\n\
- muls r0, r6\n\
- ldr r1, _0802812C @ =gBattleMons\n\
- adds r2, r0, r1\n\
- adds r4, r2, 0\n\
- adds r4, 0x21\n\
- ldrb r0, [r4]\n\
- mov r7, r9\n\
- ldrb r1, [r7]\n\
- cmp r0, r1\n\
- beq _080280E8\n\
- adds r0, r2, 0\n\
- adds r0, 0x22\n\
- ldrb r0, [r0]\n\
- cmp r0, r1\n\
- beq _080280E8\n\
- b _08027FE8\n\
+ mov r4, r10\n\
+ ldrb r2, [r4]\n\
+ lsls r0, r2, 1\n\
+ ldr r7, _08028124 @ =gUnknown_02024C44\n\
+ adds r0, r7\n\
+ ldrh r0, [r0]\n\
+ cmp r1, r0\n\
+ bne _080280E8\n\
+ ldrb r0, [r5, 0x2]\n\
+ cmp r0, 0x5\n\
+ bhi _080280E8\n\
+ movs r6, 0x58\n\
+ adds r0, r2, 0\n\
+ muls r0, r6\n\
+ ldr r1, _0802812C @ =gBattleMons\n\
+ adds r2, r0, r1\n\
+ adds r4, r2, 0\n\
+ adds r4, 0x21\n\
+ ldrb r0, [r4]\n\
+ mov r7, r9\n\
+ ldrb r1, [r7]\n\
+ cmp r0, r1\n\
+ beq _080280E8\n\
+ adds r0, r2, 0\n\
+ adds r0, 0x22\n\
+ ldrb r0, [r0]\n\
+ cmp r0, r1\n\
+ beq _080280E8\n\
+ b _08027FE8\n\
_080280E8:\n\
- adds r5, 0x3\n\
- movs r0, 0x3\n\
- add r8, r0\n\
- ldr r0, _08028138 @ =0x0000014f\n\
- cmp r8, r0\n\
- bls _080280A4\n\
- mov r1, r12\n\
- ldr r2, [r1]\n\
- ldrb r1, [r2, 0x1]\n\
- ldrb r0, [r2, 0x2]\n\
- lsls r0, 8\n\
- orrs r1, r0\n\
- ldrb r0, [r2, 0x3]\n\
- lsls r0, 16\n\
- orrs r1, r0\n\
- ldrb r0, [r2, 0x4]\n\
- lsls r0, 24\n\
- orrs r1, r0\n\
- mov r4, r12\n\
- str r1, [r4]\n\
+ adds r5, 0x3\n\
+ movs r0, 0x3\n\
+ add r8, r0\n\
+ ldr r0, _08028138 @ =0x0000014f\n\
+ cmp r8, r0\n\
+ bls _080280A4\n\
+ mov r1, r12\n\
+ ldr r2, [r1]\n\
+ ldrb r1, [r2, 0x1]\n\
+ ldrb r0, [r2, 0x2]\n\
+ lsls r0, 8\n\
+ orrs r1, r0\n\
+ ldrb r0, [r2, 0x3]\n\
+ lsls r0, 16\n\
+ orrs r1, r0\n\
+ ldrb r0, [r2, 0x4]\n\
+ lsls r0, 24\n\
+ orrs r1, r0\n\
+ mov r4, r12\n\
+ str r1, [r4]\n\
_08028110:\n\
- pop {r3-r5}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- mov r10, r5\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .align 2, 0\n\
+ pop {r3-r5}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ mov r10, r5\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
_08028120: .4byte gTypeEffectiveness\n\
_08028124: .4byte gUnknown_02024C44\n\
_08028128: .4byte gBankAttacker\n\
@@ -16370,17 +16370,17 @@ static void atkBA_jumpifnopursuitswitchdmg(void)
static void atkBB_setsunny(void)
{
if (gBattleWeather & WEATHER_SUNNY)
- {
- gBattleMoveFlags |= MOVE_MISSED;
- gBattleCommunication[MULTISTRING_CHOOSER] = 2;
- }
- else
- {
- gBattleWeather = weather_sun;
- gBattleCommunication[MULTISTRING_CHOOSER] = 4;
- gWishFutureKnock.weatherDuration = 5;
- }
- gBattlescriptCurrInstr++;
+ {
+ gBattleMoveFlags |= MOVE_MISSED;
+ gBattleCommunication[MULTISTRING_CHOOSER] = 2;
+ }
+ else
+ {
+ gBattleWeather = weather_sun;
+ gBattleCommunication[MULTISTRING_CHOOSER] = 4;
+ gWishFutureKnock.weatherDuration = 5;
+ }
+ gBattlescriptCurrInstr++;
}
static void atkBC_maxattackhalvehp(void) //belly drum
@@ -16472,141 +16472,141 @@ static void atkC1_hidden_power(void)
{
asm(".syntax unified\n\
push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- ldr r2, _08029894 @ =gBattleMons\n\
- ldr r0, _08029898 @ =gBankAttacker\n\
- ldrb r1, [r0]\n\
- movs r0, 0x58\n\
- adds r4, r1, 0\n\
- muls r4, r0\n\
- adds r4, r2\n\
- ldrb r0, [r4, 0x14]\n\
- mov r10, r0\n\
- mov r7, r10\n\
- lsls r7, 27\n\
- adds r0, r7, 0\n\
- lsrs r0, 27\n\
- mov r10, r0\n\
- movs r1, 0x2\n\
- mov r2, r10\n\
- ands r2, r1\n\
- asrs r2, 1\n\
- ldrh r7, [r4, 0x14]\n\
- mov r9, r7\n\
- mov r0, r9\n\
- lsls r0, 22\n\
- mov r9, r0\n\
- lsrs r3, r0, 27\n\
- adds r0, r1, 0\n\
- ands r0, r3\n\
- orrs r2, r0\n\
- ldrb r7, [r4, 0x15]\n\
- mov r8, r7\n\
- mov r0, r8\n\
- lsls r0, 25\n\
- mov r8, r0\n\
- lsrs r3, r0, 27\n\
- adds r0, r1, 0\n\
- ands r0, r3\n\
- lsls r0, 1\n\
- orrs r2, r0\n\
- ldr r6, [r4, 0x14]\n\
- lsls r6, 12\n\
- lsrs r3, r6, 27\n\
- adds r0, r1, 0\n\
- ands r0, r3\n\
- lsls r0, 2\n\
- orrs r2, r0\n\
- ldrh r5, [r4, 0x16]\n\
- lsls r5, 23\n\
- lsrs r3, r5, 27\n\
- adds r0, r1, 0\n\
- ands r0, r3\n\
- lsls r0, 3\n\
- orrs r2, r0\n\
- ldrb r3, [r4, 0x17]\n\
- lsls r3, 26\n\
- lsrs r0, r3, 27\n\
- ands r1, r0\n\
- lsls r1, 4\n\
- orrs r2, r1\n\
- movs r1, 0x1\n\
- adds r4, r1, 0\n\
- mov r7, r10\n\
- ands r4, r7\n\
- mov r0, r9\n\
- lsrs r0, 27\n\
- mov r9, r0\n\
- adds r0, r1, 0\n\
- mov r7, r9\n\
- ands r0, r7\n\
- lsls r0, 1\n\
- orrs r4, r0\n\
- mov r0, r8\n\
- lsrs r0, 27\n\
- mov r8, r0\n\
- adds r0, r1, 0\n\
- mov r7, r8\n\
- ands r0, r7\n\
- lsls r0, 2\n\
- orrs r4, r0\n\
- lsrs r6, 27\n\
- adds r0, r1, 0\n\
- ands r0, r6\n\
- lsls r0, 3\n\
- orrs r4, r0\n\
- lsrs r5, 27\n\
- adds r0, r1, 0\n\
- ands r0, r5\n\
- lsls r0, 4\n\
- orrs r4, r0\n\
- lsrs r3, 27\n\
- ands r1, r3\n\
- lsls r1, 5\n\
- orrs r4, r1\n\
- ldr r5, _0802989C @ =gDynamicBasePower\n\
- lsls r0, r2, 2\n\
- adds r0, r2\n\
- lsls r0, 3\n\
- movs r1, 0x3F\n\
- bl __divsi3\n\
- adds r0, 0x1E\n\
- strh r0, [r5]\n\
- ldr r5, _080298A0 @ =0x02000000\n\
- lsls r0, r4, 4\n\
- subs r0, r4\n\
- movs r1, 0x3F\n\
- bl __divsi3\n\
- adds r1, r0, 0x1\n\
- ldr r0, _080298A4 @ =0x0001601c\n\
- adds r5, r0\n\
- strb r1, [r5]\n\
- lsls r0, r1, 24\n\
- lsrs r0, 24\n\
- cmp r0, 0x8\n\
- bls _08029876\n\
- adds r0, r1, 0x1\n\
- strb r0, [r5]\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ ldr r2, _08029894 @ =gBattleMons\n\
+ ldr r0, _08029898 @ =gBankAttacker\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0x58\n\
+ adds r4, r1, 0\n\
+ muls r4, r0\n\
+ adds r4, r2\n\
+ ldrb r0, [r4, 0x14]\n\
+ mov r10, r0\n\
+ mov r7, r10\n\
+ lsls r7, 27\n\
+ adds r0, r7, 0\n\
+ lsrs r0, 27\n\
+ mov r10, r0\n\
+ movs r1, 0x2\n\
+ mov r2, r10\n\
+ ands r2, r1\n\
+ asrs r2, 1\n\
+ ldrh r7, [r4, 0x14]\n\
+ mov r9, r7\n\
+ mov r0, r9\n\
+ lsls r0, 22\n\
+ mov r9, r0\n\
+ lsrs r3, r0, 27\n\
+ adds r0, r1, 0\n\
+ ands r0, r3\n\
+ orrs r2, r0\n\
+ ldrb r7, [r4, 0x15]\n\
+ mov r8, r7\n\
+ mov r0, r8\n\
+ lsls r0, 25\n\
+ mov r8, r0\n\
+ lsrs r3, r0, 27\n\
+ adds r0, r1, 0\n\
+ ands r0, r3\n\
+ lsls r0, 1\n\
+ orrs r2, r0\n\
+ ldr r6, [r4, 0x14]\n\
+ lsls r6, 12\n\
+ lsrs r3, r6, 27\n\
+ adds r0, r1, 0\n\
+ ands r0, r3\n\
+ lsls r0, 2\n\
+ orrs r2, r0\n\
+ ldrh r5, [r4, 0x16]\n\
+ lsls r5, 23\n\
+ lsrs r3, r5, 27\n\
+ adds r0, r1, 0\n\
+ ands r0, r3\n\
+ lsls r0, 3\n\
+ orrs r2, r0\n\
+ ldrb r3, [r4, 0x17]\n\
+ lsls r3, 26\n\
+ lsrs r0, r3, 27\n\
+ ands r1, r0\n\
+ lsls r1, 4\n\
+ orrs r2, r1\n\
+ movs r1, 0x1\n\
+ adds r4, r1, 0\n\
+ mov r7, r10\n\
+ ands r4, r7\n\
+ mov r0, r9\n\
+ lsrs r0, 27\n\
+ mov r9, r0\n\
+ adds r0, r1, 0\n\
+ mov r7, r9\n\
+ ands r0, r7\n\
+ lsls r0, 1\n\
+ orrs r4, r0\n\
+ mov r0, r8\n\
+ lsrs r0, 27\n\
+ mov r8, r0\n\
+ adds r0, r1, 0\n\
+ mov r7, r8\n\
+ ands r0, r7\n\
+ lsls r0, 2\n\
+ orrs r4, r0\n\
+ lsrs r6, 27\n\
+ adds r0, r1, 0\n\
+ ands r0, r6\n\
+ lsls r0, 3\n\
+ orrs r4, r0\n\
+ lsrs r5, 27\n\
+ adds r0, r1, 0\n\
+ ands r0, r5\n\
+ lsls r0, 4\n\
+ orrs r4, r0\n\
+ lsrs r3, 27\n\
+ ands r1, r3\n\
+ lsls r1, 5\n\
+ orrs r4, r1\n\
+ ldr r5, _0802989C @ =gDynamicBasePower\n\
+ lsls r0, r2, 2\n\
+ adds r0, r2\n\
+ lsls r0, 3\n\
+ movs r1, 0x3F\n\
+ bl __divsi3\n\
+ adds r0, 0x1E\n\
+ strh r0, [r5]\n\
+ ldr r5, _080298A0 @ =0x02000000\n\
+ lsls r0, r4, 4\n\
+ subs r0, r4\n\
+ movs r1, 0x3F\n\
+ bl __divsi3\n\
+ adds r1, r0, 0x1\n\
+ ldr r0, _080298A4 @ =0x0001601c\n\
+ adds r5, r0\n\
+ strb r1, [r5]\n\
+ lsls r0, r1, 24\n\
+ lsrs r0, 24\n\
+ cmp r0, 0x8\n\
+ bls _08029876\n\
+ adds r0, r1, 0x1\n\
+ strb r0, [r5]\n\
_08029876:\n\
- ldrb r0, [r5]\n\
- movs r1, 0xC0\n\
- orrs r0, r1\n\
- strb r0, [r5]\n\
- ldr r1, _080298A8 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r1]\n\
- adds r0, 0x1\n\
- str r0, [r1]\n\
- pop {r3-r5}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- mov r10, r5\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .align 2, 0\n\
+ ldrb r0, [r5]\n\
+ movs r1, 0xC0\n\
+ orrs r0, r1\n\
+ strb r0, [r5]\n\
+ ldr r1, _080298A8 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r1]\n\
+ adds r0, 0x1\n\
+ str r0, [r1]\n\
+ pop {r3-r5}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ mov r10, r5\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
_08029894: .4byte gBattleMons\n\
_08029898: .4byte gBankAttacker\n\
_0802989C: .4byte gDynamicBasePower\n\
@@ -16703,40 +16703,40 @@ __attribute__((naked))
static void atkC4_beat_up(void)
{
asm(".syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r9\n\
- mov r6, r8\n\
- push {r6,r7}\n\
- ldr r0, _08029A8C @ =gBankAttacker\n\
- ldrb r0, [r0]\n\
- bl GetBankSide\n\
- lsls r0, 24\n\
- ldr r7, _08029A90 @ =gEnemyParty\n\
- cmp r0, 0\n\
- bne _08029A62\n\
- ldr r7, _08029A94 @ =gPlayerParty\n\
+ push {r4-r7,lr}\n\
+ mov r7, r9\n\
+ mov r6, r8\n\
+ push {r6,r7}\n\
+ ldr r0, _08029A8C @ =gBankAttacker\n\
+ ldrb r0, [r0]\n\
+ bl GetBankSide\n\
+ lsls r0, 24\n\
+ ldr r7, _08029A90 @ =gEnemyParty\n\
+ cmp r0, 0\n\
+ bne _08029A62\n\
+ ldr r7, _08029A94 @ =gPlayerParty\n\
_08029A62:\n\
- ldr r2, _08029A98 @ =gBattleMons\n\
- ldr r0, _08029A9C @ =gBankTarget\n\
- ldrb r1, [r0]\n\
- movs r0, 0x58\n\
- muls r0, r1\n\
- adds r0, r2\n\
- ldrh r0, [r0, 0x28]\n\
- cmp r0, 0\n\
- bne _08029AA4\n\
- ldr r3, _08029AA0 @ =gBattlescriptCurrInstr\n\
- ldr r2, [r3]\n\
- ldrb r1, [r2, 0x1]\n\
- ldrb r0, [r2, 0x2]\n\
- lsls r0, 8\n\
- orrs r1, r0\n\
- ldrb r0, [r2, 0x3]\n\
- lsls r0, 16\n\
- orrs r1, r0\n\
- ldrb r0, [r2, 0x4]\n\
- b _08029C40\n\
- .align 2, 0\n\
+ ldr r2, _08029A98 @ =gBattleMons\n\
+ ldr r0, _08029A9C @ =gBankTarget\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0x58\n\
+ muls r0, r1\n\
+ adds r0, r2\n\
+ ldrh r0, [r0, 0x28]\n\
+ cmp r0, 0\n\
+ bne _08029AA4\n\
+ ldr r3, _08029AA0 @ =gBattlescriptCurrInstr\n\
+ ldr r2, [r3]\n\
+ ldrb r1, [r2, 0x1]\n\
+ ldrb r0, [r2, 0x2]\n\
+ lsls r0, 8\n\
+ orrs r1, r0\n\
+ ldrb r0, [r2, 0x3]\n\
+ lsls r0, 16\n\
+ orrs r1, r0\n\
+ ldrb r0, [r2, 0x4]\n\
+ b _08029C40\n\
+ .align 2, 0\n\
_08029A8C: .4byte gBankAttacker\n\
_08029A90: .4byte gEnemyParty\n\
_08029A94: .4byte gPlayerParty\n\
@@ -16744,159 +16744,159 @@ _08029A98: .4byte gBattleMons\n\
_08029A9C: .4byte gBankTarget\n\
_08029AA0: .4byte gBattlescriptCurrInstr\n\
_08029AA4:\n\
- ldr r6, _08029BE0 @ =gBattleCommunication\n\
- ldrb r0, [r6]\n\
- mov r8, r0\n\
- cmp r0, 0x5\n\
- bls _08029AB0\n\
- b _08029C0C\n\
+ ldr r6, _08029BE0 @ =gBattleCommunication\n\
+ ldrb r0, [r6]\n\
+ mov r8, r0\n\
+ cmp r0, 0x5\n\
+ bls _08029AB0\n\
+ b _08029C0C\n\
_08029AB0:\n\
- adds r4, r6, 0\n\
- movs r5, 0x64\n\
+ adds r4, r6, 0\n\
+ movs r5, 0x64\n\
_08029AB4:\n\
- ldrb r0, [r4]\n\
- muls r0, r5\n\
- adds r0, r7, r0\n\
- movs r1, 0x39\n\
- bl GetMonData\n\
- cmp r0, 0\n\
- beq _08029AF8\n\
- ldrb r0, [r6]\n\
- muls r0, r5\n\
- adds r0, r7, r0\n\
- movs r1, 0x41\n\
- bl GetMonData\n\
- cmp r0, 0\n\
- beq _08029AF8\n\
- ldrb r0, [r4]\n\
- muls r0, r5\n\
- adds r0, r7, r0\n\
- movs r1, 0x41\n\
- bl GetMonData\n\
- movs r1, 0xCE\n\
- lsls r1, 1\n\
- cmp r0, r1\n\
- beq _08029AF8\n\
- ldrb r0, [r4]\n\
- muls r0, r5\n\
- adds r0, r7, r0\n\
- movs r1, 0x37\n\
- bl GetMonData\n\
- cmp r0, 0\n\
- beq _08029B08\n\
+ ldrb r0, [r4]\n\
+ muls r0, r5\n\
+ adds r0, r7, r0\n\
+ movs r1, 0x39\n\
+ bl GetMonData\n\
+ cmp r0, 0\n\
+ beq _08029AF8\n\
+ ldrb r0, [r6]\n\
+ muls r0, r5\n\
+ adds r0, r7, r0\n\
+ movs r1, 0x41\n\
+ bl GetMonData\n\
+ cmp r0, 0\n\
+ beq _08029AF8\n\
+ ldrb r0, [r4]\n\
+ muls r0, r5\n\
+ adds r0, r7, r0\n\
+ movs r1, 0x41\n\
+ bl GetMonData\n\
+ movs r1, 0xCE\n\
+ lsls r1, 1\n\
+ cmp r0, r1\n\
+ beq _08029AF8\n\
+ ldrb r0, [r4]\n\
+ muls r0, r5\n\
+ adds r0, r7, r0\n\
+ movs r1, 0x37\n\
+ bl GetMonData\n\
+ cmp r0, 0\n\
+ beq _08029B08\n\
_08029AF8:\n\
- ldrb r0, [r4]\n\
- adds r0, 0x1\n\
- strb r0, [r4]\n\
- adds r6, r4, 0\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r0, 0x5\n\
- bls _08029AB4\n\
+ ldrb r0, [r4]\n\
+ adds r0, 0x1\n\
+ strb r0, [r4]\n\
+ adds r6, r4, 0\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ cmp r0, 0x5\n\
+ bls _08029AB4\n\
_08029B08:\n\
- ldr r1, _08029BE0 @ =gBattleCommunication\n\
- mov r9, r1\n\
- ldrb r2, [r1]\n\
- cmp r2, 0x5\n\
- bhi _08029C0C\n\
- ldr r1, _08029BE4 @ =gBattleTextBuff1\n\
- movs r0, 0xFD\n\
- strb r0, [r1]\n\
- movs r0, 0x4\n\
- strb r0, [r1, 0x1]\n\
- ldr r6, _08029BE8 @ =gBankAttacker\n\
- ldrb r0, [r6]\n\
- strb r0, [r1, 0x2]\n\
- strb r2, [r1, 0x3]\n\
- movs r0, 0xFF\n\
- strb r0, [r1, 0x4]\n\
- ldr r1, _08029BEC @ =gBattlescriptCurrInstr\n\
- ldr r0, [r1]\n\
- adds r0, 0x9\n\
- str r0, [r1]\n\
- ldr r2, _08029BF0 @ =gBattleMoveDamage\n\
- mov r8, r2\n\
- ldr r5, _08029BF4 @ =gBaseStats\n\
- mov r1, r9\n\
- ldrb r0, [r1]\n\
- movs r4, 0x64\n\
- muls r0, r4\n\
- adds r0, r7, r0\n\
- movs r1, 0xB\n\
- bl GetMonData\n\
- lsls r1, r0, 3\n\
- subs r1, r0\n\
- lsls r1, 2\n\
- adds r1, r5\n\
- ldrb r3, [r1, 0x1]\n\
- mov r2, r8\n\
- str r3, [r2]\n\
- ldr r2, _08029BF8 @ =gBattleMoves\n\
- ldr r0, _08029BFC @ =gCurrentMove\n\
- ldrh r1, [r0]\n\
- lsls r0, r1, 1\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r0, r2\n\
- ldrb r0, [r0, 0x1]\n\
- muls r0, r3\n\
- mov r1, r8\n\
- str r0, [r1]\n\
- mov r2, r9\n\
- ldrb r0, [r2]\n\
- muls r0, r4\n\
- adds r0, r7, r0\n\
- movs r1, 0x38\n\
- bl GetMonData\n\
- lsls r0, 1\n\
- movs r1, 0x5\n\
- bl __udivsi3\n\
- adds r0, 0x2\n\
- mov r2, r8\n\
- ldr r1, [r2]\n\
- muls r0, r1\n\
- str r0, [r2]\n\
- ldr r3, _08029C00 @ =gBattleMons\n\
- ldr r1, _08029C04 @ =gBankTarget\n\
- ldrb r2, [r1]\n\
- movs r1, 0x58\n\
- muls r1, r2\n\
- adds r1, r3\n\
- ldrh r2, [r1]\n\
- lsls r1, r2, 3\n\
- subs r1, r2\n\
- lsls r1, 2\n\
- adds r1, r5\n\
- ldrb r1, [r1, 0x2]\n\
- bl __divsi3\n\
- mov r1, r8\n\
- str r0, [r1]\n\
- movs r1, 0x32\n\
- bl __divsi3\n\
- adds r2, r0, 0x2\n\
- mov r0, r8\n\
- str r2, [r0]\n\
- ldr r1, _08029C08 @ =gProtectStructs\n\
- ldrb r0, [r6]\n\
- lsls r0, 4\n\
- adds r0, r1\n\
- ldrb r0, [r0]\n\
- lsls r0, 28\n\
- cmp r0, 0\n\
- bge _08029BD4\n\
- lsls r0, r2, 4\n\
- subs r0, r2\n\
- movs r1, 0xA\n\
- bl __divsi3\n\
- mov r1, r8\n\
- str r0, [r1]\n\
+ ldr r1, _08029BE0 @ =gBattleCommunication\n\
+ mov r9, r1\n\
+ ldrb r2, [r1]\n\
+ cmp r2, 0x5\n\
+ bhi _08029C0C\n\
+ ldr r1, _08029BE4 @ =gBattleTextBuff1\n\
+ movs r0, 0xFD\n\
+ strb r0, [r1]\n\
+ movs r0, 0x4\n\
+ strb r0, [r1, 0x1]\n\
+ ldr r6, _08029BE8 @ =gBankAttacker\n\
+ ldrb r0, [r6]\n\
+ strb r0, [r1, 0x2]\n\
+ strb r2, [r1, 0x3]\n\
+ movs r0, 0xFF\n\
+ strb r0, [r1, 0x4]\n\
+ ldr r1, _08029BEC @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r1]\n\
+ adds r0, 0x9\n\
+ str r0, [r1]\n\
+ ldr r2, _08029BF0 @ =gBattleMoveDamage\n\
+ mov r8, r2\n\
+ ldr r5, _08029BF4 @ =gBaseStats\n\
+ mov r1, r9\n\
+ ldrb r0, [r1]\n\
+ movs r4, 0x64\n\
+ muls r0, r4\n\
+ adds r0, r7, r0\n\
+ movs r1, 0xB\n\
+ bl GetMonData\n\
+ lsls r1, r0, 3\n\
+ subs r1, r0\n\
+ lsls r1, 2\n\
+ adds r1, r5\n\
+ ldrb r3, [r1, 0x1]\n\
+ mov r2, r8\n\
+ str r3, [r2]\n\
+ ldr r2, _08029BF8 @ =gBattleMoves\n\
+ ldr r0, _08029BFC @ =gCurrentMove\n\
+ ldrh r1, [r0]\n\
+ lsls r0, r1, 1\n\
+ adds r0, r1\n\
+ lsls r0, 2\n\
+ adds r0, r2\n\
+ ldrb r0, [r0, 0x1]\n\
+ muls r0, r3\n\
+ mov r1, r8\n\
+ str r0, [r1]\n\
+ mov r2, r9\n\
+ ldrb r0, [r2]\n\
+ muls r0, r4\n\
+ adds r0, r7, r0\n\
+ movs r1, 0x38\n\
+ bl GetMonData\n\
+ lsls r0, 1\n\
+ movs r1, 0x5\n\
+ bl __udivsi3\n\
+ adds r0, 0x2\n\
+ mov r2, r8\n\
+ ldr r1, [r2]\n\
+ muls r0, r1\n\
+ str r0, [r2]\n\
+ ldr r3, _08029C00 @ =gBattleMons\n\
+ ldr r1, _08029C04 @ =gBankTarget\n\
+ ldrb r2, [r1]\n\
+ movs r1, 0x58\n\
+ muls r1, r2\n\
+ adds r1, r3\n\
+ ldrh r2, [r1]\n\
+ lsls r1, r2, 3\n\
+ subs r1, r2\n\
+ lsls r1, 2\n\
+ adds r1, r5\n\
+ ldrb r1, [r1, 0x2]\n\
+ bl __divsi3\n\
+ mov r1, r8\n\
+ str r0, [r1]\n\
+ movs r1, 0x32\n\
+ bl __divsi3\n\
+ adds r2, r0, 0x2\n\
+ mov r0, r8\n\
+ str r2, [r0]\n\
+ ldr r1, _08029C08 @ =gProtectStructs\n\
+ ldrb r0, [r6]\n\
+ lsls r0, 4\n\
+ adds r0, r1\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 28\n\
+ cmp r0, 0\n\
+ bge _08029BD4\n\
+ lsls r0, r2, 4\n\
+ subs r0, r2\n\
+ movs r1, 0xA\n\
+ bl __divsi3\n\
+ mov r1, r8\n\
+ str r0, [r1]\n\
_08029BD4:\n\
- mov r2, r9\n\
- ldrb r0, [r2]\n\
- adds r0, 0x1\n\
- strb r0, [r2]\n\
- b _08029C46\n\
- .align 2, 0\n\
+ mov r2, r9\n\
+ ldrb r0, [r2]\n\
+ adds r0, 0x1\n\
+ strb r0, [r2]\n\
+ b _08029C46\n\
+ .align 2, 0\n\
_08029BE0: .4byte gBattleCommunication\n\
_08029BE4: .4byte gBattleTextBuff1\n\
_08029BE8: .4byte gBankAttacker\n\
@@ -16909,45 +16909,45 @@ _08029C00: .4byte gBattleMons\n\
_08029C04: .4byte gBankTarget\n\
_08029C08: .4byte gProtectStructs\n\
_08029C0C:\n\
- mov r0, r8\n\
- cmp r0, 0\n\
- beq _08029C2C\n\
- ldr r3, _08029C28 @ =gBattlescriptCurrInstr\n\
- ldr r2, [r3]\n\
- ldrb r1, [r2, 0x1]\n\
- ldrb r0, [r2, 0x2]\n\
- lsls r0, 8\n\
- orrs r1, r0\n\
- ldrb r0, [r2, 0x3]\n\
- lsls r0, 16\n\
- orrs r1, r0\n\
- ldrb r0, [r2, 0x4]\n\
- b _08029C40\n\
- .align 2, 0\n\
+ mov r0, r8\n\
+ cmp r0, 0\n\
+ beq _08029C2C\n\
+ ldr r3, _08029C28 @ =gBattlescriptCurrInstr\n\
+ ldr r2, [r3]\n\
+ ldrb r1, [r2, 0x1]\n\
+ ldrb r0, [r2, 0x2]\n\
+ lsls r0, 8\n\
+ orrs r1, r0\n\
+ ldrb r0, [r2, 0x3]\n\
+ lsls r0, 16\n\
+ orrs r1, r0\n\
+ ldrb r0, [r2, 0x4]\n\
+ b _08029C40\n\
+ .align 2, 0\n\
_08029C28: .4byte gBattlescriptCurrInstr\n\
_08029C2C:\n\
- ldr r3, _08029C54 @ =gBattlescriptCurrInstr\n\
- ldr r2, [r3]\n\
- ldrb r1, [r2, 0x5]\n\
- ldrb r0, [r2, 0x6]\n\
- lsls r0, 8\n\
- orrs r1, r0\n\
- ldrb r0, [r2, 0x7]\n\
- lsls r0, 16\n\
- orrs r1, r0\n\
- ldrb r0, [r2, 0x8]\n\
+ ldr r3, _08029C54 @ =gBattlescriptCurrInstr\n\
+ ldr r2, [r3]\n\
+ ldrb r1, [r2, 0x5]\n\
+ ldrb r0, [r2, 0x6]\n\
+ lsls r0, 8\n\
+ orrs r1, r0\n\
+ ldrb r0, [r2, 0x7]\n\
+ lsls r0, 16\n\
+ orrs r1, r0\n\
+ ldrb r0, [r2, 0x8]\n\
_08029C40:\n\
- lsls r0, 24\n\
- orrs r1, r0\n\
- str r1, [r3]\n\
+ lsls r0, 24\n\
+ orrs r1, r0\n\
+ str r1, [r3]\n\
_08029C46:\n\
- pop {r3,r4}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .align 2, 0\n\
+ pop {r3,r4}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
_08029C54: .4byte gBattlescriptCurrInstr\n\
.syntax divided");
}
@@ -16999,17 +16999,17 @@ static void atkC7_setminimize(void)
static void atkC8_sethail(void)
{
if (gBattleWeather & weather_hail)
- {
- gBattleMoveFlags |= MOVE_MISSED;
- gBattleCommunication[MULTISTRING_CHOOSER] = 2;
- }
- else
- {
- gBattleWeather = weather_hail;
- gBattleCommunication[MULTISTRING_CHOOSER] = 5;
- gWishFutureKnock.weatherDuration = 5;
- }
- gBattlescriptCurrInstr++;
+ {
+ gBattleMoveFlags |= MOVE_MISSED;
+ gBattleCommunication[MULTISTRING_CHOOSER] = 2;
+ }
+ else
+ {
+ gBattleWeather = weather_hail;
+ gBattleCommunication[MULTISTRING_CHOOSER] = 5;
+ gWishFutureKnock.weatherDuration = 5;
+ }
+ gBattlescriptCurrInstr++;
}
static void atkC9_jumpifattackandspecialattackcannotfall(void) //memento
@@ -17127,130 +17127,130 @@ __attribute__((naked))
static void atkD2_swap_items(void)
{
asm(".syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- sub sp, 0x4\n\
- ldr r0, _0802A30C @ =gBankAttacker\n\
- ldrb r0, [r0]\n\
- bl GetBankSide\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r0, 0x1\n\
- bne _0802A24C\n\
- ldr r0, _0802A310 @ =gBattleTypeFlags\n\
- ldrh r1, [r0]\n\
- ldr r0, _0802A314 @ =0x00000902\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _0802A24C\n\
- ldr r0, _0802A318 @ =gTrainerBattleOpponent\n\
- ldrh r1, [r0]\n\
- movs r0, 0x80\n\
- lsls r0, 3\n\
- cmp r1, r0\n\
- bne _0802A2EE\n\
+ push {r4-r7,lr}\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ sub sp, 0x4\n\
+ ldr r0, _0802A30C @ =gBankAttacker\n\
+ ldrb r0, [r0]\n\
+ bl GetBankSide\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ cmp r0, 0x1\n\
+ bne _0802A24C\n\
+ ldr r0, _0802A310 @ =gBattleTypeFlags\n\
+ ldrh r1, [r0]\n\
+ ldr r0, _0802A314 @ =0x00000902\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ bne _0802A24C\n\
+ ldr r0, _0802A318 @ =gTrainerBattleOpponent\n\
+ ldrh r1, [r0]\n\
+ movs r0, 0x80\n\
+ lsls r0, 3\n\
+ cmp r1, r0\n\
+ bne _0802A2EE\n\
_0802A24C:\n\
- ldr r4, _0802A30C @ =gBankAttacker\n\
- ldrb r0, [r4]\n\
- bl GetBankSide\n\
- lsls r0, 24\n\
- lsrs r2, r0, 24\n\
- ldr r0, _0802A310 @ =gBattleTypeFlags\n\
- ldrh r1, [r0]\n\
- ldr r0, _0802A314 @ =0x00000902\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _0802A290\n\
- ldr r0, _0802A318 @ =gTrainerBattleOpponent\n\
- ldrh r1, [r0]\n\
- movs r0, 0x80\n\
- lsls r0, 3\n\
- cmp r1, r0\n\
- beq _0802A290\n\
- ldr r0, _0802A31C @ =gWishFutureKnock\n\
- adds r0, 0x29\n\
- adds r0, r2, r0\n\
- ldrb r1, [r0]\n\
- ldr r3, _0802A320 @ =gBitTable\n\
- ldr r2, _0802A324 @ =gBattlePartyID\n\
- ldrb r0, [r4]\n\
- lsls r0, 1\n\
- adds r0, r2\n\
- ldrh r0, [r0]\n\
- lsls r0, 2\n\
- adds r0, r3\n\
- ldr r0, [r0]\n\
- ands r1, r0\n\
- cmp r1, 0\n\
- bne _0802A2EE\n\
+ ldr r4, _0802A30C @ =gBankAttacker\n\
+ ldrb r0, [r4]\n\
+ bl GetBankSide\n\
+ lsls r0, 24\n\
+ lsrs r2, r0, 24\n\
+ ldr r0, _0802A310 @ =gBattleTypeFlags\n\
+ ldrh r1, [r0]\n\
+ ldr r0, _0802A314 @ =0x00000902\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ bne _0802A290\n\
+ ldr r0, _0802A318 @ =gTrainerBattleOpponent\n\
+ ldrh r1, [r0]\n\
+ movs r0, 0x80\n\
+ lsls r0, 3\n\
+ cmp r1, r0\n\
+ beq _0802A290\n\
+ ldr r0, _0802A31C @ =gWishFutureKnock\n\
+ adds r0, 0x29\n\
+ adds r0, r2, r0\n\
+ ldrb r1, [r0]\n\
+ ldr r3, _0802A320 @ =gBitTable\n\
+ ldr r2, _0802A324 @ =gBattlePartyID\n\
+ ldrb r0, [r4]\n\
+ lsls r0, 1\n\
+ adds r0, r2\n\
+ ldrh r0, [r0]\n\
+ lsls r0, 2\n\
+ adds r0, r3\n\
+ ldr r0, [r0]\n\
+ ands r1, r0\n\
+ cmp r1, 0\n\
+ bne _0802A2EE\n\
_0802A290:\n\
- ldr r0, _0802A328 @ =gBattleMons\n\
- mov r9, r0\n\
- ldr r1, _0802A30C @ =gBankAttacker\n\
- ldrb r4, [r1]\n\
- movs r2, 0x58\n\
- mov r8, r2\n\
- mov r0, r8\n\
- muls r0, r4\n\
- mov r3, r9\n\
- adds r5, r0, r3\n\
- ldrh r3, [r5, 0x2E]\n\
- adds r1, r3, 0\n\
- cmp r1, 0\n\
- bne _0802A2BE\n\
- ldr r0, _0802A32C @ =gBankTarget\n\
- ldrb r0, [r0]\n\
- mov r2, r8\n\
- muls r2, r0\n\
- adds r0, r2, 0\n\
- add r0, r9\n\
- ldrh r0, [r0, 0x2E]\n\
- cmp r0, 0\n\
- beq _0802A2EE\n\
+ ldr r0, _0802A328 @ =gBattleMons\n\
+ mov r9, r0\n\
+ ldr r1, _0802A30C @ =gBankAttacker\n\
+ ldrb r4, [r1]\n\
+ movs r2, 0x58\n\
+ mov r8, r2\n\
+ mov r0, r8\n\
+ muls r0, r4\n\
+ mov r3, r9\n\
+ adds r5, r0, r3\n\
+ ldrh r3, [r5, 0x2E]\n\
+ adds r1, r3, 0\n\
+ cmp r1, 0\n\
+ bne _0802A2BE\n\
+ ldr r0, _0802A32C @ =gBankTarget\n\
+ ldrb r0, [r0]\n\
+ mov r2, r8\n\
+ muls r2, r0\n\
+ adds r0, r2, 0\n\
+ add r0, r9\n\
+ ldrh r0, [r0, 0x2E]\n\
+ cmp r0, 0\n\
+ beq _0802A2EE\n\
_0802A2BE:\n\
- cmp r1, 0xAF\n\
- beq _0802A2EE\n\
- ldr r7, _0802A32C @ =gBankTarget\n\
- ldrb r0, [r7]\n\
- mov r1, r8\n\
- muls r1, r0\n\
- adds r0, r1, 0\n\
- mov r1, r9\n\
- adds r2, r0, r1\n\
- ldrh r1, [r2, 0x2E]\n\
- cmp r1, 0xAF\n\
- beq _0802A2EE\n\
- adds r0, r3, 0\n\
- subs r0, 0x79\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- cmp r0, 0xB\n\
- bls _0802A2EE\n\
- adds r0, r1, 0\n\
- subs r0, 0x79\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- cmp r0, 0xB\n\
- bhi _0802A334\n\
+ cmp r1, 0xAF\n\
+ beq _0802A2EE\n\
+ ldr r7, _0802A32C @ =gBankTarget\n\
+ ldrb r0, [r7]\n\
+ mov r1, r8\n\
+ muls r1, r0\n\
+ adds r0, r1, 0\n\
+ mov r1, r9\n\
+ adds r2, r0, r1\n\
+ ldrh r1, [r2, 0x2E]\n\
+ cmp r1, 0xAF\n\
+ beq _0802A2EE\n\
+ adds r0, r3, 0\n\
+ subs r0, 0x79\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ cmp r0, 0xB\n\
+ bls _0802A2EE\n\
+ adds r0, r1, 0\n\
+ subs r0, 0x79\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ cmp r0, 0xB\n\
+ bhi _0802A334\n\
_0802A2EE:\n\
- ldr r3, _0802A330 @ =gBattlescriptCurrInstr\n\
- ldr r2, [r3]\n\
- ldrb r1, [r2, 0x1]\n\
- ldrb r0, [r2, 0x2]\n\
- lsls r0, 8\n\
- orrs r1, r0\n\
- ldrb r0, [r2, 0x3]\n\
- lsls r0, 16\n\
- orrs r1, r0\n\
- ldrb r0, [r2, 0x4]\n\
- lsls r0, 24\n\
- orrs r1, r0\n\
- str r1, [r3]\n\
- b _0802A49A\n\
- .align 2, 0\n\
+ ldr r3, _0802A330 @ =gBattlescriptCurrInstr\n\
+ ldr r2, [r3]\n\
+ ldrb r1, [r2, 0x1]\n\
+ ldrb r0, [r2, 0x2]\n\
+ lsls r0, 8\n\
+ orrs r1, r0\n\
+ ldrb r0, [r2, 0x3]\n\
+ lsls r0, 16\n\
+ orrs r1, r0\n\
+ ldrb r0, [r2, 0x4]\n\
+ lsls r0, 24\n\
+ orrs r1, r0\n\
+ str r1, [r3]\n\
+ b _0802A49A\n\
+ .align 2, 0\n\
_0802A30C: .4byte gBankAttacker\n\
_0802A310: .4byte gBattleTypeFlags\n\
_0802A314: .4byte 0x00000902\n\
@@ -17262,147 +17262,147 @@ _0802A328: .4byte gBattleMons\n\
_0802A32C: .4byte gBankTarget\n\
_0802A330: .4byte gBattlescriptCurrInstr\n\
_0802A334:\n\
- adds r0, r2, 0\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x3C\n\
- bne _0802A36C\n\
- ldr r1, _0802A360 @ =gBattlescriptCurrInstr\n\
- ldr r0, _0802A364 @ =BattleScript_NoItemSteal\n\
- str r0, [r1]\n\
- ldr r1, _0802A368 @ =gLastUsedAbility\n\
- ldrb r0, [r7]\n\
- mov r2, r8\n\
- muls r2, r0\n\
- adds r0, r2, 0\n\
- add r0, r9\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- strb r0, [r1]\n\
- ldrb r0, [r7]\n\
- ldrb r1, [r1]\n\
- bl RecordAbilityBattle\n\
- b _0802A49A\n\
- .align 2, 0\n\
+ adds r0, r2, 0\n\
+ adds r0, 0x20\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x3C\n\
+ bne _0802A36C\n\
+ ldr r1, _0802A360 @ =gBattlescriptCurrInstr\n\
+ ldr r0, _0802A364 @ =BattleScript_NoItemSteal\n\
+ str r0, [r1]\n\
+ ldr r1, _0802A368 @ =gLastUsedAbility\n\
+ ldrb r0, [r7]\n\
+ mov r2, r8\n\
+ muls r2, r0\n\
+ adds r0, r2, 0\n\
+ add r0, r9\n\
+ adds r0, 0x20\n\
+ ldrb r0, [r0]\n\
+ strb r0, [r1]\n\
+ ldrb r0, [r7]\n\
+ ldrb r1, [r1]\n\
+ bl RecordAbilityBattle\n\
+ b _0802A49A\n\
+ .align 2, 0\n\
_0802A360: .4byte gBattlescriptCurrInstr\n\
_0802A364: .4byte BattleScript_NoItemSteal\n\
_0802A368: .4byte gLastUsedAbility\n\
_0802A36C:\n\
- lsls r0, r4, 1\n\
- ldr r4, _0802A458 @ =0x020160f0\n\
- adds r6, r0, r4\n\
- ldrh r5, [r5, 0x2E]\n\
- mov r10, r5\n\
- strh r1, [r6]\n\
- ldr r3, _0802A45C @ =gBankAttacker\n\
- ldrb r0, [r3]\n\
- mov r1, r8\n\
- muls r1, r0\n\
- adds r0, r1, 0\n\
- add r0, r9\n\
- movs r1, 0\n\
- strh r1, [r0, 0x2E]\n\
- ldrb r0, [r7]\n\
- mov r2, r8\n\
- muls r2, r0\n\
- adds r0, r2, 0\n\
- add r0, r9\n\
- mov r3, r10\n\
- strh r3, [r0, 0x2E]\n\
- ldr r5, _0802A460 @ =gActiveBank\n\
- ldr r1, _0802A45C @ =gBankAttacker\n\
- ldrb r0, [r1]\n\
- strb r0, [r5]\n\
- str r6, [sp]\n\
- movs r0, 0\n\
- movs r1, 0x2\n\
- movs r2, 0\n\
- movs r3, 0x2\n\
- bl EmitSetAttributes\n\
- ldr r2, _0802A45C @ =gBankAttacker\n\
- ldrb r0, [r2]\n\
- bl MarkBufferBankForExecution\n\
- ldrb r0, [r7]\n\
- strb r0, [r5]\n\
- ldrb r0, [r7]\n\
- mov r3, r8\n\
- muls r3, r0\n\
- adds r0, r3, 0\n\
- mov r1, r9\n\
- adds r1, 0x2E\n\
- adds r0, r1\n\
- str r0, [sp]\n\
- movs r0, 0\n\
- movs r1, 0x2\n\
- movs r2, 0\n\
- movs r3, 0x2\n\
- bl EmitSetAttributes\n\
- ldrb r0, [r7]\n\
- bl MarkBufferBankForExecution\n\
- ldr r0, _0802A464 @ =0xfffe9f10\n\
- adds r4, r0\n\
- ldrb r0, [r7]\n\
- lsls r0, 1\n\
- ldr r2, _0802A468 @ =0x000160e8\n\
- adds r0, r2\n\
- adds r0, r4\n\
- movs r1, 0\n\
- strb r1, [r0]\n\
- ldrb r0, [r7]\n\
- lsls r0, 1\n\
- ldr r1, _0802A46C @ =0x000160e9\n\
- adds r0, r1\n\
- adds r0, r4\n\
- movs r3, 0\n\
- strb r3, [r0]\n\
- ldr r3, _0802A45C @ =gBankAttacker\n\
- ldrb r0, [r3]\n\
- lsls r0, 1\n\
- adds r0, r2\n\
- adds r0, r4\n\
- movs r2, 0\n\
- strb r2, [r0]\n\
- ldrb r0, [r3]\n\
- lsls r0, 1\n\
- adds r0, r1\n\
- adds r0, r4\n\
- strb r2, [r0]\n\
- ldr r1, _0802A470 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r1]\n\
- adds r0, 0x5\n\
- str r0, [r1]\n\
- ldr r1, _0802A474 @ =gBattleTextBuff1\n\
- movs r3, 0xFD\n\
- strb r3, [r1]\n\
- movs r2, 0xA\n\
- strb r2, [r1, 0x1]\n\
- ldrh r0, [r6]\n\
- strb r0, [r1, 0x2]\n\
- ldrh r0, [r6]\n\
- lsrs r0, 8\n\
- strb r0, [r1, 0x3]\n\
- movs r0, 0xFF\n\
- strb r0, [r1, 0x4]\n\
- ldr r1, _0802A478 @ =gBattleTextBuff2\n\
- strb r3, [r1]\n\
- strb r2, [r1, 0x1]\n\
- mov r3, r10\n\
- strb r3, [r1, 0x2]\n\
- mov r2, r10\n\
- lsrs r0, r2, 8\n\
- strb r0, [r1, 0x3]\n\
- movs r0, 0x1\n\
- negs r0, r0\n\
- strb r0, [r1, 0x4]\n\
- cmp r2, 0\n\
- beq _0802A480\n\
- ldrh r0, [r6]\n\
- cmp r0, 0\n\
- beq _0802A494\n\
- ldr r1, _0802A47C @ =gBattleCommunication\n\
- movs r0, 0x2\n\
- b _0802A498\n\
- .align 2, 0\n\
+ lsls r0, r4, 1\n\
+ ldr r4, _0802A458 @ =0x020160f0\n\
+ adds r6, r0, r4\n\
+ ldrh r5, [r5, 0x2E]\n\
+ mov r10, r5\n\
+ strh r1, [r6]\n\
+ ldr r3, _0802A45C @ =gBankAttacker\n\
+ ldrb r0, [r3]\n\
+ mov r1, r8\n\
+ muls r1, r0\n\
+ adds r0, r1, 0\n\
+ add r0, r9\n\
+ movs r1, 0\n\
+ strh r1, [r0, 0x2E]\n\
+ ldrb r0, [r7]\n\
+ mov r2, r8\n\
+ muls r2, r0\n\
+ adds r0, r2, 0\n\
+ add r0, r9\n\
+ mov r3, r10\n\
+ strh r3, [r0, 0x2E]\n\
+ ldr r5, _0802A460 @ =gActiveBank\n\
+ ldr r1, _0802A45C @ =gBankAttacker\n\
+ ldrb r0, [r1]\n\
+ strb r0, [r5]\n\
+ str r6, [sp]\n\
+ movs r0, 0\n\
+ movs r1, 0x2\n\
+ movs r2, 0\n\
+ movs r3, 0x2\n\
+ bl EmitSetAttributes\n\
+ ldr r2, _0802A45C @ =gBankAttacker\n\
+ ldrb r0, [r2]\n\
+ bl MarkBufferBankForExecution\n\
+ ldrb r0, [r7]\n\
+ strb r0, [r5]\n\
+ ldrb r0, [r7]\n\
+ mov r3, r8\n\
+ muls r3, r0\n\
+ adds r0, r3, 0\n\
+ mov r1, r9\n\
+ adds r1, 0x2E\n\
+ adds r0, r1\n\
+ str r0, [sp]\n\
+ movs r0, 0\n\
+ movs r1, 0x2\n\
+ movs r2, 0\n\
+ movs r3, 0x2\n\
+ bl EmitSetAttributes\n\
+ ldrb r0, [r7]\n\
+ bl MarkBufferBankForExecution\n\
+ ldr r0, _0802A464 @ =0xfffe9f10\n\
+ adds r4, r0\n\
+ ldrb r0, [r7]\n\
+ lsls r0, 1\n\
+ ldr r2, _0802A468 @ =0x000160e8\n\
+ adds r0, r2\n\
+ adds r0, r4\n\
+ movs r1, 0\n\
+ strb r1, [r0]\n\
+ ldrb r0, [r7]\n\
+ lsls r0, 1\n\
+ ldr r1, _0802A46C @ =0x000160e9\n\
+ adds r0, r1\n\
+ adds r0, r4\n\
+ movs r3, 0\n\
+ strb r3, [r0]\n\
+ ldr r3, _0802A45C @ =gBankAttacker\n\
+ ldrb r0, [r3]\n\
+ lsls r0, 1\n\
+ adds r0, r2\n\
+ adds r0, r4\n\
+ movs r2, 0\n\
+ strb r2, [r0]\n\
+ ldrb r0, [r3]\n\
+ lsls r0, 1\n\
+ adds r0, r1\n\
+ adds r0, r4\n\
+ strb r2, [r0]\n\
+ ldr r1, _0802A470 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r1]\n\
+ adds r0, 0x5\n\
+ str r0, [r1]\n\
+ ldr r1, _0802A474 @ =gBattleTextBuff1\n\
+ movs r3, 0xFD\n\
+ strb r3, [r1]\n\
+ movs r2, 0xA\n\
+ strb r2, [r1, 0x1]\n\
+ ldrh r0, [r6]\n\
+ strb r0, [r1, 0x2]\n\
+ ldrh r0, [r6]\n\
+ lsrs r0, 8\n\
+ strb r0, [r1, 0x3]\n\
+ movs r0, 0xFF\n\
+ strb r0, [r1, 0x4]\n\
+ ldr r1, _0802A478 @ =gBattleTextBuff2\n\
+ strb r3, [r1]\n\
+ strb r2, [r1, 0x1]\n\
+ mov r3, r10\n\
+ strb r3, [r1, 0x2]\n\
+ mov r2, r10\n\
+ lsrs r0, r2, 8\n\
+ strb r0, [r1, 0x3]\n\
+ movs r0, 0x1\n\
+ negs r0, r0\n\
+ strb r0, [r1, 0x4]\n\
+ cmp r2, 0\n\
+ beq _0802A480\n\
+ ldrh r0, [r6]\n\
+ cmp r0, 0\n\
+ beq _0802A494\n\
+ ldr r1, _0802A47C @ =gBattleCommunication\n\
+ movs r0, 0x2\n\
+ b _0802A498\n\
+ .align 2, 0\n\
_0802A458: .4byte 0x020160f0\n\
_0802A45C: .4byte gBankAttacker\n\
_0802A460: .4byte gActiveBank\n\
@@ -17414,30 +17414,30 @@ _0802A474: .4byte gBattleTextBuff1\n\
_0802A478: .4byte gBattleTextBuff2\n\
_0802A47C: .4byte gBattleCommunication\n\
_0802A480:\n\
- ldrh r0, [r6]\n\
- cmp r0, 0\n\
- beq _0802A494\n\
- ldr r0, _0802A490 @ =gBattleCommunication\n\
- movs r3, 0\n\
- strb r3, [r0, 0x5]\n\
- b _0802A49A\n\
- .align 2, 0\n\
+ ldrh r0, [r6]\n\
+ cmp r0, 0\n\
+ beq _0802A494\n\
+ ldr r0, _0802A490 @ =gBattleCommunication\n\
+ movs r3, 0\n\
+ strb r3, [r0, 0x5]\n\
+ b _0802A49A\n\
+ .align 2, 0\n\
_0802A490: .4byte gBattleCommunication\n\
_0802A494:\n\
- ldr r1, _0802A4AC @ =gBattleCommunication\n\
- movs r0, 0x1\n\
+ ldr r1, _0802A4AC @ =gBattleCommunication\n\
+ movs r0, 0x1\n\
_0802A498:\n\
- strb r0, [r1, 0x5]\n\
+ strb r0, [r1, 0x5]\n\
_0802A49A:\n\
- add sp, 0x4\n\
- pop {r3-r5}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- mov r10, r5\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .align 2, 0\n\
+ add sp, 0x4\n\
+ pop {r3-r5}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ mov r10, r5\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
_0802A4AC: .4byte gBattleCommunication\n\
.syntax divided");
}
@@ -17677,148 +17677,148 @@ static void atkDE_asistattackselect(void)
__attribute__((naked))
static void atkDE_asistattackselect(void)
{
- asm(".syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- sub sp, 0x8\n\
- movs r0, 0\n\
- mov r10, r0\n\
- ldr r0, _0802AB9C @ =gBankAttacker\n\
- ldrb r0, [r0]\n\
- bl GetBankIdentity\n\
- movs r1, 0x1\n\
- ands r1, r0\n\
- ldr r0, _0802ABA0 @ =gPlayerParty\n\
- str r0, [sp]\n\
- cmp r1, 0\n\
- beq _0802AAAC\n\
- ldr r1, _0802ABA4 @ =gEnemyParty\n\
- str r1, [sp]\n\
+ asm(".syntax unified\n\
+ push {r4-r7,lr}\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ sub sp, 0x8\n\
+ movs r0, 0\n\
+ mov r10, r0\n\
+ ldr r0, _0802AB9C @ =gBankAttacker\n\
+ ldrb r0, [r0]\n\
+ bl GetBankIdentity\n\
+ movs r1, 0x1\n\
+ ands r1, r0\n\
+ ldr r0, _0802ABA0 @ =gPlayerParty\n\
+ str r0, [sp]\n\
+ cmp r1, 0\n\
+ beq _0802AAAC\n\
+ ldr r1, _0802ABA4 @ =gEnemyParty\n\
+ str r1, [sp]\n\
_0802AAAC:\n\
- movs r2, 0\n\
+ movs r2, 0\n\
_0802AAAE:\n\
- ldr r1, _0802ABA8 @ =gBattlePartyID\n\
- ldr r0, _0802AB9C @ =gBankAttacker\n\
- ldrb r0, [r0]\n\
- lsls r0, 1\n\
- adds r0, r1\n\
- adds r1, r2, 0x1\n\
- str r1, [sp, 0x4]\n\
- ldrh r0, [r0]\n\
- cmp r2, r0\n\
- beq _0802AB54\n\
- movs r0, 0x64\n\
- adds r6, r2, 0\n\
- muls r6, r0\n\
- ldr r0, [sp]\n\
- adds r4, r0, r6\n\
- adds r0, r4, 0\n\
- movs r1, 0x41\n\
- bl GetMonData\n\
- cmp r0, 0\n\
- beq _0802AB54\n\
- adds r0, r4, 0\n\
- movs r1, 0x41\n\
- bl GetMonData\n\
- movs r1, 0xCE\n\
- lsls r1, 1\n\
- cmp r0, r1\n\
- beq _0802AB54\n\
- movs r5, 0\n\
- ldr r1, _0802ABAC @ =0x0000ffff\n\
- mov r8, r1\n\
- mov r9, r6\n\
- mov r1, r10\n\
- lsls r0, r1, 1\n\
- ldr r1, _0802ABB0 @ =0x02016024\n\
- adds r6, r0, r1\n\
+ ldr r1, _0802ABA8 @ =gBattlePartyID\n\
+ ldr r0, _0802AB9C @ =gBankAttacker\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 1\n\
+ adds r0, r1\n\
+ adds r1, r2, 0x1\n\
+ str r1, [sp, 0x4]\n\
+ ldrh r0, [r0]\n\
+ cmp r2, r0\n\
+ beq _0802AB54\n\
+ movs r0, 0x64\n\
+ adds r6, r2, 0\n\
+ muls r6, r0\n\
+ ldr r0, [sp]\n\
+ adds r4, r0, r6\n\
+ adds r0, r4, 0\n\
+ movs r1, 0x41\n\
+ bl GetMonData\n\
+ cmp r0, 0\n\
+ beq _0802AB54\n\
+ adds r0, r4, 0\n\
+ movs r1, 0x41\n\
+ bl GetMonData\n\
+ movs r1, 0xCE\n\
+ lsls r1, 1\n\
+ cmp r0, r1\n\
+ beq _0802AB54\n\
+ movs r5, 0\n\
+ ldr r1, _0802ABAC @ =0x0000ffff\n\
+ mov r8, r1\n\
+ mov r9, r6\n\
+ mov r1, r10\n\
+ lsls r0, r1, 1\n\
+ ldr r1, _0802ABB0 @ =0x02016024\n\
+ adds r6, r0, r1\n\
_0802AAF8:\n\
- movs r7, 0\n\
- adds r1, r5, 0\n\
- adds r1, 0xD\n\
- ldr r0, [sp]\n\
- add r0, r9\n\
- bl GetMonData\n\
- lsls r0, 16\n\
- lsrs r4, r0, 16\n\
- adds r0, r4, 0\n\
- bl IsMoveUnchoosable\n\
- lsls r0, 24\n\
- adds r1, r5, 0x1\n\
- cmp r0, 0\n\
- bne _0802AB4E\n\
- ldr r0, _0802ABB4 @ =sUnknown_081FACFE\n\
- ldrh r2, [r0]\n\
- adds r3, r0, 0\n\
- cmp r2, r8\n\
- beq _0802AB42\n\
- cmp r4, r2\n\
- beq _0802AB38\n\
- ldr r5, _0802ABAC @ =0x0000ffff\n\
- adds r2, r3, 0\n\
+ movs r7, 0\n\
+ adds r1, r5, 0\n\
+ adds r1, 0xD\n\
+ ldr r0, [sp]\n\
+ add r0, r9\n\
+ bl GetMonData\n\
+ lsls r0, 16\n\
+ lsrs r4, r0, 16\n\
+ adds r0, r4, 0\n\
+ bl IsMoveUnchoosable\n\
+ lsls r0, 24\n\
+ adds r1, r5, 0x1\n\
+ cmp r0, 0\n\
+ bne _0802AB4E\n\
+ ldr r0, _0802ABB4 @ =sUnknown_081FACFE\n\
+ ldrh r2, [r0]\n\
+ adds r3, r0, 0\n\
+ cmp r2, r8\n\
+ beq _0802AB42\n\
+ cmp r4, r2\n\
+ beq _0802AB38\n\
+ ldr r5, _0802ABAC @ =0x0000ffff\n\
+ adds r2, r3, 0\n\
_0802AB2A:\n\
- adds r2, 0x2\n\
- adds r7, 0x1\n\
- ldrh r0, [r2]\n\
- cmp r0, r5\n\
- beq _0802AB42\n\
- cmp r4, r0\n\
- bne _0802AB2A\n\
+ adds r2, 0x2\n\
+ adds r7, 0x1\n\
+ ldrh r0, [r2]\n\
+ cmp r0, r5\n\
+ beq _0802AB42\n\
+ cmp r4, r0\n\
+ bne _0802AB2A\n\
_0802AB38:\n\
- lsls r0, r7, 1\n\
- adds r0, r3\n\
- ldrh r0, [r0]\n\
- cmp r0, r8\n\
- bne _0802AB4E\n\
+ lsls r0, r7, 1\n\
+ adds r0, r3\n\
+ ldrh r0, [r0]\n\
+ cmp r0, r8\n\
+ bne _0802AB4E\n\
_0802AB42:\n\
- cmp r4, 0\n\
- beq _0802AB4E\n\
- strh r4, [r6]\n\
- adds r6, 0x2\n\
- movs r0, 0x1\n\
- add r10, r0\n\
+ cmp r4, 0\n\
+ beq _0802AB4E\n\
+ strh r4, [r6]\n\
+ adds r6, 0x2\n\
+ movs r0, 0x1\n\
+ add r10, r0\n\
_0802AB4E:\n\
- adds r5, r1, 0\n\
- cmp r5, 0x3\n\
- ble _0802AAF8\n\
+ adds r5, r1, 0\n\
+ cmp r5, 0x3\n\
+ ble _0802AAF8\n\
_0802AB54:\n\
- ldr r2, [sp, 0x4]\n\
- cmp r2, 0x5\n\
- ble _0802AAAE\n\
- mov r1, r10\n\
- cmp r1, 0\n\
- beq _0802ABCC\n\
- ldr r2, _0802ABB8 @ =gHitMarker\n\
- ldr r0, [r2]\n\
- ldr r1, _0802ABBC @ =0xfffffbff\n\
- ands r0, r1\n\
- str r0, [r2]\n\
- ldr r4, _0802ABC0 @ =gRandomMove\n\
- bl Random\n\
- movs r1, 0xFF\n\
- ands r1, r0\n\
- mov r0, r10\n\
- muls r0, r1\n\
- asrs r0, 8\n\
- lsls r0, 1\n\
- ldr r1, _0802ABB0 @ =0x02016024\n\
- adds r0, r1\n\
- ldrh r0, [r0]\n\
- strh r0, [r4]\n\
- ldrh r0, [r4]\n\
- movs r1, 0\n\
- bl sub_801B5C0\n\
- ldr r1, _0802ABC4 @ =gBankTarget\n\
- strb r0, [r1]\n\
- ldr r1, _0802ABC8 @ =gBattlescriptCurrInstr\n\
- ldr r0, [r1]\n\
- adds r0, 0x5\n\
- str r0, [r1]\n\
- b _0802ABE6\n\
- .align 2, 0\n\
+ ldr r2, [sp, 0x4]\n\
+ cmp r2, 0x5\n\
+ ble _0802AAAE\n\
+ mov r1, r10\n\
+ cmp r1, 0\n\
+ beq _0802ABCC\n\
+ ldr r2, _0802ABB8 @ =gHitMarker\n\
+ ldr r0, [r2]\n\
+ ldr r1, _0802ABBC @ =0xfffffbff\n\
+ ands r0, r1\n\
+ str r0, [r2]\n\
+ ldr r4, _0802ABC0 @ =gRandomMove\n\
+ bl Random\n\
+ movs r1, 0xFF\n\
+ ands r1, r0\n\
+ mov r0, r10\n\
+ muls r0, r1\n\
+ asrs r0, 8\n\
+ lsls r0, 1\n\
+ ldr r1, _0802ABB0 @ =0x02016024\n\
+ adds r0, r1\n\
+ ldrh r0, [r0]\n\
+ strh r0, [r4]\n\
+ ldrh r0, [r4]\n\
+ movs r1, 0\n\
+ bl sub_801B5C0\n\
+ ldr r1, _0802ABC4 @ =gBankTarget\n\
+ strb r0, [r1]\n\
+ ldr r1, _0802ABC8 @ =gBattlescriptCurrInstr\n\
+ ldr r0, [r1]\n\
+ adds r0, 0x5\n\
+ str r0, [r1]\n\
+ b _0802ABE6\n\
+ .align 2, 0\n\
_0802AB9C: .4byte gBankAttacker\n\
_0802ABA0: .4byte gPlayerParty\n\
_0802ABA4: .4byte gEnemyParty\n\
@@ -17832,176 +17832,176 @@ _0802ABC0: .4byte gRandomMove\n\
_0802ABC4: .4byte gBankTarget\n\
_0802ABC8: .4byte gBattlescriptCurrInstr\n\
_0802ABCC:\n\
- ldr r3, _0802ABF8 @ =gBattlescriptCurrInstr\n\
- ldr r2, [r3]\n\
- ldrb r1, [r2, 0x1]\n\
- ldrb r0, [r2, 0x2]\n\
- lsls r0, 8\n\
- orrs r1, r0\n\
- ldrb r0, [r2, 0x3]\n\
- lsls r0, 16\n\
- orrs r1, r0\n\
- ldrb r0, [r2, 0x4]\n\
- lsls r0, 24\n\
- orrs r1, r0\n\
- str r1, [r3]\n\
+ ldr r3, _0802ABF8 @ =gBattlescriptCurrInstr\n\
+ ldr r2, [r3]\n\
+ ldrb r1, [r2, 0x1]\n\
+ ldrb r0, [r2, 0x2]\n\
+ lsls r0, 8\n\
+ orrs r1, r0\n\
+ ldrb r0, [r2, 0x3]\n\
+ lsls r0, 16\n\
+ orrs r1, r0\n\
+ ldrb r0, [r2, 0x4]\n\
+ lsls r0, 24\n\
+ orrs r1, r0\n\
+ str r1, [r3]\n\
_0802ABE6:\n\
- add sp, 0x8\n\
- pop {r3-r5}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- mov r10, r5\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .align 2, 0\n\
+ add sp, 0x8\n\
+ pop {r3-r5}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ mov r10, r5\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
_0802ABF8: .4byte gBattlescriptCurrInstr\n\
- .syntax divided");
+ .syntax divided");
}
#endif // NONMATCHING
static void atkDF_setmagiccoat(void)
{
- gBankTarget = gBankAttacker;
- gSpecialStatuses[gBankAttacker].flag20 = 1;
- if (gCurrentMoveTurn == gNoOfAllBanks - 1) //last turn
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
- else
- {
- gProtectStructs[gBankAttacker].bounceMove = 1;
- gBattlescriptCurrInstr += 5;
- }
+ gBankTarget = gBankAttacker;
+ gSpecialStatuses[gBankAttacker].flag20 = 1;
+ if (gCurrentMoveTurn == gNoOfAllBanks - 1) //last turn
+ gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ else
+ {
+ gProtectStructs[gBankAttacker].bounceMove = 1;
+ gBattlescriptCurrInstr += 5;
+ }
}
static void atkE0_setstealstatchange(void)
{
- gSpecialStatuses[gBankAttacker].flag20 = 1;
- if (gCurrentMoveTurn == gNoOfAllBanks - 1) //last turn
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
- else
- {
- gProtectStructs[gBankAttacker].stealMove = 1;
- gBattlescriptCurrInstr += 5;
- }
+ gSpecialStatuses[gBankAttacker].flag20 = 1;
+ if (gCurrentMoveTurn == gNoOfAllBanks - 1) //last turn
+ gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ else
+ {
+ gProtectStructs[gBankAttacker].stealMove = 1;
+ gBattlescriptCurrInstr += 5;
+ }
}
static void atkE1_intimidate_string_loader(void)
{
- u8 side;
+ u8 side;
- BATTLE_STRUCT->scriptingActive = ewram[0x160dd];
- side = GetBankSide(BATTLE_STRUCT->scriptingActive);
+ BATTLE_STRUCT->scriptingActive = ewram[0x160dd];
+ side = GetBankSide(BATTLE_STRUCT->scriptingActive);
gBattleTextBuff1[0] = 0xFD;
gBattleTextBuff1[1] = 9;
gBattleTextBuff1[2] = gBattleMons[BATTLE_STRUCT->scriptingActive].ability;
gBattleTextBuff1[3] = 0xFF;
for (;gBankTarget < gNoOfAllBanks; gBankTarget++)
- {
- if (GetBankSide(gBankTarget) == side)
- continue;
- if (!(gAbsentBankFlags & gBitTable[gBankTarget]))
- break;
- }
+ {
+ if (GetBankSide(gBankTarget) == side)
+ continue;
+ if (!(gAbsentBankFlags & gBitTable[gBankTarget]))
+ break;
+ }
- if (gBankTarget >= gNoOfAllBanks)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
- else
- gBattlescriptCurrInstr += 5;
+ if (gBankTarget >= gNoOfAllBanks)
+ gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ else
+ gBattlescriptCurrInstr += 5;
}
static void atkE2_switchout_abilities(void)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
- switch (gBattleMons[gActiveBank].ability)
- {
- case ABILITY_NATURAL_CURE:
- gBattleMons[gActiveBank].status1 = 0;
- EmitSetAttributes(0, REQUEST_STATUS_BATTLE, gBitTable[ewram[gActiveBank + 0x16064]], 4, &gBattleMons[gActiveBank].status1);
- MarkBufferBankForExecution(gActiveBank);
- break;
- }
- gBattlescriptCurrInstr += 2;
+ gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ switch (gBattleMons[gActiveBank].ability)
+ {
+ case ABILITY_NATURAL_CURE:
+ gBattleMons[gActiveBank].status1 = 0;
+ EmitSetAttributes(0, REQUEST_STATUS_BATTLE, gBitTable[ewram[gActiveBank + 0x16064]], 4, &gBattleMons[gActiveBank].status1);
+ MarkBufferBankForExecution(gActiveBank);
+ break;
+ }
+ gBattlescriptCurrInstr += 2;
}
static void atkE3_jumpiffainted(void)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
- if (gBattleMons[gActiveBank].hp == 0)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2);
- else
- gBattlescriptCurrInstr += 6;
+ gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ if (gBattleMons[gActiveBank].hp == 0)
+ gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2);
+ else
+ gBattlescriptCurrInstr += 6;
}
static void atkE4_getsecretpowereffect(void)
{
- switch (gBattleTerrain)
- {
- case 0:
- gBattleCommunication[MOVE_EFFECT_BYTE] = 2;
- break;
- case 1:
- gBattleCommunication[MOVE_EFFECT_BYTE] = 1;
- break;
- case 2:
- gBattleCommunication[MOVE_EFFECT_BYTE] = 27;
- break;
- case 3:
- gBattleCommunication[MOVE_EFFECT_BYTE] = 23;
- break;
- case 4:
- gBattleCommunication[MOVE_EFFECT_BYTE] = 22;
- break;
- case 5:
- gBattleCommunication[MOVE_EFFECT_BYTE] = 24;
- break;
- case 6:
- gBattleCommunication[MOVE_EFFECT_BYTE] = 7;
- break;
- case 7:
- gBattleCommunication[MOVE_EFFECT_BYTE] = 8;
- break;
- default:
- gBattleCommunication[MOVE_EFFECT_BYTE] = 5;
- break;
- }
- gBattlescriptCurrInstr++;
+ switch (gBattleTerrain)
+ {
+ case 0:
+ gBattleCommunication[MOVE_EFFECT_BYTE] = 2;
+ break;
+ case 1:
+ gBattleCommunication[MOVE_EFFECT_BYTE] = 1;
+ break;
+ case 2:
+ gBattleCommunication[MOVE_EFFECT_BYTE] = 27;
+ break;
+ case 3:
+ gBattleCommunication[MOVE_EFFECT_BYTE] = 23;
+ break;
+ case 4:
+ gBattleCommunication[MOVE_EFFECT_BYTE] = 22;
+ break;
+ case 5:
+ gBattleCommunication[MOVE_EFFECT_BYTE] = 24;
+ break;
+ case 6:
+ gBattleCommunication[MOVE_EFFECT_BYTE] = 7;
+ break;
+ case 7:
+ gBattleCommunication[MOVE_EFFECT_BYTE] = 8;
+ break;
+ default:
+ gBattleCommunication[MOVE_EFFECT_BYTE] = 5;
+ break;
+ }
+ gBattlescriptCurrInstr++;
}
static void atkE5_pickup(void)
{
- int i;
- for (i = 0; i < 6; i++)
- {
+ int i;
+ for (i = 0; i < 6; i++)
+ {
u16 species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2);
- u16 held_item = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM);
- u8 ability;
- if (GetMonData(&gPlayerParty[i], MON_DATA_ALT_ABILITY))
- ability = gBaseStats[species].ability2;
- else
- ability = gBaseStats[species].ability1;
-
- if (ability == ABILITY_PICKUP && species != 0 && species != SPECIES_EGG && held_item == 0 && (Random() % 10) == 0)
- {
+ u16 held_item = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM);
+ u8 ability;
+ if (GetMonData(&gPlayerParty[i], MON_DATA_ALT_ABILITY))
+ ability = gBaseStats[species].ability2;
+ else
+ ability = gBaseStats[species].ability1;
+
+ if (ability == ABILITY_PICKUP && species != 0 && species != SPECIES_EGG && held_item == 0 && (Random() % 10) == 0)
+ {
s32 chance = Random() % 100;
s32 j;
for (j = 0; j < 18; j += 2)
- {
+ {
if (sPickupItems[j + 1] > chance)
- break;
- }
- SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, (const void*) &sPickupItems[j]);
- }
- }
- gBattlescriptCurrInstr++;
+ break;
+ }
+ SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, (const void*) &sPickupItems[j]);
+ }
+ }
+ gBattlescriptCurrInstr++;
}
static void atkE6_castform_change_animation(void)
{
gActiveBank = BATTLE_STRUCT->scriptingActive;
- if (gBattleMons[gActiveBank].status2 & STATUS2_SUBSTITUTE)
- BATTLE_STRUCT->castformToChangeInto |= 0x80;
+ if (gBattleMons[gActiveBank].status2 & STATUS2_SUBSTITUTE)
+ BATTLE_STRUCT->castformToChangeInto |= 0x80;
EmitBattleAnimation(0, 0, BATTLE_STRUCT->castformToChangeInto);
MarkBufferBankForExecution(gActiveBank);
gBattlescriptCurrInstr++;
@@ -18009,301 +18009,301 @@ static void atkE6_castform_change_animation(void)
static void atkE7_castform_data_change(void)
{
- u8 form;
- gBattlescriptCurrInstr++;
- form = castform_switch(BATTLE_STRUCT->scriptingActive);
- if (form)
- {
- b_push_move_exec(gUnknown_081D977D);
- BATTLE_STRUCT->castformToChangeInto = form - 1;
- }
+ u8 form;
+ gBattlescriptCurrInstr++;
+ form = castform_switch(BATTLE_STRUCT->scriptingActive);
+ if (form)
+ {
+ b_push_move_exec(gUnknown_081D977D);
+ BATTLE_STRUCT->castformToChangeInto = form - 1;
+ }
}
static void atkE8_settypebasedhalvers(void) //water/mud sport
{
- bool8 worked = FALSE;
+ bool8 worked = FALSE;
if (gBattleMoves[gCurrentMove].effect == EFFECT_MUD_SPORT)
- {
- if (!(gStatuses3[gBankAttacker] & STATUS3_MUDSPORT))
- {
- gStatuses3[gBankAttacker] |= STATUS3_MUDSPORT;
- gBattleCommunication[MULTISTRING_CHOOSER] = 0;
- worked = TRUE;
- }
- }
- else //water sport
- {
- if (!(gStatuses3[gBankAttacker] & STATUS3_WATERSPORT))
- {
- gStatuses3[gBankAttacker] |= STATUS3_WATERSPORT;
- gBattleCommunication[MULTISTRING_CHOOSER] = 1;
- worked = TRUE;
- }
- }
- if (worked)
- gBattlescriptCurrInstr += 5;
- else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ {
+ if (!(gStatuses3[gBankAttacker] & STATUS3_MUDSPORT))
+ {
+ gStatuses3[gBankAttacker] |= STATUS3_MUDSPORT;
+ gBattleCommunication[MULTISTRING_CHOOSER] = 0;
+ worked = TRUE;
+ }
+ }
+ else //water sport
+ {
+ if (!(gStatuses3[gBankAttacker] & STATUS3_WATERSPORT))
+ {
+ gStatuses3[gBankAttacker] |= STATUS3_WATERSPORT;
+ gBattleCommunication[MULTISTRING_CHOOSER] = 1;
+ worked = TRUE;
+ }
+ }
+ if (worked)
+ gBattlescriptCurrInstr += 5;
+ else
+ gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
}
static void atkE9_setweatherballtype(void)
{
- if (WeatherHasEffect)
- {
- if ((u8)(gBattleWeather))
- BATTLE_STRUCT->dmgMultiplier = 2;
+ if (WeatherHasEffect)
+ {
+ if ((u8)(gBattleWeather))
+ BATTLE_STRUCT->dmgMultiplier = 2;
if (gBattleWeather & WEATHER_RAINY)
- BATTLE_STRUCT->dynamicMoveType = TYPE_WATER | 0x80;
- else if (gBattleWeather & WEATHER_SANDSTORMY)
- BATTLE_STRUCT->dynamicMoveType = TYPE_ROCK | 0x80;
- else if (gBattleWeather & WEATHER_SUNNY)
- BATTLE_STRUCT->dynamicMoveType = TYPE_FIRE | 0x80;
- else if (gBattleWeather & weather_hail)
- BATTLE_STRUCT->dynamicMoveType = TYPE_ICE | 0x80;
- else
- BATTLE_STRUCT->dynamicMoveType = TYPE_NORMAL | 0x80;
- }
- gBattlescriptCurrInstr++;
+ BATTLE_STRUCT->dynamicMoveType = TYPE_WATER | 0x80;
+ else if (gBattleWeather & WEATHER_SANDSTORMY)
+ BATTLE_STRUCT->dynamicMoveType = TYPE_ROCK | 0x80;
+ else if (gBattleWeather & WEATHER_SUNNY)
+ BATTLE_STRUCT->dynamicMoveType = TYPE_FIRE | 0x80;
+ else if (gBattleWeather & weather_hail)
+ BATTLE_STRUCT->dynamicMoveType = TYPE_ICE | 0x80;
+ else
+ BATTLE_STRUCT->dynamicMoveType = TYPE_NORMAL | 0x80;
+ }
+ gBattlescriptCurrInstr++;
}
static void atkEA_recycleitem(void)
{
- u16* used_item;
- gActiveBank = gBankAttacker;
- used_item = UsedHeldItem(gActiveBank);
- if (*used_item && gBattleMons[gActiveBank].item == 0)
- {
+ u16* used_item;
+ gActiveBank = gBankAttacker;
+ used_item = UsedHeldItem(gActiveBank);
+ if (*used_item && gBattleMons[gActiveBank].item == 0)
+ {
gLastUsedItem = *used_item;
*used_item = 0;
gBattleMons[gActiveBank].item = gLastUsedItem;
EmitSetAttributes(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gActiveBank].item);
MarkBufferBankForExecution(gActiveBank);
- gBattlescriptCurrInstr += 5;
- }
- else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr += 5;
+ }
+ else
+ gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
}
static void atkEB_settypetoterrain(void)
{
- if (gBattleMons[gBankAttacker].type1 != sTerrainToType[gBattleTerrain] && gBattleMons[gBankAttacker].type2 != sTerrainToType[gBattleTerrain])
- {
- gBattleMons[gBankAttacker].type1 = sTerrainToType[gBattleTerrain];
- gBattleMons[gBankAttacker].type2 = sTerrainToType[gBattleTerrain];
- gBattleTextBuff1[0] = 0xFD;
- gBattleTextBuff1[1] = 3;
- gBattleTextBuff1[2] = sTerrainToType[gBattleTerrain];
- gBattleTextBuff1[3] = 0xFF;
- gBattlescriptCurrInstr += 5;
- }
- else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ if (gBattleMons[gBankAttacker].type1 != sTerrainToType[gBattleTerrain] && gBattleMons[gBankAttacker].type2 != sTerrainToType[gBattleTerrain])
+ {
+ gBattleMons[gBankAttacker].type1 = sTerrainToType[gBattleTerrain];
+ gBattleMons[gBankAttacker].type2 = sTerrainToType[gBattleTerrain];
+ gBattleTextBuff1[0] = 0xFD;
+ gBattleTextBuff1[1] = 3;
+ gBattleTextBuff1[2] = sTerrainToType[gBattleTerrain];
+ gBattleTextBuff1[3] = 0xFF;
+ gBattlescriptCurrInstr += 5;
+ }
+ else
+ gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
}
static void atkEC_pursuit_sth(void)
{
- gActiveBank = GetBankByPlayerAI(GetBankIdentity(gBankAttacker) ^ 2);
- if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBankFlags & gBitTable[gActiveBank]) && gActionForBanks[gActiveBank] == 0 && gChosenMovesByBanks[gActiveBank] == MOVE_PURSUIT)
- {
- gUnknown_02024A76[gActiveBank] = 11;
- gCurrentMove = MOVE_PURSUIT;
- gBattlescriptCurrInstr += 5;
- BATTLE_STRUCT->animTurn = 1;
+ gActiveBank = GetBankByPlayerAI(GetBankIdentity(gBankAttacker) ^ 2);
+ if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBankFlags & gBitTable[gActiveBank]) && gActionForBanks[gActiveBank] == 0 && gChosenMovesByBanks[gActiveBank] == MOVE_PURSUIT)
+ {
+ gUnknown_02024A76[gActiveBank] = 11;
+ gCurrentMove = MOVE_PURSUIT;
+ gBattlescriptCurrInstr += 5;
+ BATTLE_STRUCT->animTurn = 1;
BATTLE_STRUCT->unk160A7 = gBankAttacker;
gBankAttacker = gActiveBank;
- }
- else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ }
+ else
+ gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
}
static void atkED_802B4B4(void)
{
gEffectBank = gBankAttacker;
- if (gBankAttacker == gBankTarget)
+ if (gBankAttacker == gBankTarget)
gBankAttacker = gBankTarget = BATTLE_STRUCT->scriptingActive;
- else
- gBankTarget = BATTLE_STRUCT->scriptingActive;
- BATTLE_STRUCT->scriptingActive = gEffectBank;
- gBattlescriptCurrInstr++;
+ else
+ gBankTarget = BATTLE_STRUCT->scriptingActive;
+ BATTLE_STRUCT->scriptingActive = gEffectBank;
+ gBattlescriptCurrInstr++;
}
static void atkEE_removelightscreenreflect(void) //brick break
{
- u8 side = GetBankSide(gBankAttacker) ^ 1;
- if (gSideTimer[side].reflectTimer || gSideTimer[side].lightscreenTimer)
- {
+ u8 side = GetBankSide(gBankAttacker) ^ 1;
+ if (gSideTimer[side].reflectTimer || gSideTimer[side].lightscreenTimer)
+ {
gSideAffecting[side] &= ~(SIDE_REFLECT);
gSideAffecting[side] &= ~(SIDE_LIGHTSCREEN);
- gSideTimer[side].reflectTimer = 0;
- gSideTimer[side].lightscreenTimer = 0;
- BATTLE_STRUCT->animTurn = 1;
- BATTLE_STRUCT->animTargetsHit = 1;
- }
- else
- {
- BATTLE_STRUCT->animTurn = 0;
- BATTLE_STRUCT->animTargetsHit = 0;
- }
- gBattlescriptCurrInstr++;
+ gSideTimer[side].reflectTimer = 0;
+ gSideTimer[side].lightscreenTimer = 0;
+ BATTLE_STRUCT->animTurn = 1;
+ BATTLE_STRUCT->animTargetsHit = 1;
+ }
+ else
+ {
+ BATTLE_STRUCT->animTurn = 0;
+ BATTLE_STRUCT->animTargetsHit = 0;
+ }
+ gBattlescriptCurrInstr++;
}
static void atkEF_pokeball_catch_calculation(void)
{
- u8 ball_multiplier = 0;
- if (gBattleExecBuffer)
- return;
+ u8 ball_multiplier = 0;
+ if (gBattleExecBuffer)
+ return;
gActiveBank = gBankAttacker;
gBankTarget = gBankAttacker ^ 1;
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
- {
- EmitBallThrowAnim(0, 5);
- MarkBufferBankForExecution(gActiveBank);
- gBattlescriptCurrInstr = BattleScript_TrainerBallBlock;
- }
- else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL)
- {
- EmitBallThrowAnim(0, 4);
- MarkBufferBankForExecution(gActiveBank);
- gBattlescriptCurrInstr = BattleScript_WallyBallThrow;
- }
- else
- {
- u32 odds;
- u8 catch_rate;
- if (gLastUsedItem == ITEM_SAFARI_BALL)
- catch_rate = BATTLE_STRUCT->unk16089 * 1275 / 100; //correct the name to safariFleeRate
- else
- catch_rate = gBaseStats[gBattleMons[gBankTarget].species].catchRate;
- if (gLastUsedItem > 5)
- {
- switch (gLastUsedItem)
- {
- case ITEM_NET_BALL:
- if (gBattleMons[gBankTarget].type1 == TYPE_WATER || gBattleMons[gBankTarget].type2 == TYPE_WATER || gBattleMons[gBankTarget].type1 == TYPE_BUG || gBattleMons[gBankTarget].type2 == TYPE_BUG)
- ball_multiplier = 30;
- else
- ball_multiplier = 10;
- break;
- case ITEM_DIVE_BALL:
- if (sav1_map_get_light_level() == 5)
- ball_multiplier = 35;
- else
- ball_multiplier = 10;
- break;
- case ITEM_NEST_BALL:
- if (gBattleMons[gBankTarget].level <= 39)
- {
- ball_multiplier = 40 - gBattleMons[gBankTarget].level;
- if (ball_multiplier <= 9)
- ball_multiplier = 10;
- }
- else
- ball_multiplier = 10;
- break;
- case ITEM_REPEAT_BALL:
- if (GetNationalPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBankTarget].species), 1))
- ball_multiplier = 30;
- else
- ball_multiplier = 10;
- break;
- case ITEM_TIMER_BALL:
- ball_multiplier = gBattleResults.battleTurnCounter + 10;
- if (ball_multiplier > 40)
- ball_multiplier = 40;
- break;
- case ITEM_LUXURY_BALL:
- case ITEM_PREMIER_BALL:
- ball_multiplier = 10;
- break;
- }
- }
- else
- ball_multiplier = sBallCatchBonuses[gLastUsedItem - 2];
-
- odds = (catch_rate * ball_multiplier / 10) * (gBattleMons[gBankTarget].maxHP * 3 - gBattleMons[gBankTarget].hp * 2) / (3 * gBattleMons[gBankTarget].maxHP);
- if (gBattleMons[gBankTarget].status1 & (STATUS_SLEEP | STATUS_FREEZE))
- odds *= 2;
- if (gBattleMons[gBankTarget].status1 & (STATUS_POISON | STATUS_BURN | STATUS_PARALYSIS /*| STATUS_TOXIC_POISON */)) //nice one gf
- odds = (odds * 15) / 10;
-
- //I have NO CLUE how to fix that.
- if (gLastUsedItem != ITEM_SAFARI_BALL)
- {
- register u16* item asm("r1") = &gLastUsedItem;
- if (*item == ITEM_MASTER_BALL)
- gBattleResults.unk5_1 = 1;
- else
- {
- u8* a = &((u8*)(&gBattleResults))[0];
- asm("ldrh r1, [r1]\n\
- add r0, r0, r1");
- if ((a)[0x34] < 0xFF)
- {
- a[0x34] += 1;
- }
- }
- }
- if (odds > 254) //poke caught
- {
- EmitBallThrowAnim(0, 4);
- MarkBufferBankForExecution(gActiveBank);
- gBattlescriptCurrInstr = BattleScript_SuccessBallThrow;
- SetMonData(&gEnemyParty[gBattlePartyID[gBankTarget]], MON_DATA_POKEBALL, (const void*) &gLastUsedItem);
- if (CalculatePlayerPartyCount() == 6)
- gBattleCommunication[MULTISTRING_CHOOSER] = 0;
- else
- gBattleCommunication[MULTISTRING_CHOOSER] = 1;
- }
- else //poke may be caught, calculate shakes
- {
- u8 shakes;
- odds = Sqrt(Sqrt(16711680 / odds));
- odds = 1048560 / odds;
- for (shakes = 0; shakes < 4 && Random() < odds; shakes++) {}
+ {
+ EmitBallThrowAnim(0, 5);
+ MarkBufferBankForExecution(gActiveBank);
+ gBattlescriptCurrInstr = BattleScript_TrainerBallBlock;
+ }
+ else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL)
+ {
+ EmitBallThrowAnim(0, 4);
+ MarkBufferBankForExecution(gActiveBank);
+ gBattlescriptCurrInstr = BattleScript_WallyBallThrow;
+ }
+ else
+ {
+ u32 odds;
+ u8 catch_rate;
+ if (gLastUsedItem == ITEM_SAFARI_BALL)
+ catch_rate = BATTLE_STRUCT->unk16089 * 1275 / 100; //correct the name to safariFleeRate
+ else
+ catch_rate = gBaseStats[gBattleMons[gBankTarget].species].catchRate;
+ if (gLastUsedItem > 5)
+ {
+ switch (gLastUsedItem)
+ {
+ case ITEM_NET_BALL:
+ if (gBattleMons[gBankTarget].type1 == TYPE_WATER || gBattleMons[gBankTarget].type2 == TYPE_WATER || gBattleMons[gBankTarget].type1 == TYPE_BUG || gBattleMons[gBankTarget].type2 == TYPE_BUG)
+ ball_multiplier = 30;
+ else
+ ball_multiplier = 10;
+ break;
+ case ITEM_DIVE_BALL:
+ if (sav1_map_get_light_level() == 5)
+ ball_multiplier = 35;
+ else
+ ball_multiplier = 10;
+ break;
+ case ITEM_NEST_BALL:
+ if (gBattleMons[gBankTarget].level <= 39)
+ {
+ ball_multiplier = 40 - gBattleMons[gBankTarget].level;
+ if (ball_multiplier <= 9)
+ ball_multiplier = 10;
+ }
+ else
+ ball_multiplier = 10;
+ break;
+ case ITEM_REPEAT_BALL:
+ if (GetNationalPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBankTarget].species), 1))
+ ball_multiplier = 30;
+ else
+ ball_multiplier = 10;
+ break;
+ case ITEM_TIMER_BALL:
+ ball_multiplier = gBattleResults.battleTurnCounter + 10;
+ if (ball_multiplier > 40)
+ ball_multiplier = 40;
+ break;
+ case ITEM_LUXURY_BALL:
+ case ITEM_PREMIER_BALL:
+ ball_multiplier = 10;
+ break;
+ }
+ }
+ else
+ ball_multiplier = sBallCatchBonuses[gLastUsedItem - 2];
+
+ odds = (catch_rate * ball_multiplier / 10) * (gBattleMons[gBankTarget].maxHP * 3 - gBattleMons[gBankTarget].hp * 2) / (3 * gBattleMons[gBankTarget].maxHP);
+ if (gBattleMons[gBankTarget].status1 & (STATUS_SLEEP | STATUS_FREEZE))
+ odds *= 2;
+ if (gBattleMons[gBankTarget].status1 & (STATUS_POISON | STATUS_BURN | STATUS_PARALYSIS /*| STATUS_TOXIC_POISON */)) //nice one gf
+ odds = (odds * 15) / 10;
+
+ //I have NO CLUE how to fix that.
+ if (gLastUsedItem != ITEM_SAFARI_BALL)
+ {
+ register u16* item asm("r1") = &gLastUsedItem;
+ if (*item == ITEM_MASTER_BALL)
+ gBattleResults.unk5_1 = 1;
+ else
+ {
+ u8* a = &((u8*)(&gBattleResults))[0];
+ asm("ldrh r1, [r1]\n\
+ add r0, r0, r1");
+ if ((a)[0x34] < 0xFF)
+ {
+ a[0x34] += 1;
+ }
+ }
+ }
+ if (odds > 254) //poke caught
+ {
+ EmitBallThrowAnim(0, 4);
+ MarkBufferBankForExecution(gActiveBank);
+ gBattlescriptCurrInstr = BattleScript_SuccessBallThrow;
+ SetMonData(&gEnemyParty[gBattlePartyID[gBankTarget]], MON_DATA_POKEBALL, (const void*) &gLastUsedItem);
+ if (CalculatePlayerPartyCount() == 6)
+ gBattleCommunication[MULTISTRING_CHOOSER] = 0;
+ else
+ gBattleCommunication[MULTISTRING_CHOOSER] = 1;
+ }
+ else //poke may be caught, calculate shakes
+ {
+ u8 shakes;
+ odds = Sqrt(Sqrt(16711680 / odds));
+ odds = 1048560 / odds;
+ for (shakes = 0; shakes < 4 && Random() < odds; shakes++) {}
if (gLastUsedItem == ITEM_MASTER_BALL)
- shakes = 4; //why calculate the shakes before that check?
- EmitBallThrowAnim(0, shakes);
- MarkBufferBankForExecution(gActiveBank);
- if (shakes == 4) //poke caught, copy of the code above
- {
- gBattlescriptCurrInstr = BattleScript_SuccessBallThrow;
- SetMonData(&gEnemyParty[gBattlePartyID[gBankTarget]], MON_DATA_POKEBALL, (const void*) &gLastUsedItem);
- if (CalculatePlayerPartyCount() == 6)
- gBattleCommunication[MULTISTRING_CHOOSER] = 0;
- else
- gBattleCommunication[MULTISTRING_CHOOSER] = 1;
- }
- else //rip
- {
- gBattleCommunication[MULTISTRING_CHOOSER] = shakes;
- gBattlescriptCurrInstr = BattleScript_ShakeBallThrow;
- }
- }
- }
+ shakes = 4; //why calculate the shakes before that check?
+ EmitBallThrowAnim(0, shakes);
+ MarkBufferBankForExecution(gActiveBank);
+ if (shakes == 4) //poke caught, copy of the code above
+ {
+ gBattlescriptCurrInstr = BattleScript_SuccessBallThrow;
+ SetMonData(&gEnemyParty[gBattlePartyID[gBankTarget]], MON_DATA_POKEBALL, (const void*) &gLastUsedItem);
+ if (CalculatePlayerPartyCount() == 6)
+ gBattleCommunication[MULTISTRING_CHOOSER] = 0;
+ else
+ gBattleCommunication[MULTISTRING_CHOOSER] = 1;
+ }
+ else //rip
+ {
+ gBattleCommunication[MULTISTRING_CHOOSER] = shakes;
+ gBattlescriptCurrInstr = BattleScript_ShakeBallThrow;
+ }
+ }
+ }
}
static void atkF0_copy_caught_poke(void)
{
- GiveMonToPlayer(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]]);
- gBattleResults.caughtPoke = gBattleMons[gBankAttacker ^ 1].species;
- GetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]], MON_DATA_NICKNAME, gBattleResults.caughtNick);
- gBattlescriptCurrInstr++;
+ GiveMonToPlayer(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]]);
+ gBattleResults.caughtPoke = gBattleMons[gBankAttacker ^ 1].species;
+ GetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]], MON_DATA_NICKNAME, gBattleResults.caughtNick);
+ gBattlescriptCurrInstr++;
}
static void atkF1_setpoke_as_caught(void)
{
- if (GetNationalPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBankTarget].species), 1))
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
- else
- {
- GetNationalPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBankTarget].species), 3);
- if (gBattleMons[gBankTarget].species == SPECIES_UNOWN)
- gSaveBlock2.pokedex.unownPersonality = gBattleMons[gBankTarget].personality;
- if (gBattleMons[gBankTarget].species == SPECIES_SPINDA) //else if
- gSaveBlock2.pokedex.spindaPersonality = gBattleMons[gBankTarget].personality;
- gBattlescriptCurrInstr += 5;
- }
+ if (GetNationalPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBankTarget].species), 1))
+ gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ else
+ {
+ GetNationalPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBankTarget].species), 3);
+ if (gBattleMons[gBankTarget].species == SPECIES_UNOWN)
+ gSaveBlock2.pokedex.unownPersonality = gBattleMons[gBankTarget].personality;
+ if (gBattleMons[gBankTarget].species == SPECIES_SPINDA) //else if
+ gSaveBlock2.pokedex.spindaPersonality = gBattleMons[gBankTarget].personality;
+ gBattlescriptCurrInstr += 5;
+ }
}
extern const u32 gBattleTerrainTiles_Building[];
@@ -18312,208 +18312,208 @@ extern const u32 gBattleTerrainPalette_BattleTower[];
static void atkF2_display_dex_info(void)
{
- switch (gBattleCommunication[0])
- {
- case 0:
- BeginNormalPaletteFade(-1, 0, 0, 0x10, 0);
- gBattleCommunication[0]++;
- break;
- case 1:
- if (!gPaletteFade.active)
- {
- gBattleCommunication[1] = sub_809070C(SpeciesToNationalPokedexNum(gBattleMons[gBankTarget].species), gBattleMons[gBankTarget].otId, gBattleMons[gBankTarget].personality);
- gBattleCommunication[0]++;
- }
- break;
- case 2:
- if (!gPaletteFade.active && gMain.callback2 == sub_800F808 && !gTasks[gBattleCommunication[1]].isActive)
- {
- LZDecompressVram(gBattleTerrainTiles_Building, (void*)(0x06008000));
- LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(0x0600d000));
- LoadCompressedPalette(gBattleTerrainPalette_BattleTower, 0x20, 0x60);
- REG_BG3CNT = 0x5a0b;
- gUnknown_030041B0 = 0x100;
- BeginNormalPaletteFade(0xfffc, 0, 0x10, 0, 0);
- gBattleCommunication[0]++;
- }
- break;
- case 3:
- if (!gPaletteFade.active)
- gBattlescriptCurrInstr++;
- break;
- }
+ switch (gBattleCommunication[0])
+ {
+ case 0:
+ BeginNormalPaletteFade(-1, 0, 0, 0x10, 0);
+ gBattleCommunication[0]++;
+ break;
+ case 1:
+ if (!gPaletteFade.active)
+ {
+ gBattleCommunication[1] = sub_809070C(SpeciesToNationalPokedexNum(gBattleMons[gBankTarget].species), gBattleMons[gBankTarget].otId, gBattleMons[gBankTarget].personality);
+ gBattleCommunication[0]++;
+ }
+ break;
+ case 2:
+ if (!gPaletteFade.active && gMain.callback2 == sub_800F808 && !gTasks[gBattleCommunication[1]].isActive)
+ {
+ LZDecompressVram(gBattleTerrainTiles_Building, (void*)(0x06008000));
+ LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(0x0600d000));
+ LoadCompressedPalette(gBattleTerrainPalette_BattleTower, 0x20, 0x60);
+ REG_BG3CNT = 0x5a0b;
+ gUnknown_030041B0 = 0x100;
+ BeginNormalPaletteFade(0xfffc, 0, 0x10, 0, 0);
+ gBattleCommunication[0]++;
+ }
+ break;
+ case 3:
+ if (!gPaletteFade.active)
+ gBattlescriptCurrInstr++;
+ break;
+ }
}
__attribute__((naked))
void sub_802BBD4(u8 r0, u8 r1, u8 r2, u8 r3, u8 sp0)
{
- asm(".syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- ldr r4, [sp, 0x20]\n\
- lsls r0, 24\n\
- lsrs r6, r0, 24\n\
- lsls r1, 24\n\
- lsrs r1, 24\n\
- mov r12, r1\n\
- lsls r2, 24\n\
- lsrs r5, r2, 24\n\
- lsls r3, 24\n\
- lsrs r7, r3, 24\n\
- lsls r4, 24\n\
- lsrs r4, 24\n\
- mov r8, r4\n\
- mov r2, r12\n\
- cmp r2, r7\n\
- bgt _0802BC5A\n\
- lsls r1, r6, 1\n\
- ldr r0, _0802BC20 @ =0x0600c000\n\
- adds r1, r0\n\
- mov r9, r1\n\
+ asm(".syntax unified\n\
+ push {r4-r7,lr}\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ ldr r4, [sp, 0x20]\n\
+ lsls r0, 24\n\
+ lsrs r6, r0, 24\n\
+ lsls r1, 24\n\
+ lsrs r1, 24\n\
+ mov r12, r1\n\
+ lsls r2, 24\n\
+ lsrs r5, r2, 24\n\
+ lsls r3, 24\n\
+ lsrs r7, r3, 24\n\
+ lsls r4, 24\n\
+ lsrs r4, 24\n\
+ mov r8, r4\n\
+ mov r2, r12\n\
+ cmp r2, r7\n\
+ bgt _0802BC5A\n\
+ lsls r1, r6, 1\n\
+ ldr r0, _0802BC20 @ =0x0600c000\n\
+ adds r1, r0\n\
+ mov r9, r1\n\
_0802BC06:\n\
- adds r1, r6, 0\n\
- adds r0, r2, 0x1\n\
- mov r10, r0\n\
- cmp r1, r5\n\
- bgt _0802BC54\n\
- lsls r0, r2, 6\n\
- mov r4, r9\n\
- adds r3, r4, r0\n\
+ adds r1, r6, 0\n\
+ adds r0, r2, 0x1\n\
+ mov r10, r0\n\
+ cmp r1, r5\n\
+ bgt _0802BC54\n\
+ lsls r0, r2, 6\n\
+ mov r4, r9\n\
+ adds r3, r4, r0\n\
_0802BC16:\n\
- cmp r2, r12\n\
- bne _0802BC28\n\
- ldr r0, _0802BC24 @ =0x00001022\n\
- b _0802BC36\n\
- .align 2, 0\n\
+ cmp r2, r12\n\
+ bne _0802BC28\n\
+ ldr r0, _0802BC24 @ =0x00001022\n\
+ b _0802BC36\n\
+ .align 2, 0\n\
_0802BC20: .4byte 0x0600c000\n\
_0802BC24: .4byte 0x00001022\n\
_0802BC28:\n\
- cmp r2, r7\n\
- bne _0802BC34\n\
- ldr r0, _0802BC30 @ =0x00001028\n\
- b _0802BC36\n\
- .align 2, 0\n\
+ cmp r2, r7\n\
+ bne _0802BC34\n\
+ ldr r0, _0802BC30 @ =0x00001028\n\
+ b _0802BC36\n\
+ .align 2, 0\n\
_0802BC30: .4byte 0x00001028\n\
_0802BC34:\n\
- ldr r0, _0802BC68 @ =0x00001025\n\
+ ldr r0, _0802BC68 @ =0x00001025\n\
_0802BC36:\n\
- cmp r1, r6\n\
- beq _0802BC42\n\
- adds r0, 0x1\n\
- cmp r1, r5\n\
- bne _0802BC42\n\
- adds r0, 0x1\n\
+ cmp r1, r6\n\
+ beq _0802BC42\n\
+ adds r0, 0x1\n\
+ cmp r1, r5\n\
+ bne _0802BC42\n\
+ adds r0, 0x1\n\
_0802BC42:\n\
- mov r4, r8\n\
- cmp r4, 0\n\
- beq _0802BC4A\n\
- movs r0, 0\n\
+ mov r4, r8\n\
+ cmp r4, 0\n\
+ beq _0802BC4A\n\
+ movs r0, 0\n\
_0802BC4A:\n\
- strh r0, [r3]\n\
- adds r3, 0x2\n\
- adds r1, 0x1\n\
- cmp r1, r5\n\
- ble _0802BC16\n\
+ strh r0, [r3]\n\
+ adds r3, 0x2\n\
+ adds r1, 0x1\n\
+ cmp r1, r5\n\
+ ble _0802BC16\n\
_0802BC54:\n\
- mov r2, r10\n\
- cmp r2, r7\n\
- ble _0802BC06\n\
+ mov r2, r10\n\
+ cmp r2, r7\n\
+ ble _0802BC06\n\
_0802BC5A:\n\
- pop {r3-r5}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- mov r10, r5\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .align 2, 0\n\
+ pop {r3-r5}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ mov r10, r5\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
_0802BC68: .4byte 0x00001025\n\
- .syntax divided");
+ .syntax divided");
}
void sub_802BC6C(void)
{
- sub_814A880(0xC8, ((gBattleCommunication[1] << 28) + 1207959552) >> 24); //what could that be?
+ sub_814A880(0xC8, ((gBattleCommunication[1] << 28) + 1207959552) >> 24); //what could that be?
}
void nullsub_6(void)
{
- return;
+ return;
}
static void atkF3_nickname_caught_poke(void)
{
- switch (gBattleCommunication[0])
- {
- case 0:
- sub_8023A80();
- gBattleCommunication[0]++;
- gBattleCommunication[1] = 0;
- sub_802BC6C();
- break;
- case 1:
- if (gMain.newKeys & 0x40 && gBattleCommunication[1] != 0)
- {
- PlaySE(5);
- nullsub_6();
- gBattleCommunication[1] = 0;
- sub_802BC6C();
- }
- if (gMain.newKeys & 0x80 && gBattleCommunication[1] == 0)
- {
- PlaySE(5);
- nullsub_6();
- gBattleCommunication[1] = 1;
- sub_802BC6C();
- }
- if (gMain.newKeys & 1)
- {
- PlaySE(5);
+ switch (gBattleCommunication[0])
+ {
+ case 0:
+ sub_8023A80();
+ gBattleCommunication[0]++;
+ gBattleCommunication[1] = 0;
+ sub_802BC6C();
+ break;
+ case 1:
+ if (gMain.newKeys & 0x40 && gBattleCommunication[1] != 0)
+ {
+ PlaySE(5);
+ nullsub_6();
+ gBattleCommunication[1] = 0;
+ sub_802BC6C();
+ }
+ if (gMain.newKeys & 0x80 && gBattleCommunication[1] == 0)
+ {
+ PlaySE(5);
+ nullsub_6();
+ gBattleCommunication[1] = 1;
+ sub_802BC6C();
+ }
+ if (gMain.newKeys & 1)
+ {
+ PlaySE(5);
if (gBattleCommunication[1] == 0)
- {
- gBattleCommunication[0]++;
- BeginFastPaletteFade(3);
- }
- else
- gBattleCommunication[0] = 4;
- }
- else if (gMain.newKeys & 2)
- {
- PlaySE(5);
- gBattleCommunication[0] = 4;
- }
- break;
- case 2:
- if (!gPaletteFade.active)
- {
- GetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]], MON_DATA_NICKNAME, BATTLE_STRUCT->caughtNick);
- DoNamingScreen(2, BATTLE_STRUCT->caughtNick, GetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]], MON_DATA_SPECIES), GetMonGender(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]]), GetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]], MON_DATA_PERSONALITY, 0), sub_800F808);
- gBattleCommunication[0]++;
- }
- break;
- case 3:
- if (gMain.callback2 == sub_800F808 && !gPaletteFade.active )
- {
- SetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]], MON_DATA_NICKNAME, BATTLE_STRUCT->caughtNick);
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
- }
- break;
- case 4:
- if (CalculatePlayerPartyCount() == 6)
- gBattlescriptCurrInstr += 5;
- else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
- break;
- }
+ {
+ gBattleCommunication[0]++;
+ BeginFastPaletteFade(3);
+ }
+ else
+ gBattleCommunication[0] = 4;
+ }
+ else if (gMain.newKeys & 2)
+ {
+ PlaySE(5);
+ gBattleCommunication[0] = 4;
+ }
+ break;
+ case 2:
+ if (!gPaletteFade.active)
+ {
+ GetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]], MON_DATA_NICKNAME, BATTLE_STRUCT->caughtNick);
+ DoNamingScreen(2, BATTLE_STRUCT->caughtNick, GetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]], MON_DATA_SPECIES), GetMonGender(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]]), GetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]], MON_DATA_PERSONALITY, 0), sub_800F808);
+ gBattleCommunication[0]++;
+ }
+ break;
+ case 3:
+ if (gMain.callback2 == sub_800F808 && !gPaletteFade.active )
+ {
+ SetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]], MON_DATA_NICKNAME, BATTLE_STRUCT->caughtNick);
+ gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ }
+ break;
+ case 4:
+ if (CalculatePlayerPartyCount() == 6)
+ gBattlescriptCurrInstr += 5;
+ else
+ gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ break;
+ }
}
static void atkF4_802BEF0(void)
{
- gBattleMons[gBankAttacker].hp -= gBattleMoveDamage;
- gBattlescriptCurrInstr++;
+ gBattleMons[gBankAttacker].hp -= gBattleMoveDamage;
+ gBattlescriptCurrInstr++;
}
static void atkF5_removeattackerstatus1(void)
@@ -18524,11 +18524,11 @@ static void atkF5_removeattackerstatus1(void)
static void atkF6_802BF48(void)
{
- gFightStateTracker = 0xC;
+ gFightStateTracker = 0xC;
}
static void atkF7_802BF54(void)
{
- gFightStateTracker = 0xC;
- gCurrentMoveTurn = gNoOfAllBanks;
+ gFightStateTracker = 0xC;
+ gCurrentMoveTurn = gNoOfAllBanks;
}