mirror of
https://github.com/haven1433/HexManiacAdvance.git
synced 2026-05-13 07:46:15 -05:00
* tweaked some battle script commands tweaked some battle script commands to allow reading pointers for those that support it * Implemented macros and lists for battle scripts Implemented many macros from the decomps along with many new lists relevant to battle scripting * Implemented a list for stat animation Implemented a list for playstatchangeanimation which shows which stats are displayed exactly * Implemented HMA-consistent macros Implemented HMA-consistent macros alongside the decomp macros per haven's request
441 lines
27 KiB
Plaintext
441 lines
27 KiB
Plaintext
# 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}
|