summaryrefslogtreecommitdiff
path: root/macros/basestats.asm
diff options
context:
space:
mode:
authorPikalaxALT <PikalaxALT@gmail.com>2016-01-29 18:36:31 -0500
committerPikalaxALT <PikalaxALT@gmail.com>2016-01-29 18:36:31 -0500
commit2bf93c5905319e9181f87b3f83cd3bce7b9feeca (patch)
tree3ebf17c8879e5d6243d81aac8f1c36eb226fac26 /macros/basestats.asm
parented3f9395f6d45f6554ed9d9c49c41ea86a8e2447 (diff)
Import stuff from pokecrystal; diff gold and silver
Diffstat (limited to 'macros/basestats.asm')
-rw-r--r--macros/basestats.asm66
1 files changed, 66 insertions, 0 deletions
diff --git a/macros/basestats.asm b/macros/basestats.asm
new file mode 100644
index 00000000..25ffcc02
--- /dev/null
+++ b/macros/basestats.asm
@@ -0,0 +1,66 @@
+define: macro
+if !def(\1)
+\1 equs \2
+endc
+endm
+
+const_value = 0
+
+add_tm: MACRO
+if !def(TM01)
+TM01 = const_value
+ enum_start 1
+endc
+ define _\@_1, "TM_\1"
+ const _\@_1
+ enum \1_TMNUM
+ENDM
+
+add_hm: MACRO
+if !def(HM01)
+HM01 = const_value
+endc
+ define _\@_1, "HM_\1"
+ const _\@_1
+ enum \1_TMNUM
+ENDM
+
+add_mt: MACRO
+ enum \1_TMNUM
+ENDM
+
+tmhm: MACRO
+x = 0
+y = 0
+w = 0
+ rept _NARG
+ if def(\1_TMNUM)
+ if \1_TMNUM < 25
+x = x | (1 << ((\1_TMNUM) - 1))
+ else
+ if \1_TMNUM < 49
+y = y | (1 << ((\1_TMNUM) - 1 - 24))
+ else
+w = w | (1 << ((\1_TMNUM) - 1 - 48))
+ endc
+ endc
+ else
+ fail "\1 is not a TM, HM, or move tutor move"
+ endc
+
+ shift
+ endr
+
+ rept 3
+ db x & $ff
+x = x >> 8
+ endr
+ rept 3
+ db y & $ff
+y = y >> 8
+ endr
+ rept 2
+ db w & $ff
+w = w >> 8
+ endr
+ENDM