0% found this document useful (0 votes)
44 views11 pages

Battle Script Reference

Uploaded by

youngrndom
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views11 pages

Battle Script Reference

Uploaded by

youngrndom
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 11

# conditions:

# 00 A = B
# 01 A != B
# 02 A > B
# 03 A < B
# 04 A & B <- at least one common bit
# 05 A &~ B <- no common bits

# general macros
chosen.status1.animation 66 battler.bs_battlers 00 param::
# Plays regular status animation for the battler. Seemingly unused.
chosen.status2.animation 66 battler.bs_battlers 01 param::
# Plays secondary status animation for the battler.
if.status3.goto 21 battler.bs_battlers status3:: 00 ptr<`bse`>
# If a certain battler has a certain status3, goto another address or section.
if.not.status3.goto 21 battler.bs_battlers status3:: 01 ptr<`bse`>
# If a certain battler does not have a certain status3, goto another address or
section.
[AXPE_AXVE] set.stat.changer 2E 1E 60 01 02 stat.bs_statchanger
# Sets what stat should be changed and how much it should increase/decrease.
[AXPE_AXVE] set.move.effect 2E 21 4D 02 02 effect.bs_moveeffects
# Sets a certain effect for a battle script like burn/confusion/stat drop, not to
be confused with move effects for moves themselves
[AXPE_AXVE] if.move.goto 2A 00 E6 4B 02 02
move:data.pokemon.moves.names ptr<`bse`> # Compares gCurrentMove with the move
being checked.

# If the comparison is true, goto another address or section.


[AXPE_AXVE] if.not.move.goto 2A 01 E6 4B 02 02
move:data.pokemon.moves.names ptr<`bse`> # Compares gCurrentMove with the move
being checked.

# If the comparison is false, goto another address or section.


[AXPE_AXVE] if.move.noeffect.goto 29 04 68 4C 02 02 29 ptr<`bse`>
# If the move had no effect at all, goto another address or section.
[AXPE_AXVE] if.battletype.goto 2A 04 F8 39 02 02 param: ptr<`bse`>
# Checks gBattleTypeFlags to see if the battle flag in the param is set, like if
it's a wild or trainer battle
[AXPE_AXVE] if.not.battletype.goto 2A 05 F8 39 02 02 param: ptr<`bse`>
# Checks gBattleTypeFlags to see if the battle flag in the param is set
[BPRE_BPGE] set.stat.changer 2E DE 3F 02 02 stat.bs_statchanger
# Sets what stat should be changed and how much it should increase/decrease.
[BPRE_BPGE] set.move.effect 2E 85 3E 02 02 effect.bs_moveeffects
# Sets a certain effect for a battle script like burn/confusion/stat drop, not to
be confused with move effects for moves themselves
[BPRE_BPGE] if.move.goto 2A 00 4A 3D 02 02
move:data.pokemon.moves.names ptr<`bse`> # Compares gCurrentMove with the move
being checked.

# If the comparison is true, goto another address or section.


[BPRE_BPGE] if.not.move.goto 2A 01 4A 3D 02 02
move:data.pokemon.moves.names ptr<`bse`> # Compares gCurrentMove with the move
being checked.

# If the comparison is false, goto another address or section.


[BPRE_BPGE] if.move.noeffect.goto 29 04 CC 3D 02 02 29 ptr<`bse`>
# If the move had no effect at all, goto another address or section.
[BPRE_BPGE] if.battletype.goto 2B 04 4C 2B 02 02 param:: ptr<`bse`>
# checks gBattleTypeFlags to see if the battle flag in the param is set, like if
it's a wild or trainer battle
[BPRE_BPGE] if.not.battletype.goto 2B 05 4C 2B 02 02 param:: ptr<`bse`>
# checks gBattleTypeFlags to see if the battle flag in the param is not set
[BPEE] set.stat.changer 2E 8E 44 02 02 stat.bs_statchanger
# Sets what stat should be changed and how much it should increase/decrease.
[BPEE] set.move.effect 2E 35 43 02 02 effect.bs_moveeffects
# Sets a certain effect for a battle script like burn/confusion/stat drop, not to
be confused with move effects for moves themselves
[BPEE] if.move.goto 2A 00 EA 41 02 02
move:data.pokemon.moves.names ptr<`bse`> # Compares gCurrentMove with the move
being checked.

# If the comparison is true, goto another address or section.


[BPEE] if.not.move.goto 2A 01 EA 41 02 02
move:data.pokemon.moves.names ptr<`bse`> # Compares gCurrentMove with the move
being checked.

# If the comparison is false, goto another address or section.


[BPEE] if.move.noeffect.goto 29 04 7C 42 02 02 29 ptr<`bse`>
# If the move had no effect at all, goto another address or section.
[BPEE] if.battle.type.goto 2B 04 EC 2F 02 02 param:: ptr<`bse`>
# Checks gBattleTypeFlags to see if the battle flag in the param is set, like if
it's a wild or trainer battle
[BPEE] if.not.battle.type.goto 2B 05 EC 2F 02 02 param:: ptr<`bse`>
# Checks gBattleTypeFlags to see if the battle flag in the param is not set

# decomp names of general macros


chosenstatus1animation 66 battler.bs_battlers 00 param::
# alias for chosen.status1.animation
chosenstatus2animation 66 battler.bs_battlers 01 param::
# alias for chosen.status2.animation
jumpifstatus3 21 battler.bs_battlers status3:: 00 ptr<`bse`>
# alias for if.status3.goto
jumpifnostatus3 21 battler.bs_battlers status3:: 01 ptr<`bse`>
# alias for if.not.status3.goto
[AXPE_AXVE] setstatchanger 2E 1E 60 01 02 stat.bs_statchanger
# alias for set.stat.changer
[AXPE_AXVE] setmoveeffect 2E 21 4D 02 02 effect.bs_moveeffects
# alias for set.move.effect
[AXPE_AXVE] jumpifmove 2A 00 E6 4B 02 02 move:data.pokemon.moves.names
ptr<`bse`> # alias for if.move.goto
[AXPE_AXVE] jumpifnotmove 2A 01 E6 4B 02 02 move:data.pokemon.moves.names
ptr<`bse`> # alias for if.not.move.goto
[AXPE_AXVE] jumpifmovehadnoeffect 29 04 68 4C 02 02 29 ptr<`bse`>
# alias for if.move.noeffect.goto
[AXPE_AXVE] jumpifbattletype 2A 04 F8 39 02 02 param: ptr<`bse`>
# alias for if.battle.type.goto
[AXPE_AXVE] jumpifnotbattletype 2A 05 F8 39 02 02 param: ptr<`bse`>
# alias for if.not.battle.type.goto
[BPRE_BPGE] setstatchanger 2E DE 3F 02 02 stat.bs_statchanger
# alias for set.stat.changer
[BPRE_BPGE] setmoveeffect 2E 85 3E 02 02 effect.bs_moveeffects
# alias for set.move.effect
[BPRE_BPGE] jumpifmove 2A 00 4A 3D 02 02 move:data.pokemon.moves.names
ptr<`bse`> # alias for if.move.goto
[BPRE_BPGE] jumpifnotmove 2A 01 4A 3D 02 02 move:data.pokemon.moves.names
ptr<`bse`> # alias for if.not.move.goto
[BPRE_BPGE] jumpifmovehadnoeffect 29 04 CC 3D 02 02 29 ptr<`bse`>
# alias for if.move.noeffect.goto
[BPRE_BPGE] jumpifbattletype 2B 04 4C 2B 02 02 param:: ptr<`bse`>
# alias for if.battle.type.goto
[BPRE_BPGE] jumpifnotbattletype 2B 05 4C 2B 02 02 param:: ptr<`bse`>
# alias for if.not.battle.type.goto
[BPEE] setstatchanger 2E 8E 44 02 02 stat.bs_statchanger
# alias for set.stat.changer
[BPEE] setmoveeffect 2E 35 43 02 02 effect.bs_moveeffects
# alias for set.move.effect
[BPEE] jumpifmove 2A 00 EA 41 02 02 move:data.pokemon.moves.names
ptr<`bse`> # alias for if.move.goto
[BPEE] jumpifnotmove 2A 01 EA 41 02 02 move:data.pokemon.moves.names
ptr<`bse`> # alias for if.not.move.goto
[BPEE] jumpifmovehadnoeffect 29 04 7C 42 02 02 29 ptr<`bse`>
# alias for if.move.noeffect.goto
[BPEE] jumpifbattletype 2B 04 EC 2F 02 02 param:: ptr<`bse`>
# alias for if.battle.type.goto
[BPEE] jumpifnotbattletype 2B 05 EC 2F 02 02 param:: ptr<`bse`>
# alias for if.not.battle.type.goto

# moveend macros
[AXPE_AXVE] moveend.all 2E 0C 60 01 02 00 49 00 00 # does all cases for
moveend
[AXPE_AXVE] moveend.case 2E 0C 60 01 02 case. 49 01 00 # does a specific
case for moveend
[AXPE_AXVE] moveend.from 2E 0C 60 01 02 from. 49 00 00 # does all cases
from a specific point for moveend
[AXPE_AXVE] moveend.to 2E 0C 60 01 02 00 49 02 to. # does all cases up
to a specific point for moveend
[AXPE_AXVE] moveend.from.to 2E 0C 60 01 02 from. 49 02 to. # does all cases
from and up to specific points for moveend
[BPRE_BPGE] moveend.all 2E D8 3F 02 02 00 49 00 00 # does all cases for
moveend
[BPRE_BPGE] moveend.case 2E D8 3F 02 02 case. 49 01 00 # does a specific
case for moveend
[BPRE_BPGE] moveend.from 2E D8 3F 02 02 from. 49 00 00 # does all cases
from a specific point for moveend
[BPRE_BPGE] moveend.to 2E D8 3F 02 02 00 49 02 to. # does all cases up
to a specific point for moveend
[BPRE_BPGE] moveend.from.to 2E D8 3F 02 02 from. 49 02 to. # does all cases
from and up to specific points for moveend
[BPEE] moveend.all 2E 88 44 02 02 00 49 00 00 # does all cases for
moveend
[BPEE] moveend.case 2E 88 44 02 02 case. 49 01 00 # does a specific
case for moveend
[BPEE] moveend.from 2E 88 44 02 02 from. 49 00 00 # does all cases
from a specific point for moveend
[BPEE] moveend.to 2E 88 44 02 02 00 49 02 to. # does all cases up
to a specific point for moveend
[BPEE] moveend.fromto 2E 88 44 02 02 from. 49 02 to. # does all cases
from and up to specific points for moveend

# decomp names for moveend macros


[AXPE_AXVE] moveendall 2E 0C 60 01 02 00 49 00 00 # alias for
moveend.all
[AXPE_AXVE] moveendcase 2E 0C 60 01 02 case. 49 01 00 # alias for
moveend.case
[AXPE_AXVE] moveendfrom 2E 0C 60 01 02 from. 49 00 00 # alias for
moveend.from
[AXPE_AXVE] moveendto 2E 0C 60 01 02 00 49 02 to. # alias for moveend.to
[AXPE_AXVE] moveendfromto 2E 0C 60 01 02 from. 49 02 to. # alias for
moveend.fromto
[BPRE_BPGE] moveendall 2E D8 3F 02 02 00 49 00 00 # alias for
moveend.all
[BPRE_BPGE] moveendcase 2E D8 3F 02 02 case. 49 01 00 # alias for
moveend.case
[BPRE_BPGE] moveendfrom 2E D8 3F 02 02 from. 49 00 00 # alias for
moveend.from
[BPRE_BPGE] moveendto 2E D8 3F 02 02 00 49 02 to. # alias for moveend.to
[BPRE_BPGE] moveendfromto 2E D8 3F 02 02 from. 49 02 to. # alias for
moveend.fromto
[BPEE] moveendall 2E 88 44 02 02 00 49 00 00 # alias for
moveend.all
[BPEE] moveendcase 2E 88 44 02 02 case. 49 01 00 # alias for
moveend.case
[BPEE] moveendfrom 2E 88 44 02 02 from. 49 00 00 # alias for
moveend.from
[BPEE] moveendto 2E 88 44 02 02 00 49 02 to. # alias for moveend.to
[BPEE] moveendfromto 2E 88 44 02 02 from. 49 02 to. # alias for
moveend.fromto

# various macros
cancel.multi.turn.moves 76 battler.bs_battlers 00 # Cancels
any multi-turn moves prematurely for the battler
set.magiccoat.target 76 battler.bs_battlers 01 # Sets the
target of a move if bounced back by Magic Bounce based on battler
get.cant.run 76 01 02 # Checks if
player cannot run and puts result in gBattleCommunication
get.move.target 76 01 03 # Sets the
target of a move to the normal target(s) of gCurrentMove
get.battler.fainted 76 battler.bs_battlers 04 # Checks if
the battler is fainted and puts result in gBattleCommunication
reset.intimidate.trace.bits 76 battler.bs_battlers 05 # Resets
intimidate and trace statuses for the battler
update.choice.move.lvlup 76 battler.bs_battlers 06 # Resets
the locked move from choice items if overwritten on level-up
[BPRE_BPGE_BPEE] reset.player.fainted 76 01 07 # Resets
player fainted bit for regular trainer battles
[BPRE_BPGE] get.battlers.recall 76 01 08 # Checks
trainers lost to in the Trainer Tower for FRLG
[BPRE_BPGE] return.foe.mon1.ball 76 01 09 # Returns
foe's first (only in singles) mon to trainer visually
[BPRE_BPGE] return.foe.mon2.ball 76 01 0A # Returns
foe's second (if any) mon to trainer visually
[BPRE_BPGE] check.pokeflute 76 01 0B # Checks
any mon affected by the Pokeflute on the field and in both fields' parties?
[BPRE_BPGE] wait.fanfare 76 01 0C # Blocks
script execution until any playing fanfare finishes
[BPEE] palace.flavor.text 76 battler.bs_battlers 08 # Grabs
specific Palace flavor text if possible and puts resulting index in
gBattleCommunication[MULTISTRING_CHOOSER]
[BPEE] arena.judgment.window 76 01 09 # Shows the
judgement window for Arena battles
[BPEE] arena.foe.mon.lost 76 01 0A # Sets foe
mon to lose in an arena battle
[BPEE] arena.player.mon.lost 76 01 0B # Sets
player mon to lose in an arena battle
[BPEE] arena.both.mon.lost 76 01 0C # Sets both
foe and player mons to lose in a draw in an arena battle
[BPEE] forfeit.yesno.box 76 battler.bs_battlers 0D # Pulls up
a yes/no box that is only used in forfeiting a match in the Battle Frontier
[BPEE] arena.show.ref.textbox 76 01 0E # Shows the
arena reference textbox in Arena battles
[BPEE] arena.hide.ref.textbox 76 01 0F # Hides the
arena reference textbox in Arena battles
[BPEE] arena.judgment.string 76 id. 10 # Prints
specific judgement string for Arena battles
[BPEE] arena.wait.message 76 id. 11 # Waits
until specific judgement string is done printing
[BPEE] wait.cry 76 01 12 # Halts
script execution until cry is over
[BPEE] return.foe.mon1.ball 76 01 13 # Returns
foe's first (only in singles) mon to trainer visually
[BPEE] return.foe.mon2.ball 76 01 14 # Returns
foe's second (if any) mon to trainer visually
[BPEE] volume.down 76 01 15 # Sets
music volume to a low amount
[BPEE] volume.up 76 01 16 # Sets
music volume to the normal amount
[BPEE] set.already.status.attempt 76 battler.bs_battlers 17 # Sets bit
for the battler if using a status-inflicting move on a mon who already has the
status
[BPEE] palace.try.cure.sleep.freeze 76 battler.bs_battlers 18 # Checks if
mon in a Battle Palace battle is unable to attack due to sleep/freeze and try to
heal those statuses
[BPEE] set.outcome.teleport 76 battler.bs_battlers 19 # Sets
battle outcome to whoever used Teleport for overworld scripting
[BPEE] play.trainer.defeat.bgm 76 battler.bs_battlers 1A # Plays the
trainer defeat bgm for use with Trainer Tower link battles

# decomp names for various macros


cancelmultiturnmoves 76 battler.bs_battlers 00 # alias for
cancel.multi.turn.moves
setmagiccoattarget 76 battler.bs_battlers 01 # alias for
set.magiccoat.target
getifcantrunfrombattle 76 01 02 # alias for
get.cant.run
getmovetarget 76 01 03 # alias for
get.move.target
getbattlerfainted 76 battler.bs_battlers 04 # alias for
get.battler.fainted
resetintimidatetracebits 76 battler.bs_battlers 05 # alias for
reset.intimidate.trace.bits
updatechoicemoveonlvlup 76 battler.bs_battlers 06 # alias for
update.choice.move.lvlup
[BPRE_BPGE_BPEE] resetplayerfainted 76 01 07 # alias for
reset.player.fainted
[BPRE_BPGE] getbattlersforrecall 76 01 08 # alias for
get.battlers.recall
[BPRE_BPGE] returnopponentmon1toball 76 01 09 # alias for
return.foe.mon1.ball
[BPRE_BPGE] returnopponentmon2toball 76 01 0A # alias for
return.foe.mon2.ball
[BPRE_BPGE] checkpokeflute 76 01 0B # alias for
check.pokeflute
[BPRE_BPGE] waitfanfare 76 01 0C # alias for
wait.fanfare
[BPEE] palaceflavortext 76 battler.bs_battlers 08 # alias for
palace.flavor.text
[BPEE] arenajudgmentwindow 76 01 09 # alias for
arena.judgment.window
[BPEE] arenaopponentmonlost 76 01 0A # alias for
arena.foe.mon.lost
[BPEE] arenaplayermonlost 76 01 0B # alias for
arena.player.mon.lost
[BPEE] arenabothmonlost 76 01 0C # alias for
arena.both.mon.lost
[BPEE] forfeityesnobox 76 battler.bs_battlers 0D # alias for
forfeit.yesno.box
[BPEE] arenadrawreftextbox 76 01 0E # alias for
arena.show.ref.textbox
[BPEE] arenaerasereftextbox 76 01 0F # alias for
arena.hide.ref.textbox
[BPEE] arenajudgmentstring 76 id. 10 # alias for
arena.judgment.string
[BPEE] arenawaitmessage 76 id. 11 # alias for
arena.wait.message
[BPEE] waitcry 76 01 12 # alias for
wait.cry
[BPEE] returnopponentmon1toball 76 01 13 # alias for
return.foe.mon1.ball
[BPEE] returnopponentmon2toball 76 01 14 # alias for
return.foe.mon2.ball
[BPEE] volumedown 76 01 15 # alias for
volume.down
[BPEE] volumeup 76 01 16 # alias for
volume.up
[BPEE] setalreadystatusedmoveattempt 76 battler.bs_battlers 17 # alias for
set.already.status.attempt
[BPEE] palacetryescapestatus 76 battler.bs_battlers 18 # alias for
palace.try.cure.sleep.freeze
[BPEE] setoutcomeonteleport 76 battler.bs_battlers 19 # alias for
set.outcome.teleport
[BPEE] playtrainerdefeatbgm 76 battler.bs_battlers 1A # alias for
play.trainer.defeat.bgm

00 attackcanceler
01 accuracycheck ptr<`bse`> param1:
02 attackstring
03 ppreduce
04 critcalc
05 damagecalc
06 typecalc
07 adjustnormaldamage
08 adjustnormaldamage2
09 attackanimation
0a waitanimation
0b healthbarupdate battler.bs_battlers
0c datahpupdate battler.bs_battlers
0d critmessage
0e effectivenesssound
0f resultmessage
10 printstring id:
11 printselectionstring id:
12 waitmessage param0:
13 printfromtable ptr<>
14 printselectionstringfromtable ptr<>
15 seteffectwithchance
16 seteffectprimary
17 seteffectsecondary
18 clearstatusfromeffect battler.bs_battlers
19 tryfaintmon battler.bs_battlers fromMove. ptr<>
1a dofaintanimation battler.bs_battlers
1b cleareffectsonfaint battler.bs_battlers
1c jumpifstatus battler.bs_battlers status1:: ptr<`bse`>
1d jumpifstatus2 battler.bs_battlers status2:: ptr<`bse`>
1e jumpifability battler.bs_battlers ability.data.abilities.names ptr<`bse`>
1f jumpifsideaffecting battler.bs_battlers sidestatus: ptr<`bse`>
20 jumpifstat battler.bs_battlers ifflag.battle_compare stat.bs_stats
value.stat_stages ptr<`bse`>
21 jumpifstatus3condition battler.bs_battlers status3:: param2. ptr<`bse`>
22 jumpiftype battler.bs_battlers type.data.pokemon.type.names ptr<`bse`>
23 getexp battler.
24 checkteamslost ptr<`bse`>
25 movevaluescleanup
26 setmultihit value.
27 decrementmultihit ptr<`bse`>
28 goto ptr<`bse`>
29 jumpifbyte ifflag.battle_compare param1:: param2. ptr<`bse`>
2a jumpifhalfword ifflag.battle_compare address:: value: ptr<`bse`>
2b jumpifword ifflag.battle_compare param1:: param2:: ptr<`bse`>
2c jumpifarrayequal param0:: param1:: param2. ptr<`bse`>
2d jumpifarraynotequal param0:: param1:: param2. ptr<`bse`>
2e setbyte ram:: param1.
2f addbyte ram:: param1.
30 subbyte ram:: param1.
31 copyarray param0:: param1:: param2.
32 copyarraywithindex param0:: param1:: param2:: param3.
33 orbyte ram:: param1.
34 orhalfword ram:: param1:
35 orword ram:: param1::
36 bicbyte ram:: param1.
37 bichalfword ram:: param1:
38 bicword ram:: param1::
39 pause param0:
3a waitstate
3b healthbar_update battler.bs_battlers
3c return
3d end
3e end2
3f end3
40 jumpifaffectedbyprotect ptr<`bse`>
41 call ptr<`bse`>
42 jumpiftype2 battler.bs_battlers type.data.pokemon.type.names ptr<`bse`>
43 jumpifabilitypresent ability.data.abilities.names ptr<`bse`>
44 endselectionscript
45 playanimation battler.bs_battlers animation.effectanimations param2::
46 playanimation_var battler.bs_battlers param1:: param2::
47 setgraphicalstatchangevalues
48 playstatchangeanimation battler.bs_battlers param1.statanimation param2.
49 moveend param0. param1.
4a typecalc2
4b returnatktoball
4c getswitchedmondata battler.bs_battlers
4d switchindataupdate battler.bs_battlers
4e switchinanim battler.bs_battlers dontclearsubstitutebit.
4f jumpifcantswitch battler.bs_battlers ptr<`bse`>
50 openpartyscreen param0. ptr<`bse`>
51 switchhandleorder battler.bs_battlers param1.
52 switchineffects battler.bs_battlers
53 trainerslidein battler.bs_battlers
54 playse song:songnames
55 fanfare song:songnames
56 playfaintcry battler.bs_battlers
57 endlinkbattle
58 returntoball battler.bs_battlers
59 handlelearnnewmove param0<`bse`> param1<`bse`> param2.
5a yesnoboxlearnmove ptr<`bse`>
5b yesnoboxstoplearningmove ptr<`bse`>
5c hitanimation battler.bs_battlers
[BPRE_BPGE] 5d getmoneyreward ptr<`bse`>
[BPEE_AXPE_AXVE] 5d getmoneyreward
5e updatebattlermoves battler.bs_battlers
5f swapattackerwithtarget
60 incrementgamestat param0.
61 drawpartystatussummary battler.bs_battlers
62 hidepartystatussummary battler.bs_battlers
63 jumptocalledmove param0.
64 statusanimation battler.bs_battlers
65 status2animation battler.bs_battlers status2::
66 chosenstatusanimation battler.bs_battlers param1. param2::
67 yesnobox
68 cancelallactions
69 adjustsetdamage
6a removeitem battler.bs_battlers
6b atknameinbuff1
6c drawlvlupbox
6d resetsentmonsvalue
6e setatktoplayer0
6f makevisible battler.bs_battlers
70 recordlastability battler.bs_battlers
71 buffermovetolearn
72 jumpifplayerran ptr<`bse`>
73 hpthresholds battler.bs_battlers
74 hpthresholds2 battler.bs_battlers
75 useitemonopponent
76 various battler.bs_battlers param1.
77 setprotectlike
78 tryexplosion
79 setatkhptozero
7a jumpifnexttargetvalid ptr<`bse`>
7b tryhealhalfhealth ptr<`bse`> battler.bs_battlers
7c trymirrormove
7d setrain
7e setreflect
7f setseeded
80 manipulatedamage param0.
81 trysetrest ptr<`bse`>
82 jumpifnotfirstturn ptr<`bse`>
83 nop
84 jumpifcantmakeasleep ptr<`bse`>
85 stockpile
86 stockpiletobasedamage ptr<`bse`>
87 stockpiletohpheal ptr<`bse`>
88 negativedamage
89 statbuffchange stat. ptr<`bse`>
8a normalisebuffs
8b setbide
8c confuseifrepeatingattackends
8d setmultihitcounter param0.
8e initmultihitstring
8f forcerandomswitch ptr<`bse`>
90 tryconversiontypechange ptr<`bse`>
91 givepaydaymoney
92 setlightscreen
93 tryKO ptr<`bse`>
94 damagetohalftargethp
95 setsandstorm
96 weatherdamage
97 tryinfatuating ptr<`bse`>
98 updatestatusicon battler.bs_battlers
99 setmist
9a setfocusenergy
9b transformdataexecution
9c setsubstitute
9d mimicattackcopy ptr<`bse`>
9e metronome
9f dmgtolevel
a0 psywavedamageeffect
a1 counterdamagecalculator ptr<`bse`>
a2 mirrorcoatdamagecalculator ptr<`bse`>
a3 disablelastusedattack ptr<`bse`>
a4 trysetencore ptr<`bse`>
a5 painsplitdmgcalc ptr<`bse`>
a6 settypetorandomresistance ptr<`bse`>
a7 setalwayshitflag
a8 copymovepermanently ptr<`bse`>
a9 trychoosesleeptalkmove ptr<`bse`>
aa setdestinybond
ab trysetdestinybondtohappen
ac remaininghptopower
ad tryspiteppreduce ptr<`bse`>
ae healpartystatus
af cursetarget ptr<`bse`>
b0 trysetspikes ptr<`bse`>
b1 setforesight
b2 trysetperishsong ptr<`bse`>
b3 rolloutdamagecalculation
b4 jumpifconfusedandstatmaxed stat.bs_stats ptr<`bse`>
b5 furycuttercalc
b6 happinesstodamagecalculation
b7 presentdamagecalculation
b8 setsafeguard
b9 magnitudedamagecalculation
ba jumpifnopursuitswitchdmg ptr<`bse`>
bb setsunny
bc maxattackhalvehp ptr<`bse`>
bd copyfoestats ptr<`bse`>
be rapidspinfree
bf setdefensecurlbit
c0 recoverbasedonsunlight ptr<`bse`>
c1 hiddenpowercalc
c2 selectfirstvalidtarget
c3 trysetfutureattack ptr<`bse`>
c4 trydobeatup ptr0<`bse`> ptr1<`bse`>
c5 setsemiinvulnerablebit
c6 clearsemiinvulnerablebit
c7 setminimize
c8 sethail
c9 trymemento ptr<`bse`>
ca setforcedtarget
cb setcharge
cc callterrainattack
cd cureifburnedparalysedorpoisoned ptr<`bse`>
ce settorment ptr<`bse`>
cf jumpifnodamage ptr<`bse`>
d0 settaunt ptr<`bse`>
d1 trysethelpinghand ptr<`bse`>
d2 tryswapitems ptr<`bse`>
d3 trycopyability ptr<`bse`>
d4 trywish param0. param1<`bse`>
d5 trysetroots ptr<`bse`>
d6 doubledamagedealtifdamaged
d7 setyawn ptr<`bse`>
d8 setdamagetohealthdifference ptr<`bse`>
d9 scaledamagebyhealthratio
da tryswapabilities ptr<`bse`>
db tryimprison ptr<`bse`>
dc trysetgrudge ptr<`bse`>
dd weightdamagecalculation
de assistattackselect ptr<`bse`>
df trysetmagiccoat ptr<`bse`>
e0 trysetsnatch ptr<`bse`>
e1 trygetintimidatetarget ptr<`bse`>
e2 switchoutabilities battler.bs_battlers
e3 jumpifhasnohp battler.bs_battlers ptr<`bse`>
e4 getsecretpowereffect
e5 pickup
e6 docastformchangeanimation
e7 trycastformdatachange
e8 settypebasedhalvers ptr<`bse`>
e9 setweatherballtype
ea tryrecycleitem ptr<`bse`>
eb settypetoterrain ptr<`bse`>
ec pursuitdoubles ptr<`bse`>
ed snatchsetbattlers
ee removelightscreenreflect
ef handleballthrow
f0 givecaughtmon
f1 trysetcaughtmondexflags ptr<`bse`>
f2 displaydexinfo
f3 trygivecaughtmonnick ptr<`bse`>
f4 subattackerhpbydmg
f5 removeattackerstatus1
f6 finishaction
f7 finishturn
[BPEE] f8 trainerslideout battler.bs_battlers

# helpful macros
#XX sethword {dst} {value}
# setbyte {dst} {value} & 0xFF
# setbyte {dst} + 1 ({value} >> 8) & 0xFF
#XX setword {dst} {value}
# setbyte {dst}, {value} & 0xFF
# setbyte {dst} + 1 ({value} >> 8) & 0xFF
# setbyte {dst} + 2 ({value} >> 16) & 0xFF
# setbyte {dst} + 3 ({value} >> 24) & 0xFF
#XX copybyte {dst} {src}
# copyarray {dst} {src} 0x1
#XX copyhword {dst} {src}
# copyarray {dst} {src} 0x2
#XX copyword {dst} {src}
# copyarray {dst} {src} 0x4
#XX jumpifbytenotequal {byte1} {byte2} {jumpptr}
# jumpifarraynotequal {byte1} {byte2} 1 {jumpptr}
#XX jumpifbyteequal {byte1} {byte2} {jumpptr}
# jumpifarrayequal {byte1} {byte2} 1 {jumpptr}

You might also like