mirror of
https://github.com/haven1433/HexManiacAdvance.git
synced 2026-05-21 12:49:43 -05:00
instead of the script line itself knowing that it points to something, pull it down to the argument level, so that each argument knows if it points to something. This will allow a single script line to point to multiple things (like trainers pointing to multiple text or scripts)
342 lines
9.5 KiB
Plaintext
342 lines
9.5 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
|
|
|
|
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.
|
|
0c datahpupdate battler.
|
|
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.
|
|
19 tryfaintmon battler. fromMove. ptr<>
|
|
1a dofaintanimation battler.
|
|
1b cleareffectsonfaint battler.
|
|
1c jumpifstatus battler. status1:: ptr<`bse`>
|
|
1d jumpifstatus2 battler. status2:: ptr<`bse`>
|
|
1e jumpifability param0. ability. ptr<`bse`>
|
|
1f jumpifsideaffecting battler. sidestatus: ptr<`bse`>
|
|
20 jumpifstat battler. ifflag. stat. value. ptr<`bse`>
|
|
21 jumpifstatus3condition battler. status3:: param2. ptr<`bse`>
|
|
22 jumpiftype battler. type. ptr<`bse`>
|
|
23 getexp battler.
|
|
24 checkteamslost ptr<>
|
|
25 movevaluescleanup
|
|
26 setmultihit value.
|
|
27 decrementmultihit ptr<>
|
|
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.
|
|
3c return
|
|
3d end
|
|
3e end2
|
|
3f end3
|
|
40 jumpifaffectedbyprotect ptr<>
|
|
41 call ptr<`bse`>
|
|
42 jumpiftype2 battler. type. ptr<>
|
|
43 jumpifabilitypresent ability. ptr<>
|
|
44 endselectionscript
|
|
45 playanimation battler. param1. param2::
|
|
46 playanimation2 battler. param1:: param2::
|
|
47 setgraphicalstatchangevalues
|
|
48 playstatchangeanimation battler. param1. param2.
|
|
49 moveend param0. param1.
|
|
|
|
# Help macros for 5 uses of moveend command
|
|
#XX moveendall # All cases
|
|
# moveend 0, 0
|
|
#XX se moveendcase case # Chosen case
|
|
# moveend 1, 0
|
|
#XX om moveendfrom from # All cases from (inclusive)
|
|
# moveend 0, 0
|
|
#XX moveendto {to} # All cases from 0 to (not inclusive)
|
|
# moveend 2, {to}
|
|
#XX om moveendfromto from, {to} # Cases from (inclusive) to (not inclusive)
|
|
# moveend 2, {to}
|
|
|
|
4a typecalc2
|
|
4b returnatktoball
|
|
4c getswitchedmondata battler.
|
|
4d switchindataupdate battler.
|
|
4e switchinanim battler. dontclearsubstitutebit.
|
|
4f jumpifcantswitch battler. ptr<>
|
|
50 openpartyscreen param0. ptr<>
|
|
51 switchhandleorder battler. param1.
|
|
52 switchineffects battler.
|
|
53 trainerslidein battler.
|
|
54 playse song:
|
|
55 fanfare song:
|
|
56 playfaintcry battler.
|
|
57 endlinkbattle
|
|
58 returntoball battler.
|
|
59 handlelearnnewmove param0<> param1<> param2.
|
|
5a yesnoboxlearnmove ptr<>
|
|
5b yesnoboxstoplearningmove ptr<>
|
|
5c hitanimation battler.
|
|
[BPRE_BPGE] 5d getmoneyreward ptr<>
|
|
[BPEE_AXPE_AXVE] 5d getmoneyreward
|
|
5e updatebattlermoves battler.
|
|
5f swapattackerwithtarget
|
|
60 incrementgamestat param0.
|
|
61 drawpartystatussummary battler.
|
|
62 hidepartystatussummary battler.
|
|
63 jumptocalledmove param0.
|
|
64 statusanimation battler.
|
|
65 status2animation battler. status2::
|
|
66 chosenstatusanimation battler. param1. param2::
|
|
67 yesnobox
|
|
68 cancelallactions
|
|
69 adjustsetdamage
|
|
6a removeitem battler.
|
|
6b atknameinbuff1
|
|
6c drawlvlupbox
|
|
6d resetsentmonsvalue
|
|
6e setatktoplayer0
|
|
6f makevisible battler.
|
|
70 recordlastability battler.
|
|
71 buffermovetolearn
|
|
72 jumpifplayerran ptr<>
|
|
73 hpthresholds battler.
|
|
74 hpthresholds2 battler.
|
|
75 useitemonopponent
|
|
76 various battler. param1.
|
|
77 setprotectlike
|
|
78 faintifabilitynotdamp
|
|
79 setatkhptozero
|
|
7a jumpifnexttargetvalid ptr<`bse`>
|
|
7b tryhealhalfhealth ptr<> battler.
|
|
7c trymirrormove
|
|
7d setrain
|
|
7e setreflect
|
|
7f setseeded
|
|
80 manipulatedamage param0.
|
|
81 trysetrest ptr<>
|
|
82 jumpifnotfirstturn ptr<`bse`>
|
|
83 nop
|
|
84 jumpifcantmakeasleep ptr<`bse`>
|
|
85 stockpile
|
|
86 stockpiletobasedamage ptr<>
|
|
87 stockpiletohpheal ptr<>
|
|
88 negativedamage
|
|
89 statbuffchange param0. ptr<>
|
|
8a normalisebuffs
|
|
8b setbide
|
|
8c confuseifrepeatingattackends
|
|
8d setmultihitcounter param0.
|
|
8e initmultihitstring
|
|
8f forcerandomswitch ptr<>
|
|
90 tryconversiontypechange ptr<>
|
|
91 givepaydaymoney
|
|
92 setlightscreen
|
|
93 tryKO ptr<>
|
|
94 damagetohalftargethp
|
|
95 setsandstorm
|
|
96 weatherdamage
|
|
97 tryinfatuating ptr<`bse`>
|
|
98 updatestatusicon battler.
|
|
99 setmist
|
|
9a setfocusenergy
|
|
9b transformdataexecution
|
|
9c setsubstitute
|
|
9d mimicattackcopy ptr<>
|
|
9e metronome
|
|
9f dmgtolevel
|
|
a0 psywavedamageeffect
|
|
a1 counterdamagecalculator ptr<>
|
|
a2 mirrorcoatdamagecalculator ptr<>
|
|
a3 disablelastusedattack ptr<>
|
|
a4 trysetencore ptr<`bse`>
|
|
a5 painsplitdmgcalc ptr<>
|
|
a6 settypetorandomresistance ptr<>
|
|
a7 setalwayshitflag
|
|
a8 copymovepermanently ptr<>
|
|
a9 trychoosesleeptalkmove ptr<`bse`>
|
|
aa setdestinybond
|
|
ab trysetdestinybondtohappen
|
|
ac remaininghptopower
|
|
ad tryspiteppreduce ptr<`bse`>
|
|
ae healpartystatus
|
|
af cursetarget ptr<>
|
|
b0 trysetspikes ptr<`bse`>
|
|
b1 setforesight
|
|
b2 trysetperishsong ptr<`bse`>
|
|
b3 rolloutdamagecalculation
|
|
b4 jumpifconfusedandstatmaxed stat. ptr<`bse`>
|
|
b5 furycuttercalc
|
|
b6 happinesstodamagecalculation
|
|
b7 presentdamagecalculation
|
|
b8 setsafeguard
|
|
b9 magnitudedamagecalculation
|
|
ba jumpifnopursuitswitchdmg ptr<`bse`>
|
|
bb setsunny
|
|
bc maxattackhalvehp ptr<>
|
|
bd copyfoestats ptr<>
|
|
be rapidspinfree
|
|
bf setdefensecurlbit
|
|
c0 recoverbasedonsunlight ptr<>
|
|
c1 hiddenpowercalc
|
|
c2 selectfirstvalidtarget
|
|
c3 trysetfutureattack ptr<>
|
|
c4 trydobeatup param0<> param1<>
|
|
c5 setsemiinvulnerablebit
|
|
c6 clearsemiinvulnerablebit
|
|
c7 setminimize
|
|
c8 sethail
|
|
c9 jumpifattackandspecialattackcannotfall ptr<`bse`>
|
|
ca setforcedtarget
|
|
cb setcharge
|
|
cc callterrainattack
|
|
cd cureifburnedparalysedorpoisoned ptr<>
|
|
ce settorment ptr<>
|
|
cf jumpifnodamage ptr<`bse`>
|
|
d0 settaunt ptr<>
|
|
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<>
|
|
d8 setdamagetohealthdifference ptr<>
|
|
d9 scaledamagebyhealthratio
|
|
da tryswapabilities ptr<`bse`>
|
|
db tryimprison ptr<`bse`>
|
|
dc trysetgrudge ptr<`bse`>
|
|
dd weightdamagecalculation
|
|
de assistattackselect ptr<>
|
|
df trysetmagiccoat ptr<`bse`>
|
|
e0 trysetsnatch ptr<`bse`>
|
|
e1 trygetintimidatetarget ptr<>
|
|
e2 switchoutabilities battler.
|
|
e3 jumpifhasnohp battler. ptr<`bse`>
|
|
e4 getsecretpowereffect
|
|
e5 pickup
|
|
e6 docastformchangeanimation
|
|
e7 trycastformdatachange
|
|
e8 settypebasedhalvers ptr<>
|
|
e9 setweatherballtype
|
|
ea tryrecycleitem ptr<`bse`>
|
|
eb settypetoterrain ptr<>
|
|
ec pursuitdoubles ptr<>
|
|
ed snatchsetbattlers
|
|
ee removelightscreenreflect
|
|
ef handleballthrow
|
|
f0 givecaughtmon
|
|
f1 trysetcaughtmondexflags ptr<>
|
|
f2 displaydexinfo
|
|
f3 trygivecaughtmonnick ptr<>
|
|
f4 subattackerhpbydmg
|
|
f5 removeattackerstatus1
|
|
f6 finishaction
|
|
f7 finishturn
|
|
[BPEE] f8 trainerslideout battler.
|
|
|
|
# various command changed to more readable macros
|
|
#XX cancelmultiturnmoves {battler}
|
|
# various {battler} 0
|
|
#XX setmagiccoattarget {battler}
|
|
# various {battler} 1
|
|
#XX getifcantrunfrombattle {battler}
|
|
# various {battler} 2
|
|
#XX getmovetarget {battler}
|
|
# various {battler} 3
|
|
#XX various4 {battler}
|
|
# various {battler} 4
|
|
#XX resetintimidatetracebits {battler}
|
|
# various {battler} 5
|
|
#XX updatechoicemoveonlvlup {battler}
|
|
# various {battler} 6
|
|
#XX various7 {battler}
|
|
# various {battler} 7
|
|
#XX various8 {battler}
|
|
# various {battler} 8
|
|
#XX returnopponentmon1toball {battler}
|
|
# various {battler} 9
|
|
#XX returnopponentmon2toball {battler}
|
|
# various {battler} 10
|
|
#XX checkpokeflute {battler}
|
|
# various {battler} 11
|
|
#XX waitfanfare {battler}
|
|
# various {battler} 12
|
|
|
|
# helpful macros
|
|
#XX setstatchanger {stat} {stages} {down}
|
|
# setbyte sSTATCHANGER {stat} | {stages} << 4 | {down} << 7
|
|
#XX setmoveeffect {effect}
|
|
# setbyte cEFFECT_CHOOSER {effect}
|
|
#XX chosenstatus1animation {battler} {status}
|
|
# chosenstatusanimation {battler} 0x0 {status}
|
|
#XX chosenstatus2animation {battler} {status}
|
|
# chosenstatusanimation {battler} 0x1 {status}
|
|
#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}
|
|
#XX jumpifmove {move} {jumpptr}
|
|
# jumpifhalfword CMP_EQUAL gCurrentMove {move} {jumpptr}
|
|
#XX jumpifnotmove {move} {jumpptr}
|
|
# jumpifhalfword CMP_NOT_EQUAL gCurrentMove {move} {jumpptr}
|
|
#XX jumpifstatus3 {battler} {status} {jumpptr}
|
|
# jumpifstatus3condition {battler} {status} 0 {jumpptr}
|
|
#XX jumpifnostatus3 {battler} {status} {jumpptr}
|
|
# jumpifstatus3condition {battler} {status} 1 {jumpptr}
|
|
#XX jumpifmovehadnoeffect {jumpptr}
|
|
# jumpifbyte CMP_COMMON_BITS gMoveResultFlags MOVE_RESULT_NO_EFFECT {jumpptr}
|
|
#XX jumpifbattletype {flags} {jumpptr}
|
|
# jumpifword CMP_COMMON_BITS gBattleTypeFlags {flags} {jumpptr}
|
|
#XX jumpifnotbattletype {flags} {jumpptr}
|
|
# jumpifword CMP_NO_COMMON_BITS gBattleTypeFlags {flags} {jumpptr}
|