1441 lines
26 KiB
PHP
1441 lines
26 KiB
PHP
@ commands
|
|
.macro attackcanceler
|
|
.byte B_SCR_OP_ATTACKCANCELER
|
|
.endm
|
|
|
|
.macro accuracycheck failPtr:req, move:req
|
|
.byte B_SCR_OP_ACCURACYCHECK
|
|
.4byte \failPtr
|
|
.2byte \move
|
|
.endm
|
|
|
|
.macro attackstring
|
|
.byte B_SCR_OP_ATTACKSTRING
|
|
.endm
|
|
|
|
.macro ppreduce
|
|
.byte B_SCR_OP_PPREDUCE
|
|
.endm
|
|
|
|
.macro critcalc
|
|
.byte B_SCR_OP_CRITCALC
|
|
.endm
|
|
|
|
.macro damagecalc
|
|
.byte B_SCR_OP_DAMAGECALC
|
|
.endm
|
|
|
|
.macro typecalc
|
|
.byte B_SCR_OP_TYPECALC
|
|
.endm
|
|
|
|
.macro adjustnormaldamage
|
|
.byte B_SCR_OP_ADJUSTNORMALDAMAGE
|
|
.endm
|
|
|
|
.macro adjustnormaldamage2
|
|
.byte B_SCR_OP_ADJUSTNORMALDAMAGE2
|
|
.endm
|
|
|
|
.macro attackanimation
|
|
.byte B_SCR_OP_ATTACKANIMATION
|
|
.endm
|
|
|
|
.macro waitanimation
|
|
.byte B_SCR_OP_WAITANIMATION
|
|
.endm
|
|
|
|
.macro healthbarupdate battler:req
|
|
.byte B_SCR_OP_HEALTHBARUPDATE
|
|
.byte \battler
|
|
.endm
|
|
|
|
.macro datahpupdate battler:req
|
|
.byte B_SCR_OP_DATAHPUPDATE
|
|
.byte \battler
|
|
.endm
|
|
|
|
.macro critmessage
|
|
.byte B_SCR_OP_CRITMESSAGE
|
|
.endm
|
|
|
|
.macro effectivenesssound
|
|
.byte B_SCR_OP_EFFECTIVENESSSOUND
|
|
.endm
|
|
|
|
.macro resultmessage
|
|
.byte B_SCR_OP_RESULTMESSAGE
|
|
.endm
|
|
|
|
.macro printstring id:req
|
|
.byte B_SCR_OP_PRINTSTRING
|
|
.2byte \id
|
|
.endm
|
|
|
|
.macro printselectionstring id:req
|
|
.byte B_SCR_OP_PRINTSELECTIONSTRING
|
|
.2byte \id
|
|
.endm
|
|
|
|
.macro waitmessage time:req
|
|
.byte B_SCR_OP_WAITMESSAGE
|
|
.2byte \time
|
|
.endm
|
|
|
|
.macro printfromtable ptr:req
|
|
.byte B_SCR_OP_PRINTFROMTABLE
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro printselectionstringfromtable ptr:req
|
|
.byte B_SCR_OP_PRINTSELECTIONSTRINGFROMTABLE
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro seteffectwithchance
|
|
.byte B_SCR_OP_SETEFFECTWITHCHANCE
|
|
.endm
|
|
|
|
.macro seteffectprimary
|
|
.byte B_SCR_OP_SETEFFECTPRIMARY
|
|
.endm
|
|
|
|
.macro seteffectsecondary
|
|
.byte B_SCR_OP_SETEFFECTSECONDARY
|
|
.endm
|
|
|
|
.macro clearstatusfromeffect battler:req
|
|
.byte B_SCR_OP_CLEARSTATUSFROMEFFECT
|
|
.byte \battler
|
|
.endm
|
|
|
|
.macro tryfaintmon battler:req
|
|
.byte B_SCR_OP_TRYFAINTMON
|
|
.byte \battler
|
|
.byte FALSE
|
|
.4byte NULL
|
|
.endm
|
|
|
|
.macro tryfaintmon_spikes battler:req, ptr:req
|
|
.byte B_SCR_OP_TRYFAINTMON
|
|
.byte \battler
|
|
.byte TRUE
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro dofaintanimation battler:req
|
|
.byte B_SCR_OP_DOFAINTANIMATION
|
|
.byte \battler
|
|
.endm
|
|
|
|
.macro cleareffectsonfaint battler:req
|
|
.byte B_SCR_OP_CLEAREFFECTSONFAINT
|
|
.byte \battler
|
|
.endm
|
|
|
|
.macro jumpifstatus battler:req, status1:req, ptr:req
|
|
.byte B_SCR_OP_JUMPIFSTATUS
|
|
.byte \battler
|
|
.4byte \status1
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro jumpifstatus2 battler:req, status2:req, ptr:req
|
|
.byte B_SCR_OP_JUMPIFSTATUS2
|
|
.byte \battler
|
|
.4byte \status2
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro jumpifability battler:req, ability:req, ptr:req
|
|
.byte B_SCR_OP_JUMPIFABILITY
|
|
.byte \battler
|
|
.byte \ability
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro jumpifsideaffecting battler:req, sidestatus:req, ptr:req
|
|
.byte B_SCR_OP_JUMPIFSIDEAFFECTING
|
|
.byte \battler
|
|
.2byte \sidestatus
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro jumpifstat battler:req, ifflag:req, stat:req, value:req, ptr
|
|
.byte B_SCR_OP_JUMPIFSTAT
|
|
.byte \battler
|
|
.byte \ifflag
|
|
.byte \stat
|
|
.byte \value
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro jumpifstatus3condition battler:req, status3:req, condition:req, ptr:req
|
|
.byte B_SCR_OP_JUMPIFSTATUS3CONDITION
|
|
.byte \battler
|
|
.4byte \status3
|
|
.byte \condition
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro jumpiftype battler:req, type:req, ptr:req
|
|
.byte B_SCR_OP_JUMPIFTYPE
|
|
.byte \battler
|
|
.byte \type
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro getexp battler:req
|
|
.byte B_SCR_OP_GETEXP
|
|
.byte \battler
|
|
.endm
|
|
|
|
.macro checkteamslost ptr:req
|
|
.byte B_SCR_OP_CHECKTEAMSLOST
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro movevaluescleanup
|
|
.byte B_SCR_OP_MOVEVALUESCLEANUP
|
|
.endm
|
|
|
|
.macro setmultihit value:req
|
|
.byte B_SCR_OP_SETMULTIHIT
|
|
.byte \value
|
|
.endm
|
|
|
|
.macro decrementmultihit value:req
|
|
.byte B_SCR_OP_DECREMENTMULTIHIT
|
|
.4byte \value
|
|
.endm
|
|
|
|
.macro goto ptr:req
|
|
.byte B_SCR_OP_GOTO
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro jumpifbyte ifflag:req, val:req, byte:req, ptr:req
|
|
.byte B_SCR_OP_JUMPIFBYTE
|
|
.byte \ifflag
|
|
.4byte \val
|
|
.byte \byte
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro jumpifhalfword ifflag:req, val:req, hword:req, ptr:req
|
|
.byte B_SCR_OP_JUMPIFHALFWORD
|
|
.byte \ifflag
|
|
.4byte \val
|
|
.2byte \hword
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro jumpifword ifflag:req, val:req, word:req, ptr:req
|
|
.byte B_SCR_OP_JUMPIFWORD
|
|
.byte \ifflag
|
|
.4byte \val
|
|
.4byte \word
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro jumpifarrayequal val1:req, val2:req, size:req, ptr:req
|
|
.byte B_SCR_OP_JUMPIFARRAYEQUAL
|
|
.4byte \val1
|
|
.4byte \val2
|
|
.byte \size
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro jumpifarraynotequal val1:req, val2:req, size:req, ptr:req
|
|
.byte B_SCR_OP_JUMPIFARRAYNOTEQUAL
|
|
.4byte \val1
|
|
.4byte \val2
|
|
.byte \size
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro setbyte ptr:req, byte:req
|
|
.byte B_SCR_OP_SETBYTE
|
|
.4byte \ptr
|
|
.byte \byte
|
|
.endm
|
|
|
|
.macro addbyte ptr:req, byte:req
|
|
.byte B_SCR_OP_ADDBYTE
|
|
.4byte \ptr
|
|
.byte \byte
|
|
.endm
|
|
|
|
.macro subbyte ptr:req, byte:req
|
|
.byte B_SCR_OP_SUBBYTE
|
|
.4byte \ptr
|
|
.byte \byte
|
|
.endm
|
|
|
|
.macro copyarray dest:req, src:req, size:req
|
|
.byte B_SCR_OP_COPYARRAY
|
|
.4byte \dest
|
|
.4byte \src
|
|
.byte \size
|
|
.endm
|
|
|
|
.macro copyarraywithindex dest:req, src:req, index:req, size:req
|
|
.byte B_SCR_OP_COPYARRAYWITHINDEX
|
|
.4byte \dest
|
|
.4byte \src
|
|
.4byte \index
|
|
.byte \size
|
|
.endm
|
|
|
|
.macro orbyte ptr:req, byte:req
|
|
.byte B_SCR_OP_ORBYTE
|
|
.4byte \ptr
|
|
.byte \byte
|
|
.endm
|
|
|
|
.macro orhalfword ptr:req, hword:req
|
|
.byte B_SCR_OP_ORHALFWORD
|
|
.4byte \ptr
|
|
.2byte \hword
|
|
.endm
|
|
|
|
.macro orword ptr:req, word:req
|
|
.byte B_SCR_OP_ORWORD
|
|
.4byte \ptr
|
|
.4byte \word
|
|
.endm
|
|
|
|
.macro bicbyte ptr:req, byte:req
|
|
.byte B_SCR_OP_BICBYTE
|
|
.4byte \ptr
|
|
.byte \byte
|
|
.endm
|
|
|
|
.macro bichalfword ptr:req, hword:req
|
|
.byte B_SCR_OP_BICHALFWORD
|
|
.4byte \ptr
|
|
.2byte \hword
|
|
.endm
|
|
|
|
.macro bicword ptr:req, word:req
|
|
.byte B_SCR_OP_BICWORD
|
|
.4byte \ptr
|
|
.4byte \word
|
|
.endm
|
|
|
|
.macro pause time:req
|
|
.byte B_SCR_OP_PAUSE
|
|
.2byte \time
|
|
.endm
|
|
|
|
.macro waitstate
|
|
.byte B_SCR_OP_WAITSTATE
|
|
.endm
|
|
|
|
.macro healthbar_update battler:req
|
|
.byte B_SCR_OP_HEALTHBAR_UPDATE
|
|
.byte \battler
|
|
.endm
|
|
|
|
.macro return
|
|
.byte B_SCR_OP_RETURN
|
|
.endm
|
|
|
|
.macro end
|
|
.byte B_SCR_OP_END
|
|
.endm
|
|
|
|
.macro end2
|
|
.byte B_SCR_OP_END2
|
|
.endm
|
|
|
|
.macro end3
|
|
.byte B_SCR_OP_END3
|
|
.endm
|
|
|
|
.macro jumpifaffectedbyprotect ptr:req
|
|
.byte B_SCR_OP_JUMPIFAFFECTEDBYPROTECT
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro call ptr:req
|
|
.byte B_SCR_OP_CALL
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro jumpiftype2 battler:req, type:req, ptr:req
|
|
.byte B_SCR_OP_JUMPIFTYPE2
|
|
.byte \battler
|
|
.byte \type
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro jumpifabilitypresent ability:req, ptr:req
|
|
.byte B_SCR_OP_JUMPIFABILITYPRESENT
|
|
.byte \ability
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro endselectionscript
|
|
.byte B_SCR_OP_ENDSELECTIONSCRIPT
|
|
.endm
|
|
|
|
.macro playanimation battler:req, animType:req, arg=NULL
|
|
.byte B_SCR_OP_PLAYANIMATION
|
|
.byte \battler
|
|
.byte \animType
|
|
.4byte \arg
|
|
.endm
|
|
|
|
.macro playanimation_var battler:req, animType:req, arg=NULL
|
|
.byte B_SCR_OP_PLAYANIMATION_VAR
|
|
.byte \battler
|
|
.4byte \animType
|
|
.4byte \arg
|
|
.endm
|
|
|
|
.macro setgraphicalstatchangevalues
|
|
.byte B_SCR_OP_SETGRAPHICALSTATCHANGEVALUES
|
|
.endm
|
|
|
|
.macro playstatchangeanimation battler:req, stats:req, statchange:req
|
|
.byte B_SCR_OP_PLAYSTATCHANGEANIMATION
|
|
.byte \battler
|
|
.byte \stats
|
|
.byte \statchange
|
|
.endm
|
|
|
|
.macro moveend endMode:req, endState:req
|
|
.byte B_SCR_OP_MOVEEND
|
|
.byte \endMode
|
|
.byte \endState
|
|
.endm
|
|
|
|
@ Help macros for 5 uses of moveend command
|
|
|
|
@ All cases
|
|
.macro moveendall
|
|
setbyte sMOVEEND_STATE, 0
|
|
moveend 0, 0
|
|
.endm
|
|
|
|
@ Chosen case
|
|
.macro moveendcase case:req
|
|
setbyte sMOVEEND_STATE, \case
|
|
moveend 1, 0
|
|
.endm
|
|
|
|
@ All cases from (inclusive)
|
|
.macro moveendfrom from:req
|
|
setbyte sMOVEEND_STATE, \from
|
|
moveend 0, 0
|
|
.endm
|
|
|
|
@ All cases from 0 to (not inclusive)
|
|
.macro moveendto to:req
|
|
setbyte sMOVEEND_STATE, 0
|
|
moveend 2, \to
|
|
.endm
|
|
|
|
@ Cases from (inclusive) to (not inclusive)
|
|
.macro moveendfromto from:req, to:req
|
|
setbyte sMOVEEND_STATE, \from
|
|
moveend 2, \to
|
|
.endm
|
|
|
|
.macro typecalc2
|
|
.byte B_SCR_OP_TYPECALC2
|
|
.endm
|
|
|
|
.macro returnatktoball
|
|
.byte B_SCR_OP_RETURNATKTOBALL
|
|
.endm
|
|
|
|
.macro getswitchedmondata battler:req
|
|
.byte B_SCR_OP_GETSWITCHEDMONDATA
|
|
.byte \battler
|
|
.endm
|
|
|
|
.macro switchindataupdate battler:req
|
|
.byte B_SCR_OP_SWITCHINDATAUPDATE
|
|
.byte \battler
|
|
.endm
|
|
|
|
.macro switchinanim battler:req, dontclearsubstitutebit:req
|
|
.byte B_SCR_OP_SWITCHINANIM
|
|
.byte \battler
|
|
.byte \dontclearsubstitutebit
|
|
.endm
|
|
|
|
.macro jumpifcantswitch battler:req, ptr:req
|
|
.byte B_SCR_OP_JUMPIFCANTSWITCH
|
|
.byte \battler
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro openpartyscreen battler:req, ptr:req
|
|
.byte B_SCR_OP_OPENPARTYSCREEN
|
|
.byte \battler
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro switchhandleorder battler:req, state:req
|
|
.byte B_SCR_OP_SWITCHHANDLEORDER
|
|
.byte \battler
|
|
.byte \state
|
|
.endm
|
|
|
|
.macro switchineffects battler:req
|
|
.byte B_SCR_OP_SWITCHINEFFECTS
|
|
.byte \battler
|
|
.endm
|
|
|
|
.macro trainerslidein battler:req
|
|
.byte B_SCR_OP_TRAINERSLIDEIN
|
|
.byte \battler
|
|
.endm
|
|
|
|
.macro playse song:req
|
|
.byte B_SCR_OP_PLAYSE
|
|
.2byte \song
|
|
.endm
|
|
|
|
.macro fanfare song:req
|
|
.byte B_SCR_OP_FANFARE
|
|
.2byte \song
|
|
.endm
|
|
|
|
.macro playfaintcry battler:req
|
|
.byte B_SCR_OP_PLAYFAINTCRY
|
|
.byte \battler
|
|
.endm
|
|
|
|
.macro endlinkbattle
|
|
.byte B_SCR_OP_ENDLINKBATTLE
|
|
.endm
|
|
|
|
.macro returntoball battler:req
|
|
.byte B_SCR_OP_RETURNTOBALL
|
|
.byte \battler
|
|
.endm
|
|
|
|
.macro handlelearnnewmove learnedMovePtr:req, nothingToLearnPtr:req, isFirstMove:req
|
|
.byte B_SCR_OP_HANDLELEARNNEWMOVE
|
|
.4byte \learnedMovePtr
|
|
.4byte \nothingToLearnPtr
|
|
.byte \isFirstMove
|
|
.endm
|
|
|
|
.macro yesnoboxlearnmove forgotMovePtr:req
|
|
.byte B_SCR_OP_YESNOBOXLEARNMOVE
|
|
.4byte \forgotMovePtr
|
|
.endm
|
|
|
|
.macro yesnoboxstoplearningmove noPtr:req
|
|
.byte B_SCR_OP_YESNOBOXSTOPLEARNINGMOVE
|
|
.4byte \noPtr
|
|
.endm
|
|
|
|
.macro hitanimation battler:req
|
|
.byte B_SCR_OP_HITANIMATION
|
|
.byte \battler
|
|
.endm
|
|
|
|
.macro getmoneyreward
|
|
.byte B_SCR_OP_GETMONEYREWARD
|
|
.endm
|
|
|
|
.macro updatebattlermoves battler:req
|
|
.byte B_SCR_OP_UPDATEBATTLERMOVES
|
|
.byte \battler
|
|
.endm
|
|
|
|
.macro swapattackerwithtarget
|
|
.byte B_SCR_OP_SWAPATTACKERWITHTARGET
|
|
.endm
|
|
|
|
.macro incrementgamestat stat:req
|
|
.byte B_SCR_OP_INCREMENTGAMESTAT
|
|
.byte \stat
|
|
.endm
|
|
|
|
.macro drawpartystatussummary battler:req
|
|
.byte B_SCR_OP_DRAWPARTYSTATUSSUMMARY
|
|
.byte \battler
|
|
.endm
|
|
|
|
.macro hidepartystatussummary battler:req
|
|
.byte B_SCR_OP_HIDEPARTYSTATUSSUMMARY
|
|
.byte \battler
|
|
.endm
|
|
|
|
.macro jumptocalledmove notChosenMove:req
|
|
.byte B_SCR_OP_JUMPTOCALLEDMOVE
|
|
.byte \notChosenMove
|
|
.endm
|
|
|
|
.macro statusanimation battler:req
|
|
.byte B_SCR_OP_STATUSANIMATION
|
|
.byte \battler
|
|
.endm
|
|
|
|
.macro status2animation battler:req, status2:req
|
|
.byte B_SCR_OP_STATUS2ANIMATION
|
|
.byte \battler
|
|
.4byte \status2
|
|
.endm
|
|
|
|
.macro chosenstatusanimation battler:req, isStatus2:req, status:req
|
|
.byte B_SCR_OP_CHOSENSTATUSANIMATION
|
|
.byte \battler
|
|
.byte \isStatus2
|
|
.4byte \status
|
|
.endm
|
|
|
|
.macro yesnobox
|
|
.byte B_SCR_OP_YESNOBOX
|
|
.endm
|
|
|
|
.macro cancelallactions
|
|
.byte B_SCR_OP_CANCELALLACTIONS
|
|
.endm
|
|
|
|
.macro adjustsetdamage
|
|
.byte B_SCR_OP_ADJUSTSETDAMAGE
|
|
.endm
|
|
|
|
.macro removeitem battler:req
|
|
.byte B_SCR_OP_REMOVEITEM
|
|
.byte \battler
|
|
.endm
|
|
|
|
.macro atknameinbuff1
|
|
.byte B_SCR_OP_ATKNAMEINBUFF1
|
|
.endm
|
|
|
|
.macro drawlvlupbox
|
|
.byte B_SCR_OP_DRAWLVLUPBOX
|
|
.endm
|
|
|
|
.macro resetsentmonsvalue
|
|
.byte B_SCR_OP_RESETSENTMONSVALUE
|
|
.endm
|
|
|
|
.macro setatktoplayer0
|
|
.byte B_SCR_OP_SETATKTOPLAYER0
|
|
.endm
|
|
|
|
.macro makevisible battler:req
|
|
.byte B_SCR_OP_MAKEVISIBLE
|
|
.byte \battler
|
|
.endm
|
|
|
|
.macro recordlastability battler:req
|
|
.byte B_SCR_OP_RECORDLASTABILITY
|
|
.byte \battler
|
|
.endm
|
|
|
|
.macro buffermovetolearn
|
|
.byte B_SCR_OP_BUFFERMOVETOLEARN
|
|
.endm
|
|
|
|
.macro jumpifplayerran ptr:req
|
|
.byte B_SCR_OP_JUMPIFPLAYERRAN
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro hpthresholds battler:req
|
|
.byte B_SCR_OP_HPTHRESHOLDS
|
|
.byte \battler
|
|
.endm
|
|
|
|
.macro hpthresholds2 battler:req
|
|
.byte B_SCR_OP_HPTHRESHOLDS2
|
|
.byte \battler
|
|
.endm
|
|
|
|
.macro useitemonopponent
|
|
.byte B_SCR_OP_USEITEMONOPPONENT
|
|
.endm
|
|
|
|
.macro various battler:req, id:req
|
|
.byte B_SCR_OP_VARIOUS
|
|
.byte \battler
|
|
.byte \id
|
|
.endm
|
|
|
|
.macro setprotectlike
|
|
.byte B_SCR_OP_SETPROTECTLIKE
|
|
.endm
|
|
|
|
.macro tryexplosion
|
|
.byte B_SCR_OP_TRYEXPLOSION
|
|
.endm
|
|
|
|
.macro setatkhptozero
|
|
.byte B_SCR_OP_SETATKHPTOZERO
|
|
.endm
|
|
|
|
.macro jumpifnexttargetvalid ptr:req
|
|
.byte B_SCR_OP_JUMPIFNEXTTARGETVALID
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro tryhealhalfhealth ptr:req, battler:req
|
|
.byte B_SCR_OP_TRYHEALHALFHEALTH
|
|
.4byte \ptr
|
|
.byte \battler
|
|
.endm
|
|
|
|
.macro trymirrormove
|
|
.byte B_SCR_OP_TRYMIRRORMOVE
|
|
.endm
|
|
|
|
.macro setrain
|
|
.byte B_SCR_OP_SETRAIN
|
|
.endm
|
|
|
|
.macro setreflect
|
|
.byte B_SCR_OP_SETREFLECT
|
|
.endm
|
|
|
|
.macro setseeded
|
|
.byte B_SCR_OP_SETSEEDED
|
|
.endm
|
|
|
|
.macro manipulatedamage mode:req
|
|
.byte B_SCR_OP_MANIPULATEDAMAGE
|
|
.byte \mode
|
|
.endm
|
|
|
|
.macro trysetrest ptr:req
|
|
.byte B_SCR_OP_TRYSETREST
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro jumpifnotfirstturn ptr:req
|
|
.byte B_SCR_OP_JUMPIFNOTFIRSTTURN
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro nop
|
|
.byte B_SCR_OP_NOP
|
|
.endm
|
|
|
|
.macro jumpifcantmakeasleep ptr:req
|
|
.byte B_SCR_OP_JUMPIFCANTMAKEASLEEP
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro stockpile
|
|
.byte B_SCR_OP_STOCKPILE
|
|
.endm
|
|
|
|
.macro stockpiletobasedamage ptr:req
|
|
.byte B_SCR_OP_STOCKPILETOBASEDAMAGE
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro stockpiletohpheal ptr:req
|
|
.byte B_SCR_OP_STOCKPILETOHPHEAL
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro negativedamage
|
|
.byte B_SCR_OP_NEGATIVEDAMAGE
|
|
.endm
|
|
|
|
.macro statbuffchange flags:req, jumpptr:req
|
|
.byte B_SCR_OP_STATBUFFCHANGE
|
|
.byte \flags
|
|
.4byte \jumpptr
|
|
.endm
|
|
|
|
.macro normalisebuffs
|
|
.byte B_SCR_OP_NORMALISEBUFFS
|
|
.endm
|
|
|
|
.macro setbide
|
|
.byte B_SCR_OP_SETBIDE
|
|
.endm
|
|
|
|
.macro confuseifrepeatingattackends
|
|
.byte B_SCR_OP_CONFUSEIFREPEATINGATTACKENDS
|
|
.endm
|
|
|
|
.macro setmultihitcounter val:req
|
|
.byte B_SCR_OP_SETMULTIHITCOUNTER
|
|
.byte \val
|
|
.endm
|
|
|
|
.macro initmultihitstring
|
|
.byte B_SCR_OP_INITMULTIHITSTRING
|
|
.endm
|
|
|
|
.macro forcerandomswitch ptr:req
|
|
.byte B_SCR_OP_FORCERANDOMSWITCH
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro tryconversiontypechange ptr:req
|
|
.byte B_SCR_OP_TRYCONVERSIONTYPECHANGE
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro givepaydaymoney
|
|
.byte B_SCR_OP_GIVEPAYDAYMONEY
|
|
.endm
|
|
|
|
.macro setlightscreen
|
|
.byte B_SCR_OP_SETLIGHTSCREEN
|
|
.endm
|
|
|
|
.macro tryKO ptr:req
|
|
.byte B_SCR_OP_TRYKO
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro damagetohalftargethp
|
|
.byte B_SCR_OP_DAMAGETOHALFTARGETHP
|
|
.endm
|
|
|
|
.macro setsandstorm
|
|
.byte B_SCR_OP_SETSANDSTORM
|
|
.endm
|
|
|
|
.macro weatherdamage
|
|
.byte B_SCR_OP_WEATHERDAMAGE
|
|
.endm
|
|
|
|
.macro tryinfatuating ptr:req
|
|
.byte B_SCR_OP_TRYINFATUATING
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro updatestatusicon battler:req
|
|
.byte B_SCR_OP_UPDATESTATUSICON
|
|
.byte \battler
|
|
.endm
|
|
|
|
.macro setmist
|
|
.byte B_SCR_OP_SETMIST
|
|
.endm
|
|
|
|
.macro setfocusenergy
|
|
.byte B_SCR_OP_SETFOCUSENERGY
|
|
.endm
|
|
|
|
.macro transformdataexecution
|
|
.byte B_SCR_OP_TRANSFORMDATAEXECUTION
|
|
.endm
|
|
|
|
.macro setsubstitute
|
|
.byte B_SCR_OP_SETSUBSTITUTE
|
|
.endm
|
|
|
|
.macro mimicattackcopy ptr:req
|
|
.byte B_SCR_OP_MIMICATTACKCOPY
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro metronome
|
|
.byte B_SCR_OP_METRONOME
|
|
.endm
|
|
|
|
.macro dmgtolevel
|
|
.byte B_SCR_OP_DMGTOLEVEL
|
|
.endm
|
|
|
|
.macro psywavedamageeffect
|
|
.byte B_SCR_OP_PSYWAVEDAMAGEEFFECT
|
|
.endm
|
|
|
|
.macro counterdamagecalculator ptr:req
|
|
.byte B_SCR_OP_COUNTERDAMAGECALCULATOR
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro mirrorcoatdamagecalculator ptr:req
|
|
.byte B_SCR_OP_MIRRORCOATDAMAGECALCULATOR
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro disablelastusedattack ptr:req
|
|
.byte B_SCR_OP_DISABLELASTUSEDATTACK
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro trysetencore ptr:req
|
|
.byte B_SCR_OP_TRYSETENCORE
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro painsplitdmgcalc ptr:req
|
|
.byte B_SCR_OP_PAINSPLITDMGCALC
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro settypetorandomresistance ptr:req
|
|
.byte B_SCR_OP_SETTYPETORANDOMRESISTANCE
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro setalwayshitflag
|
|
.byte B_SCR_OP_SETALWAYSHITFLAG
|
|
.endm
|
|
|
|
.macro copymovepermanently ptr:req
|
|
.byte B_SCR_OP_COPYMOVEPERMANENTLY
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro trychoosesleeptalkmove ptr:req
|
|
.byte B_SCR_OP_TRYCHOOSESLEEPTALKMOVE
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro setdestinybond
|
|
.byte B_SCR_OP_SETDESTINYBOND
|
|
.endm
|
|
|
|
.macro trysetdestinybondtohappen
|
|
.byte B_SCR_OP_TRYSETDESTINYBONDTOHAPPEN
|
|
.endm
|
|
|
|
.macro remaininghptopower
|
|
.byte B_SCR_OP_REMAININGHPTOPOWER
|
|
.endm
|
|
|
|
.macro tryspiteppreduce ptr:req
|
|
.byte B_SCR_OP_TRYSPITEPPREDUCE
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro healpartystatus
|
|
.byte B_SCR_OP_HEALPARTYSTATUS
|
|
.endm
|
|
|
|
.macro cursetarget ptr:req
|
|
.byte B_SCR_OP_CURSETARGET
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro trysetspikes ptr:req
|
|
.byte B_SCR_OP_TRYSETSPIKES
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro setforesight
|
|
.byte B_SCR_OP_SETFORESIGHT
|
|
.endm
|
|
|
|
.macro trysetperishsong ptr:req
|
|
.byte B_SCR_OP_TRYSETPERISHSONG
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro rolloutdamagecalculation
|
|
.byte B_SCR_OP_ROLLOUTDAMAGECALCULATION
|
|
.endm
|
|
|
|
.macro jumpifconfusedandstatmaxed stat:req, ptr:req
|
|
.byte B_SCR_OP_JUMPIFCONFUSEDANDSTATMAXED
|
|
.byte \stat
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro furycuttercalc
|
|
.byte B_SCR_OP_FURYCUTTERCALC
|
|
.endm
|
|
|
|
.macro friendshiptodamagecalculation
|
|
.byte B_SCR_OP_FRIENDSHIPTODAMAGECALCULATION
|
|
.endm
|
|
|
|
.macro presentdamagecalculation
|
|
.byte B_SCR_OP_PRESENTDAMAGECALCULATION
|
|
.endm
|
|
|
|
.macro setsafeguard
|
|
.byte B_SCR_OP_SETSAFEGUARD
|
|
.endm
|
|
|
|
.macro magnitudedamagecalculation
|
|
.byte B_SCR_OP_MAGNITUDEDAMAGECALCULATION
|
|
.endm
|
|
|
|
.macro jumpifnopursuitswitchdmg ptr:req
|
|
.byte B_SCR_OP_JUMPIFNOPURSUITSWITCHDMG
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro setsunny
|
|
.byte B_SCR_OP_SETSUNNY
|
|
.endm
|
|
|
|
.macro maxattackhalvehp ptr:req
|
|
.byte B_SCR_OP_MAXATTACKHALVEHP
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro copyfoestats ptr:req
|
|
.byte B_SCR_OP_COPYFOESTATS
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro rapidspinfree
|
|
.byte B_SCR_OP_RAPIDSPINFREE
|
|
.endm
|
|
|
|
.macro setdefensecurlbit
|
|
.byte B_SCR_OP_SETDEFENSECURLBIT
|
|
.endm
|
|
|
|
.macro recoverbasedonsunlight ptr:req
|
|
.byte B_SCR_OP_RECOVERBASEDONSUNLIGHT
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro hiddenpowercalc
|
|
.byte B_SCR_OP_HIDDENPOWERCALC
|
|
.endm
|
|
|
|
.macro selectfirstvalidtarget
|
|
.byte B_SCR_OP_SELECTFIRSTVALIDTARGET
|
|
.endm
|
|
|
|
.macro trysetfutureattack ptr:req
|
|
.byte B_SCR_OP_TRYSETFUTUREATTACK
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro trydobeatup endPtr:req, failPtr:req
|
|
.byte B_SCR_OP_TRYDOBEATUP
|
|
.4byte \endPtr
|
|
.4byte \failPtr
|
|
.endm
|
|
|
|
.macro setsemiinvulnerablebit
|
|
.byte B_SCR_OP_SETSEMIINVULNERABLEBIT
|
|
.endm
|
|
|
|
.macro clearsemiinvulnerablebit
|
|
.byte B_SCR_OP_CLEARSEMIINVULNERABLEBIT
|
|
.endm
|
|
|
|
.macro setminimize
|
|
.byte B_SCR_OP_SETMINIMIZE
|
|
.endm
|
|
|
|
.macro sethail
|
|
.byte B_SCR_OP_SETHAIL
|
|
.endm
|
|
|
|
.macro trymemento ptr:req
|
|
.byte B_SCR_OP_TRYMEMENTO
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro setforcedtarget
|
|
.byte B_SCR_OP_SETFORCEDTARGET
|
|
.endm
|
|
|
|
.macro setcharge
|
|
.byte B_SCR_OP_SETCHARGE
|
|
.endm
|
|
|
|
.macro callenvironmentattack
|
|
.byte B_SCR_OP_CALLENVIRONMENTATTACK
|
|
.endm
|
|
|
|
.macro cureifburnedparalyzedorpoisoned ptr:req
|
|
.byte B_SCR_OP_CUREIFBURNEDPARALYZEDORPOISONED
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro settorment ptr:req
|
|
.byte B_SCR_OP_SETTORMENT
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro jumpifnodamage ptr:req
|
|
.byte B_SCR_OP_JUMPIFNODAMAGE
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro settaunt ptr:req
|
|
.byte B_SCR_OP_SETTAUNT
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro trysethelpinghand ptr:req
|
|
.byte B_SCR_OP_TRYSETHELPINGHAND
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro tryswapitems ptr:req
|
|
.byte B_SCR_OP_TRYSWAPITEMS
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro trycopyability ptr:req
|
|
.byte B_SCR_OP_TRYCOPYABILITY
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro trywish turnNumber:req, ptr:req
|
|
.byte B_SCR_OP_TRYWISH
|
|
.byte \turnNumber
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro trysetroots ptr:req
|
|
.byte B_SCR_OP_TRYSETROOTS
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro doubledamagedealtifdamaged
|
|
.byte B_SCR_OP_DOUBLEDAMAGEDEALTIFDAMAGED
|
|
.endm
|
|
|
|
.macro setyawn ptr:req
|
|
.byte B_SCR_OP_SETYAWN
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro setdamagetohealthdifference ptr:req
|
|
.byte B_SCR_OP_SETDAMAGETOHEALTHDIFFERENCE
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro scaledamagebyhealthratio
|
|
.byte B_SCR_OP_SCALEDAMAGEBYHEALTHRATIO
|
|
.endm
|
|
|
|
.macro tryswapabilities ptr:req
|
|
.byte B_SCR_OP_TRYSWAPABILITIES
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro tryimprison ptr:req
|
|
.byte B_SCR_OP_TRYIMPRISON
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro trysetgrudge ptr:req
|
|
.byte B_SCR_OP_TRYSETGRUDGE
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro weightdamagecalculation
|
|
.byte B_SCR_OP_WEIGHTDAMAGECALCULATION
|
|
.endm
|
|
|
|
.macro assistattackselect ptr:req
|
|
.byte B_SCR_OP_ASSISTATTACKSELECT
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro trysetmagiccoat ptr:req
|
|
.byte B_SCR_OP_TRYSETMAGICCOAT
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro trysetsnatch ptr:req
|
|
.byte B_SCR_OP_TRYSETSNATCH
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro trygetintimidatetarget ptr:req
|
|
.byte B_SCR_OP_TRYGETINTIMIDATETARGET
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro switchoutabilities battler:req
|
|
.byte B_SCR_OP_SWITCHOUTABILITIES
|
|
.byte \battler
|
|
.endm
|
|
|
|
.macro jumpifhasnohp battler:req, ptr:req
|
|
.byte B_SCR_OP_JUMPIFHASNOHP
|
|
.byte \battler
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro getsecretpowereffect
|
|
.byte B_SCR_OP_GETSECRETPOWEREFFECT
|
|
.endm
|
|
|
|
.macro pickup
|
|
.byte B_SCR_OP_PICKUP
|
|
.endm
|
|
|
|
.macro docastformchangeanimation
|
|
.byte B_SCR_OP_DOCASTFORMCHANGEANIMATION
|
|
.endm
|
|
|
|
.macro trycastformdatachange
|
|
.byte B_SCR_OP_TRYCASTFORMDATACHANGE
|
|
.endm
|
|
|
|
.macro settypebasedhalvers ptr:req
|
|
.byte B_SCR_OP_SETTYPEBASEDHALVERS
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro setweatherballtype
|
|
.byte B_SCR_OP_SETWEATHERBALLTYPE
|
|
.endm
|
|
|
|
.macro tryrecycleitem ptr:req
|
|
.byte B_SCR_OP_TRYRECYCLEITEM
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro settypetoenvironment ptr:req
|
|
.byte B_SCR_OP_SETTYPETOENVIRONMENT
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro pursuitdoubles ptr:req
|
|
.byte B_SCR_OP_PURSUITDOUBLES
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro snatchsetbattlers
|
|
.byte B_SCR_OP_SNATCHSETBATTLERS
|
|
.endm
|
|
|
|
.macro removelightscreenreflect
|
|
.byte B_SCR_OP_REMOVELIGHTSCREENREFLECT
|
|
.endm
|
|
|
|
.macro handleballthrow
|
|
.byte B_SCR_OP_HANDLEBALLTHROW
|
|
.endm
|
|
|
|
.macro givecaughtmon
|
|
.byte B_SCR_OP_GIVECAUGHTMON
|
|
.endm
|
|
|
|
.macro trysetcaughtmondexflags ptr:req
|
|
.byte B_SCR_OP_TRYSETCAUGHTMONDEXFLAGS
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro displaydexinfo
|
|
.byte B_SCR_OP_DISPLAYDEXINFO
|
|
.endm
|
|
|
|
.macro trygivecaughtmonnick ptr:req
|
|
.byte B_SCR_OP_TRYGIVECAUGHTMONNICK
|
|
.4byte \ptr
|
|
.endm
|
|
|
|
.macro subattackerhpbydmg
|
|
.byte B_SCR_OP_SUBATTACKERHPBYDMG
|
|
.endm
|
|
|
|
.macro removeattackerstatus1
|
|
.byte B_SCR_OP_REMOVEATTACKERSTATUS1
|
|
.endm
|
|
|
|
.macro finishaction
|
|
.byte B_SCR_OP_FINISHACTION
|
|
.endm
|
|
|
|
.macro finishturn
|
|
.byte B_SCR_OP_FINISHTURN
|
|
.endm
|
|
|
|
.macro trainerslideout position:req
|
|
.byte B_SCR_OP_TRAINERSLIDEOUT
|
|
.byte \position
|
|
.endm
|
|
|
|
@ various command changed to more readable macros
|
|
.macro cancelmultiturnmoves battler:req
|
|
various \battler, VARIOUS_CANCEL_MULTI_TURN_MOVES
|
|
.endm
|
|
|
|
.macro setmagiccoattarget battler:req
|
|
various \battler, VARIOUS_SET_MAGIC_COAT_TARGET
|
|
.endm
|
|
|
|
.macro getifcantrunfrombattle battler:req
|
|
various \battler, VARIOUS_IS_RUNNING_IMPOSSIBLE
|
|
.endm
|
|
|
|
.macro getmovetarget battler:req
|
|
various \battler, VARIOUS_GET_MOVE_TARGET
|
|
.endm
|
|
|
|
.macro getbattlerfainted battler:req
|
|
various \battler, VARIOUS_GET_BATTLER_FAINTED
|
|
.endm
|
|
|
|
.macro resetintimidatetracebits battler:req
|
|
various \battler, VARIOUS_RESET_INTIMIDATE_TRACE_BITS
|
|
.endm
|
|
|
|
.macro updatechoicemoveonlvlup battler:req
|
|
various \battler, VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP
|
|
.endm
|
|
|
|
.macro resetplayerfainted
|
|
various BS_ATTACKER, VARIOUS_RESET_PLAYER_FAINTED
|
|
.endm
|
|
|
|
.macro palaceflavortext battler:req
|
|
various \battler, VARIOUS_PALACE_FLAVOR_TEXT
|
|
.endm
|
|
|
|
.macro arenajudgmentwindow
|
|
various BS_ATTACKER, VARIOUS_ARENA_JUDGMENT_WINDOW
|
|
.endm
|
|
|
|
.macro arenaopponentmonlost
|
|
various BS_ATTACKER, VARIOUS_ARENA_OPPONENT_MON_LOST
|
|
.endm
|
|
|
|
.macro arenaplayermonlost
|
|
various BS_ATTACKER, VARIOUS_ARENA_PLAYER_MON_LOST
|
|
.endm
|
|
|
|
.macro arenabothmonlost
|
|
various BS_ATTACKER, VARIOUS_ARENA_BOTH_MONS_LOST
|
|
.endm
|
|
|
|
.macro forfeityesnobox battler:req
|
|
various \battler, VARIOUS_EMIT_YESNOBOX
|
|
.endm
|
|
|
|
.macro arenadrawreftextbox
|
|
various BS_ATTACKER, VARIOUS_DRAW_ARENA_REF_TEXT_BOX
|
|
.endm
|
|
|
|
.macro arenaerasereftextbox
|
|
various BS_ATTACKER, VARIOUS_ERASE_ARENA_REF_TEXT_BOX
|
|
.endm
|
|
|
|
.macro arenajudgmentstring id:req
|
|
various \id, VARIOUS_ARENA_JUDGMENT_STRING
|
|
.endm
|
|
|
|
.macro arenawaitmessage id:req
|
|
various \id, VARIOUS_ARENA_WAIT_STRING
|
|
.endm
|
|
|
|
.macro waitcry battler:req
|
|
various \battler, VARIOUS_WAIT_CRY
|
|
.endm
|
|
|
|
.macro returnopponentmon1toball battler:req
|
|
various \battler, VARIOUS_RETURN_OPPONENT_MON1
|
|
.endm
|
|
|
|
.macro returnopponentmon2toball battler:req
|
|
various \battler, VARIOUS_RETURN_OPPONENT_MON2
|
|
.endm
|
|
|
|
.macro volumedown
|
|
various BS_ATTACKER, VARIOUS_VOLUME_DOWN
|
|
.endm
|
|
|
|
.macro volumeup
|
|
various BS_ATTACKER, VARIOUS_VOLUME_UP
|
|
.endm
|
|
|
|
.macro setalreadystatusedmoveattempt battler:req
|
|
various \battler, VARIOUS_SET_ALREADY_STATUS_MOVE_ATTEMPT
|
|
.endm
|
|
|
|
.macro palacetryescapestatus battler:req
|
|
various \battler, VARIOUS_PALACE_TRY_ESCAPE_STATUS
|
|
.endm
|
|
|
|
.macro setoutcomeonteleport battler:req
|
|
various \battler, VARIOUS_SET_TELEPORT_OUTCOME
|
|
.endm
|
|
|
|
.macro playtrainerdefeatbgm battler:req
|
|
various \battler, VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC
|
|
.endm
|
|
|
|
@ helpful macros
|
|
.macro setstatchanger stat:req, stages:req, down:req
|
|
setbyte sSTATCHANGER, \stat | \stages << 4 | \down << 7
|
|
.endm
|
|
|
|
.macro setmoveeffect effect:req
|
|
setbyte cEFFECT_CHOOSER, \effect
|
|
.endm
|
|
|
|
.macro chosenstatus1animation battler:req, status:req
|
|
chosenstatusanimation \battler, 0x0, \status
|
|
.endm
|
|
|
|
.macro chosenstatus2animation battler:req, status:req
|
|
chosenstatusanimation \battler, 0x1, \status
|
|
.endm
|
|
|
|
.macro sethword dst:req, value:req
|
|
setbyte \dst, (\value) & 0xFF
|
|
setbyte \dst + 1, ((\value) >> 8) & 0xFF
|
|
.endm
|
|
|
|
.macro setword dst:req, value:req
|
|
setbyte \dst, (\value) & 0xFF
|
|
setbyte \dst + 1, ((\value) >> 8) & 0xFF
|
|
setbyte \dst + 2, ((\value) >> 16) & 0xFF
|
|
setbyte \dst + 3, ((\value) >> 24) & 0xFF
|
|
.endm
|
|
|
|
.macro copybyte dst:req, src:req
|
|
copyarray \dst, \src, 0x1
|
|
.endm
|
|
|
|
.macro copyhword dst:req, src:req
|
|
copyarray \dst, \src, 0x2
|
|
.endm
|
|
|
|
.macro copyword dst:req, src:req
|
|
copyarray \dst, \src, 0x4
|
|
.endm
|
|
|
|
.macro jumpifbytenotequal byte1:req, byte2:req, jumpptr:req
|
|
jumpifarraynotequal \byte1, \byte2, 0x1, \jumpptr
|
|
.endm
|
|
|
|
.macro jumpifbyteequal byte1:req, byte2:req, jumpptr:req
|
|
jumpifarrayequal \byte1, \byte2, 0x1, \jumpptr
|
|
.endm
|
|
|
|
.macro jumpifmove move:req, jumpptr:req
|
|
jumpifhalfword CMP_EQUAL, gCurrentMove, \move, \jumpptr
|
|
.endm
|
|
|
|
.macro jumpifnotmove move:req, jumpptr:req
|
|
jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, \move, \jumpptr
|
|
.endm
|
|
|
|
.macro jumpifstatus3 battler:req, status:req, jumpptr:req
|
|
jumpifstatus3condition \battler, \status, FALSE, \jumpptr
|
|
.endm
|
|
|
|
.macro jumpifnostatus3 battler:req, status:req, jumpptr:req
|
|
jumpifstatus3condition \battler, \status, TRUE, \jumpptr
|
|
.endm
|
|
|
|
.macro jumpifmovehadnoeffect jumpptr:req
|
|
jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_NO_EFFECT, \jumpptr
|
|
.endm
|
|
|
|
.macro jumpifbattletype flags:req, jumpptr:req
|
|
jumpifword CMP_COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr
|
|
.endm
|
|
|
|
.macro jumpifnotbattletype flags:req, jumpptr:req
|
|
jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr
|
|
.endm
|