Merge yenatch/master.

This commit is contained in:
Bryan Bishop 2013-04-27 17:28:49 -05:00
commit 0e47273378
67 changed files with 17179 additions and 1223 deletions

6
.gitignore vendored
View File

@ -26,8 +26,10 @@ extras/*.json
# for any of the poor souls with save game files in their working directory
baserom.sgm
baserom.sav
pokered.sgm
pokered.sav
baserom.rtc
pokecrystal.sgm
pokecrystal.sav
pokecrystal.rtc
# for vim configuration
# url: http://www.vim.org/scripts/script.php?script_id=441

View File

@ -1,4 +1,21 @@
# Linux
# Getting Started
Compiling requires a certain Pokemon Crystal ROM:
```
Pokemon - Crystal Version (UE) (V1.0) [C][!].gbc
md5: 9f2922b235a5eeb78d65594e82ef5dde
```
Save it as `baserom.gbc` in the repository.
Feel free to ask us on nucleus.kafuka.org #skeetendo if something goes wrong (remember to tell where)!
Don't know how to use IRC? Try [mibbit](http://chat.mibbit.com/?server=nucleus.kafuka.org&channel=#skeetendo).
## Linux
```bash
sudo apt-get install make gcc bison git python python-setuptools
@ -24,153 +41,38 @@ cd pokecrystal
# install python requirements
pip install -r requirements.txt
```
To compile the ROM from ASM source:
```
make clean && make
```
# Windows
Follow these instructions to install `pokecrystal` on Microsoft Windows. Once
installed, you can run `make` to compile `main.asm` into a ROM.
## Installing cygwin
Cygwin provides a virtual linux environment on Windows systems. Just get
`setup.exe`: http://cygwin.com/install.html
During the install:
1. Keep the defaults.
2. It shouldn't matter which mirror you choose, but http://mirrors.kernel.org
seems to work.
3. Select the packages listed below.
You'll be presented with a package selection screen. Select the following
packages (hint: there's a search box).
1. `python` (installed by default)
2. `gcc` and `gcc-core` (under devel)
3. `byacc` (under devel)
4. `make` (under devel)
5. `wget` (under web)
6. `git` (under devel)
7. `mercurial` (optional, if you wish to work with pokered as well)
Let cygwin finish the install. Might take a sec while all packages are
downloading.
## Installing other requirements
Launch cygwin (bash). Maybe you know your way around the linux terminal. If not, a
crash course:
```bash
# list files in current directory
ls
# show current directory
pwd
# change directory
cd /away/we/go
```
The next step is building `rgbds`, the GB assembler. Type:
```bash
# download rgbds source code
git clone git://github.com/bentley/rgbds.git
# compile rgbds
cd rgbds
YACC=byacc make
# make rgbds accessible for all time
export PATH=$PATH:`pwd`
echo "export PATH=$PATH:`pwd`" >> ~/.bashrc
# check if rgbasm is installed now
which rgbasm
```
If that fails (it shouldn't), you can download binaries like so:
```bash
# download rgbds binaries
wget http://diyhpl.us/~bryan/irc/pokered/rgbds/rgbds.zip --output-document=rgbds.zip
# unzip
unzip rgbds.zip
# make rgbds accessible for all time
export PATH=$PATH:`pwd`/rgbds
echo "export PATH=$PATH:`pwd`/rgbds" >> ~/.bashrc
# clean up that zip file
rm rgbds.zip
```
The next step is to install `unittest2`, unless you installed python2.7
earlier:
```bash
cd ~
wget http://peak.telecommunity.com/dist/ez_setup.py
python ez_setup.py
easy_install unittest2
```
Now you should be able to build `pokecrystal` for the first time:
```bash
cd ~
git clone git://github.com/kanzure/pokecrystal.git
cd pokecrystal
```
The final requirement is downloading a certain Pokemon Crystal ROM:
```
Pokemon - Crystal Version (UE) (V1.0) [C][!].gbc
md5: 9f2922b235a5eeb78d65594e82ef5dde
```
Save it as `C:\cygwin\home\(your username)\pokecrystal\baserom.gbc`. You can
check the md5 of a file by typing `md5sum baserom.gbc`.
To compile the ROM from ASM source, type:
```bash
make
```
That will take between 3 and 15 seconds, depending on your computer. If you see
`cmp baserom.gbc pokecrystal.gbc` as the last line, the build was successful!
Rejoice!
`cmp baserom.gbc pokecrystal.gbc` as the last line, the build was successful! Rejoice!
Now you may try messing around with `main.asm`, or just do whatever you wanted
to.
To build again, you should use the following command:
## Windows
```bash
make clean && make
```
Set up [GitHub for Windows](http://windows.github.com/) and clone this repository.
Feel free to ask us on nucleus.kafuka.org #skeetendo if something goes wrong
(remember to tell where)! Don't know how to use IRC? Try
[mibbit](http://mibbit.com/) or something.
If you haven't already, get [Python 2.7](http://www.python.org/ftp/python/2.7.3/python-2.7.3.msi) ([64-bit](http://www.python.org/ftp/python/2.7.3/python-2.7.3.amd64.msi)).
# Contributing changes
Extract the following files from the [RGBDS](https://github.com/downloads/bentley/rgbds/rgbds-0.0.1.zip) package into the repository:
`rgbasm.exe`
`rgbds.exe`
`rgbfix.exe`
`rgblink.exe`
## Setting up a public git repo
Install [make](http://gnuwin32.sourceforge.net/downlinks/make.php) for Windows.
To compile the ROM from ASM source, run `pokecrystal.bat`.
That will take between 3 and 15 seconds, depending on your computer. If you see
`FC: no differences encountered`, the build was successful! Rejoice!
Now you may try messing around with `main.asm`, or just do whatever you wanted to.
# Contributions are welcome!
For those uninitiated with git-based collaboration, and who do not want to setup a server to host git repositories, use GitHub. Register on GitHub and follow [this tutorial to setup ssh keys](https://help.github.com/articles/generating-ssh-keys). Then go to [the pokecrystal repo](https://github.com/kanzure/pokecrystal) and click the giant "fork" button. This will bring you to a page with some instructions regarding `git remote` (follow these steps in your pokecrystal folder).

View File

@ -1,6 +1,7 @@
.SUFFIXES: .asm .tx .o .gbc .png .2bpp .lz
TEXTFILES = text/sweethoney.tx \
TEXTFILES = \
text/sweethoney.tx \
text/phone/bill.tx \
text/phone/elm.tx \
text/phone/mom.tx \
@ -10,7 +11,8 @@ TEXTFILES = text/sweethoney.tx \
text/common_3.tx \
main.tx
VERTGFX = gfx/pics/%.png \
VERTGFX = \
gfx/pics/%.png \
gfx/trainers/%.png
HORIZGFX = $(filter-out gfx/%.png, $(VERTGFX))
@ -24,10 +26,16 @@ HORIZGFX = $(filter-out gfx/%.png, $(VERTGFX))
# so take care to reorganize accordingly
all: pokecrystal.gbc
cmp baserom.gbc $<
win: pokecrystal.gbc
fc baserom.gbc $<
clean:
rm -f main.tx pokecrystal.o pokecrystal.gbc ${TEXTFILES}
winclean:
del main.tx pokecrystal.o pokecrystal.gbc .\text\sweethoney.tx .\text\phone\bill.tx .\text\phone\elm.tx .\text\phone\mom.tx .\text\phone\trainers1.tx .\text\common.tx .\text\common_2.tx .\text\common_3.tx
pokecrystal.o: pokecrystal.asm constants.asm wram.asm ${TEXTFILES}
rgbasm -o pokecrystal.o pokecrystal.asm
@ -38,7 +46,6 @@ pokecrystal.o: pokecrystal.asm constants.asm wram.asm ${TEXTFILES}
pokecrystal.gbc: pokecrystal.o
rgblink -o $@ $<
rgbfix -Cjv -i BYTE -k 01 -l 0x33 -m 0x10 -p 0 -r 3 -t PM_CRYSTAL $@
cmp baserom.gbc $@
lzs: ${VERTGFX} ${HORIZGFX}
@ -51,8 +58,8 @@ front.png: tiles.png
cd extras && python gfx.py png-to-lz --front $@ $(OBJECT_DIRECTORY)/tiles.2bpp
tiles.png:
cd extras && python gfx.py png-to-2bpp $@
.png: ${VERTGFX}
.png:: ${VERTGFX}
cd extras && python gfx.py png-to-lz --vert $@
.png: ${HORIZGFX}
.png:: ${HORIZGFX}
cd extras && python gfx.py png-to-lz $@

View File

@ -4,65 +4,29 @@ This is a hand-crafted disassembly of Pokémon Crystal.
The source code in this project successfully converts back into a ROM image. All source code is meticulously commented.
## Base ROM
The following ROM is required for compiling:
```
Pokemon - Crystal Version (UE) (V1.0) [C][!].gbc
md5: 9f2922b235a5eeb78d65594e82ef5dde
```
Eventually this will not be necessary.
## Installing
Simple.
``` bash
sudo apt-get install make gcc bison git python python-setuptools
# unittest2 is required if using python2.6
sudo easy_install unittest2
sudo easy_install pip
# download rgbds source code
git clone git://github.com/bentley/rgbds.git
# compile rgbds
cd rgbds
make
sudo make install
# check if rgbasm is installed now
which rgbasm
# download pokecrystal
git clone https://github.com/kanzure/pokecrystal.git
cd pokecrystal
pip install -r requirements.txt
make clean && make
```
Also, there are [Windows installation instructions](https://github.com/kanzure/pokecrystal/blob/master/INSTALL.md).
## Assembling
* To assemble, first install RGBDS and put it in your path. The version of RGBDS needed is [rgbds-linux](https://github.com/bentley/rgbds/).
* Next, copy the Pokémon ROM to this directory as "baserom.gbc".
* Then run "make" in your shell.
* This will output a file named "pokecrystal.gbc".
## See also
* disassembly of [Pokémon Red](http://bitbucket.org/iimarckus/pokered).
## Contributing
* Hang out with us on IRC, nucleus.kafuka.org #skeetendo (you can [ use mibbit](http://chat.mibbit.com/) to this server)
* Hang out with us on IRC: `nucleus.kafuka.org #skeetendo` (for example, by
using [mibbit](http://chat.mibbit.com/)).
* Are we missing something? Make a pull request! Contributions are welcome.
* Tackle some [issues](https://github.com/kanzure/pokecrystal/issues)!

View File

@ -0,0 +1,177 @@
; 3fd28
dw BattleCommand01 ; 34084
dw BattleCommand02 ; 343db
dw BattleCommand03 ; 34541
dw BattleCommand04 ; 34555
dw BattleCommand05 ; 34631
dw BattleCommand06 ; 352dc
dw BattleCommand07 ; 346d2
dw BattleCommand08 ; 34cfd
dw BattleCommand09 ; 34d32
dw BattleCommand0a ; 34eee
dw BattleCommand0b ; 34f60
dw BattleCommand0c ; 35004
dw BattleCommand0d ; 35023
dw BattleCommand0e ; 3505e
dw BattleCommand0f ; 35175
dw BattleCommand10 ; 351ad
dw BattleCommand11 ; 351c0
dw BattleCommand12 ; 35250
dw BattleCommand13 ; 35eee
dw BattleCommand14 ; 35e5c
dw BattleCommand15 ; 35fff
dw BattleCommand16 ; 36008
dw BattleCommand17 ; 3608c
dw BattleCommand18 ; 36102
dw BattleCommand19 ; 36165
dw BattleCommand1a ; 37380
dw BattleCommand1b ; 373c9
dw BattleCommand1c ; 361e4
dw BattleCommand1d ; 362e3
dw BattleCommand1e ; 3705c
dw BattleCommand1f ; 3707f
dw BattleCommand20 ; 3710e
dw BattleCommand21 ; 36671
dw BattleCommand22 ; 366e5
dw BattleCommand23 ; 3680f
dw BattleCommand24 ; 369b6
dw BattleCommand25 ; 36aa0
dw BattleCommand26 ; 36af3
dw BattleCommand27 ; 36cb2
dw BattleCommand28 ; 36c7e
dw BattleCommand29 ; 36c98
dw BattleCommand2a ; 36d3b
dw BattleCommand2b ; 36d1d
dw BattleCommand2c ; 3713e
dw BattleCommand2d ; 371cd
dw BattleCommand2e ; 372fc
dw BattleCommand2f ; 35f2c
dw BattleCommand30 ; 36dc7
dw BattleCommand31 ; 36e7c
dw BattleCommand32 ; 36f0b
dw BattleCommand33 ; 36f46
dw BattleCommand34 ; 37418
dw BattleCommand35 ; 36f9d
dw BattleCommand36 ; 36fe1
dw BattleCommand37 ; 36fed
dw BattleCommand38 ; 37e85
dw BattleCommand39 ; 36b4d
dw BattleCommand3a ; 36b3a
dw BattleCommand3b ; 36c2d
dw BattleCommand3c ; 36c2c
dw BattleCommand3d ; 36751
dw BattleCommand3e ; 3671a
dw BattleCommand3f ; 35726
dw BattleCommand40 ; 35813
dw BattleCommand41 ; 35864
dw BattleCommand42 ; 35926
dw BattleCommand43 ; 359d0
dw BattleCommand44 ; 359e6
dw BattleCommand45 ; 35a53
dw BattleCommand46 ; 35a74
dw BattleCommand47 ; 35b16
dw BattleCommand48 ; 35b33
dw BattleCommand49 ; 35bff
dw BattleCommand4a ; 35c0f
dw BattleCommand4b ; 35c94
dw BattleCommand4c ; 35cc9
dw BattleCommand4d ; 36ac9
dw BattleCommand4e ; 346b2
dw BattleCommand4f ; 346cd
dw BattleCommand50 ; 37492
dw BattleCommand51 ; 37517
dw BattleCommand52 ; 37536
dw BattleCommand53 ; 37563
dw BattleCommand54 ; 37588
dw BattleCommand55 ; 37618
dw BattleCommand56 ; 37683
dw BattleCommand57 ; 376a0
dw BattleCommand58 ; 376c2
dw BattleCommand59 ; 376f8
dw BattleCommand5a ; 3766f
dw BattleCommand5b ; 37718
dw BattleCommand5c ; 37734
dw BattleCommand5d ; 37791
dw BattleCommand5e ; 37792
dw BattleCommand5f ; 377ce
dw BattleCommand60 ; 3784b
dw BattleCommand61 ; 37874
dw BattleCommand62 ; 35612
dw BattleCommand63 ; 3790e
dw BattleCommand64 ; 37939
dw BattleCommand65 ; 37972
dw BattleCommand66 ; 37991
dw BattleCommand67 ; 379c9
dw BattleCommand68 ; 37b1d
dw BattleCommand69 ; 37b39
dw BattleCommand6a ; 37b74
dw BattleCommand6b ; 37b78
dw BattleCommand6c ; 37b7c
dw BattleCommand6d ; 37be8
dw BattleCommand6e ; 37bf4
dw BattleCommand6f ; 37c07
dw BattleCommand70 ; 361ac
dw BattleCommand71 ; 361b0
dw BattleCommand72 ; 361b4
dw BattleCommand73 ; 361b8
dw BattleCommand74 ; 361bc
dw BattleCommand75 ; 361c0
dw BattleCommand76 ; 361c4
dw BattleCommand77 ; 361c8
dw BattleCommand78 ; 361cc
dw BattleCommand79 ; 361d0
dw BattleCommand7a ; 361d4
dw BattleCommand7b ; 361d8
dw BattleCommand7c ; 361dc
dw BattleCommand7d ; 361e0
dw BattleCommand7e ; 362ad
dw BattleCommand7f ; 362b1
dw BattleCommand80 ; 362b5
dw BattleCommand81 ; 362b9
dw BattleCommand82 ; 362bd
dw BattleCommand83 ; 362c1
dw BattleCommand84 ; 362c5
dw BattleCommand85 ; 362c9
dw BattleCommand86 ; 362cd
dw BattleCommand87 ; 362d1
dw BattleCommand88 ; 362d5
dw BattleCommand89 ; 362d9
dw BattleCommand8a ; 362dd
dw BattleCommand8b ; 362e1
dw BattleCommand8c ; 363b8
dw BattleCommand8d ; 363e9
dw BattleCommand8e ; 3644c
dw BattleCommand8f ; 3646a
dw BattleCommand90 ; 34ecc
dw BattleCommand91 ; 34fdb
dw BattleCommand92 ; 34fd1
dw BattleCommand93 ; 34ffd
dw BattleCommand94 ; 36a82
dw BattleCommand95 ; 37c1a
dw BattleCommand96 ; 37c55
dw BattleCommand97 ; 36f1d
dw BattleCommand98 ; 36f25
dw BattleCommand99 ; 36f2f
dw BattleCommand9a ; 37c95
dw BattleCommand9b ; 37d0d
dw BattleCommand9c ; 37d34
dw BattleCommand9d ; 37ce6
dw BattleCommand9e ; 37d02
dw BattleCommand9f ; 37d94
dw BattleCommanda0 ; 36778
dw BattleCommanda1 ; 35461
dw BattleCommanda2 ; 3527b
dw BattleCommanda3 ; 34833
dw BattleCommanda4 ; 36500
dw BattleCommanda5 ; 35165
dw BattleCommanda6 ; 365af
dw BattleCommanda7 ; 365c3
dw BattleCommanda8 ; 355b5
dw BattleCommanda9 ; 355d5
dw BattleCommandaa ; 37e80
dw BattleCommandab ; 34f57
dw BattleCommandac ; 3658f
dw BattleCommandad ; 351a5
dw BattleCommandae ; 35197
dw BattleCommandaf ; 365a7
; 3fe86

11200
battle/effect_commands.asm Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,158 @@
dw NormalHit
dw DoSleep
dw PoisonHit
dw LeechHit
dw BurnHit
dw FreezeHit
dw ParalyzeHit
dw Explosion
dw DreamEater
dw MirrorMove
dw AttackUp
dw DefenseUp
dw SpeedUp
dw Growth
dw SpecialDefenseUp
dw AccuracyUp
dw EvasionUp
dw NormalHit
dw Growl
dw DefenseDown
dw StringShot
dw SpecialAttackDown
dw SpecialDefenseDown
dw AccuracyDown
dw SweetScent
dw Haze
dw Bide
dw Rampage
dw Whirlwind
dw MultiHit
dw Conversion
dw FlinchHit
dw Heal
dw Toxic
dw PayDay
dw LightScreen
dw TriAttack
dw NormalHit
dw OHKOHit
dw RazorWind
dw SuperFang
dw StaticDamage
dw Bind
dw NormalHit
dw MultiHit
dw NormalHit
dw Mist
dw FocusEnergy
dw RecoilHit
dw DoConfuse
dw SwordsDance
dw DefenseUp2
dw Agility
dw SpecialAttackUp2
dw Amnesia
dw AccuracyUp2
dw EvasionUp2
dw Transform
dw Charm
dw Screech
dw SpeedDown2
dw SpecialAttackDown2
dw SpecialDefenseDown2
dw AccuracyDown2
dw EvasionDown2
dw Reflect
dw DoPoison
dw DoParalyze
dw AuroraBeam
dw DefenseDownHit
dw SpeedDownHit
dw SpecialAttackDownHit
dw SpecialDefenseDownHit
dw AccuracyDownHit
dw EvasionDownHit
dw SkyAttack
dw ConfuseHit
dw Twineedle
dw NormalHit
dw Substitute
dw HyperBeam
dw Rage
dw Mimic
dw Metronome
dw LeechSeed
dw Splash
dw Disable
dw StaticDamage
dw Psywave
dw Counter
dw Encore
dw PainSplit
dw Snore
dw Conversion2
dw LockOn
dw Sketch
dw DefrostOpponent
dw SleepTalk
dw DestinyBond
dw Reversal
dw Spite
dw FalseSwipe
dw HealBell
dw NormalHit
dw TripleKick
dw Thief
dw MeanLook
dw Nightmare
dw FlameWheel
dw Curse
dw NormalHit
dw Protect
dw Spikes
dw Foresight
dw PerishSong
dw Sandstorm
dw Endure
dw Rollout
dw Swagger
dw FuryCutter
dw Attract
dw Return
dw Present
dw Frustration
dw Safeguard
dw SacredFire
dw Magnitude
dw BatonPass
dw Pursuit
dw RapidSpin
dw NormalHit
dw NormalHit
dw MorningSun
dw Synthesis
dw Moonlight
dw HiddenPower
dw RainDance
dw SunnyDay
dw SteelWing
dw MetalClaw
dw Ancientpower
dw FakeOut
dw BellyDrum
dw PsychUp
dw MirrorCoat
dw SkullBash
dw Twister
dw Earthquake
dw FutureSight
dw Gust
dw Stomp
dw Solarbeam
dw Thunder
dw Teleport
dw BeatUp
dw Fly
dw DefenseCurl

View File

@ -1,257 +1,258 @@
; Characteristics of each move
; animation, effect, power, type, accuracy, PP, effect chance
Move0:
db POUND, $00, 40, NORMAL, $ff, 35, $00
Move1:
db KARATE_CHOP, $00, 50, FIGHTING, $ff, 25, $00
db DOUBLESLAP, $1d, 15, NORMAL, $d8, 10, $00
db COMET_PUNCH, $1d, 18, NORMAL, $d8, 15, $00
db MEGA_PUNCH, $00, 80, NORMAL, $d8, 20, $00
db PAY_DAY, $22, 40, NORMAL, $ff, 20, $00
db FIRE_PUNCH, $04, 75, FIRE, $ff, 15, $19
db ICE_PUNCH, $05, 75, ICE, $ff, 15, $19
db THUNDERPUNCH, $06, 75, ELECTRIC, $ff, 15, $19
db SCRATCH, $00, 40, NORMAL, $ff, 35, $00
db VICEGRIP, $00, 55, NORMAL, $ff, 30, $00
db GUILLOTINE, $26, 0, NORMAL, $4c, 5, $00
db RAZOR_WIND, $27, 80, NORMAL, $bf, 10, $00
db SWORDS_DANCE, $32, 0, NORMAL, $ff, 30, $00
db CUT, $00, 50, NORMAL, $f2, 30, $00
db GUST, $95, 40, FLYING, $ff, 35, $00
db WING_ATTACK, $00, 60, FLYING, $ff, 35, $00
db WHIRLWIND, $1c, 0, NORMAL, $ff, 20, $00
db FLY, $9b, 70, FLYING, $f2, 15, $00
db BIND, $2a, 15, NORMAL, $bf, 20, $00
db SLAM, $00, 80, NORMAL, $bf, 20, $00
db VINE_WHIP, $00, 35, GRASS, $ff, 10, $00
db STOMP, $96, 65, NORMAL, $ff, 20, $4c
db DOUBLE_KICK, $2c, 30, FIGHTING, $ff, 30, $00
db MEGA_KICK, $00, 120, NORMAL, $bf, 5, $00
db JUMP_KICK, $2d, 70, FIGHTING, $f2, 25, $00
db ROLLING_KICK, $1f, 60, FIGHTING, $d8, 15, $4c
db SAND_ATTACK, $17, 0, GROUND, $ff, 15, $00
db HEADBUTT, $1f, 70, NORMAL, $ff, 15, $4c
db HORN_ATTACK, $00, 65, NORMAL, $ff, 25, $00
db FURY_ATTACK, $1d, 15, NORMAL, $d8, 20, $00
db HORN_DRILL, $26, 1, NORMAL, $4c, 5, $00
db TACKLE, $00, 35, NORMAL, $f2, 35, $00
db BODY_SLAM, $06, 85, NORMAL, $ff, 15, $4c
db WRAP, $2a, 15, NORMAL, $d8, 20, $00
db TAKE_DOWN, $30, 90, NORMAL, $d8, 20, $00
db THRASH, $1b, 90, NORMAL, $ff, 20, $00
db DOUBLE_EDGE, $30, 120, NORMAL, $ff, 15, $00
db TAIL_WHIP, $13, 0, NORMAL, $ff, 30, $00
db POISON_STING, $02, 15, POISON, $ff, 35, $4c
db TWINEEDLE, $4d, 25, BUG, $ff, 20, $33
db PIN_MISSILE, $1d, 14, BUG, $d8, 20, $00
db LEER, $13, 0, NORMAL, $ff, 30, $00
db BITE, $1f, 60, DARK, $ff, 25, $4c
db GROWL, $12, 0, NORMAL, $ff, 40, $00
db ROAR, $1c, 0, NORMAL, $ff, 20, $00
db SING, $01, 0, NORMAL, $8c, 15, $00
db SUPERSONIC, $31, 0, NORMAL, $8c, 20, $00
db SONICBOOM, $29, 20, NORMAL, $e5, 20, $00
db DISABLE, $56, 0, NORMAL, $8c, 20, $00
db ACID, $45, 40, POISON, $ff, 30, $19
db EMBER, $04, 40, FIRE, $ff, 25, $19
db FLAMETHROWER, $04, 95, FIRE, $ff, 15, $19
db MIST, $2e, 0, ICE, $ff, 30, $00
db WATER_GUN, $00, 40, WATER, $ff, 25, $00
db HYDRO_PUMP, $00, 120, WATER, $cc, 5, $00
db SURF, $00, 95, WATER, $ff, 15, $00
db ICE_BEAM, $05, 95, ICE, $ff, 10, $19
db BLIZZARD, $05, 120, ICE, $b2, 5, $19
db PSYBEAM, $4c, 65, PSYCHIC, $ff, 20, $19
db BUBBLEBEAM, $46, 65, WATER, $ff, 20, $19
db AURORA_BEAM, $44, 65, ICE, $ff, 20, $19
db HYPER_BEAM, $50, 150, NORMAL, $e5, 5, $00
db PECK, $00, 35, FLYING, $ff, 35, $00
db DRILL_PECK, $00, 80, FLYING, $ff, 20, $00
db SUBMISSION, $30, 80, FIGHTING, $cc, 25, $00
db LOW_KICK, $1f, 50, FIGHTING, $e5, 20, $4c
db COUNTER, $59, 1, FIGHTING, $ff, 20, $00
db SEISMIC_TOSS, $57, 1, FIGHTING, $ff, 20, $00
db STRENGTH, $00, 80, NORMAL, $ff, 15, $00
db ABSORB, $03, 20, GRASS, $ff, 20, $00
db MEGA_DRAIN, $03, 40, GRASS, $ff, 10, $00
db LEECH_SEED, $54, 0, GRASS, $e5, 10, $00
db GROWTH, $0d, 0, NORMAL, $ff, 40, $00
db RAZOR_LEAF, $00, 55, GRASS, $f2, 25, $00
db SOLARBEAM, $97, 120, GRASS, $ff, 10, $00
db POISONPOWDER, $42, 0, POISON, $bf, 35, $00
db STUN_SPORE, $43, 0, GRASS, $bf, 30, $00
db SLEEP_POWDER, $01, 0, GRASS, $bf, 15, $00
db PETAL_DANCE, $1b, 70, GRASS, $ff, 20, $00
db STRING_SHOT, $14, 0, BUG, $f2, 40, $00
db DRAGON_RAGE, $29, 40, DRAGON, $ff, 10, $00
db FIRE_SPIN, $2a, 15, FIRE, $b2, 15, $00
db THUNDERSHOCK, $06, 40, ELECTRIC, $ff, 30, $19
db THUNDERBOLT, $06, 95, ELECTRIC, $ff, 15, $19
db THUNDER_WAVE, $43, 0, ELECTRIC, $ff, 20, $00
db THUNDER, $98, 120, ELECTRIC, $b2, 10, $4c
db ROCK_THROW, $00, 50, ROCK, $e5, 15, $00
db EARTHQUAKE, $93, 100, GROUND, $ff, 10, $00
db FISSURE, $26, 1, GROUND, $4c, 5, $00
db DIG, $9b, 60, GROUND, $ff, 10, $00
db TOXIC, $21, 0, POISON, $d8, 10, $00
db CONFUSION, $4c, 50, PSYCHIC, $ff, 25, $19
db PSYCHIC_M, $48, 90, PSYCHIC, $ff, 10, $19
db HYPNOSIS, $01, 0, PSYCHIC, $99, 20, $00
db MEDITATE, $0a, 0, PSYCHIC, $ff, 40, $00
db AGILITY, $34, 0, PSYCHIC, $ff, 30, $00
db QUICK_ATTACK, $67, 40, NORMAL, $ff, 30, $00
db RAGE, $51, 20, NORMAL, $ff, 20, $00
db TELEPORT, $99, 0, PSYCHIC, $ff, 20, $00
db NIGHT_SHADE, $57, 1, GHOST, $ff, 15, $00
db MIMIC, $52, 0, NORMAL, $ff, 10, $00
db SCREECH, $3b, 0, NORMAL, $d8, 40, $00
db DOUBLE_TEAM, $10, 0, NORMAL, $ff, 15, $00
db RECOVER, $20, 0, NORMAL, $ff, 20, $00
db HARDEN, $0b, 0, NORMAL, $ff, 30, $00
db MINIMIZE, $10, 0, NORMAL, $ff, 20, $00
db SMOKESCREEN, $17, 0, NORMAL, $ff, 20, $00
db CONFUSE_RAY, $31, 0, GHOST, $ff, 10, $00
db WITHDRAW, $0b, 0, WATER, $ff, 40, $00
db DEFENSE_CURL, $9c, 0, NORMAL, $ff, 40, $00
db BARRIER, $33, 0, PSYCHIC, $ff, 30, $00
db LIGHT_SCREEN, $23, 0, PSYCHIC, $ff, 30, $00
db HAZE, $19, 0, ICE, $ff, 30, $00
db REFLECT, $41, 0, PSYCHIC, $ff, 20, $00
db FOCUS_ENERGY, $2f, 0, NORMAL, $ff, 30, $00
db BIDE, $1a, 0, NORMAL, $ff, 10, $00
db METRONOME, $53, 0, NORMAL, $ff, 10, $00
db MIRROR_MOVE, $09, 0, FLYING, $ff, 20, $00
db SELFDESTRUCT, $07, 200, NORMAL, $ff, 5, $00
db EGG_BOMB, $00, 100, NORMAL, $bf, 10, $00
db LICK, $06, 20, GHOST, $ff, 30, $4c
db SMOG, $02, 20, POISON, $b2, 20, $66
db SLUDGE, $02, 65, POISON, $ff, 20, $4c
db BONE_CLUB, $1f, 65, GROUND, $d8, 20, $19
db FIRE_BLAST, $04, 120, FIRE, $d8, 5, $19
db WATERFALL, $00, 80, WATER, $ff, 15, $00
db CLAMP, $2a, 35, WATER, $bf, 10, $00
db SWIFT, $11, 60, NORMAL, $ff, 20, $00
db SKULL_BASH, $91, 100, NORMAL, $ff, 15, $00
db SPIKE_CANNON, $1d, 20, NORMAL, $ff, 15, $00
db CONSTRICT, $46, 10, NORMAL, $ff, 35, $19
db AMNESIA, $36, 0, PSYCHIC, $ff, 20, $00
db KINESIS, $17, 0, PSYCHIC, $cc, 15, $00
db SOFTBOILED, $20, 0, NORMAL, $ff, 10, $00
db HI_JUMP_KICK, $2d, 85, FIGHTING, $e5, 20, $00
db GLARE, $43, 0, NORMAL, $bf, 30, $00
db DREAM_EATER, $08, 100, PSYCHIC, $ff, 15, $00
db POISON_GAS, $42, 0, POISON, $8c, 40, $00
db BARRAGE, $1d, 15, NORMAL, $d8, 20, $00
db LEECH_LIFE, $03, 20, BUG, $ff, 15, $00
db LOVELY_KISS, $01, 0, NORMAL, $bf, 10, $00
db SKY_ATTACK, $4b, 140, FLYING, $e5, 5, $00
db TRANSFORM, $39, 0, NORMAL, $ff, 10, $00
db BUBBLE, $46, 20, WATER, $ff, 30, $19
db DIZZY_PUNCH, $4c, 70, NORMAL, $ff, 10, $33
db SPORE, $01, 0, GRASS, $ff, 15, $00
db FLASH, $17, 0, NORMAL, $b2, 20, $00
db PSYWAVE, $58, 1, PSYCHIC, $cc, 15, $00
db SPLASH, $55, 0, NORMAL, $ff, 40, $00
db ACID_ARMOR, $33, 0, POISON, $ff, 40, $00
db CRABHAMMER, $00, 90, WATER, $d8, 10, $00
db EXPLOSION, $07, 250, NORMAL, $ff, 5, $00
db FURY_SWIPES, $1d, 18, NORMAL, $cc, 15, $00
db BONEMERANG, $2c, 50, GROUND, $e5, 10, $00
db REST, $20, 0, PSYCHIC, $ff, 10, $00
db ROCK_SLIDE, $1f, 75, ROCK, $e5, 10, $4c
db HYPER_FANG, $1f, 80, NORMAL, $e5, 15, $19
db SHARPEN, $0a, 0, NORMAL, $ff, 30, $00
db CONVERSION, $1e, 0, NORMAL, $ff, 30, $00
db TRI_ATTACK, $24, 80, NORMAL, $ff, 10, $33
db SUPER_FANG, $28, 1, NORMAL, $e5, 10, $00
db SLASH, $00, 70, NORMAL, $ff, 20, $00
db SUBSTITUTE, $4f, 0, NORMAL, $ff, 10, $00
db STRUGGLE, $30, 50, NORMAL, $ff, 1, $00
db SKETCH, $5f, 0, NORMAL, $ff, 1, $00
db TRIPLE_KICK, $68, 10, FIGHTING, $e5, 10, $00
db THIEF, $69, 40, DARK, $ff, 10, $ff
db SPIDER_WEB, $6a, 0, BUG, $ff, 10, $00
db MIND_READER, $5e, 0, NORMAL, $ff, 5, $00
db NIGHTMARE, $6b, 0, GHOST, $ff, 15, $00
db FLAME_WHEEL, $6c, 60, FIRE, $ff, 25, $19
db SNORE, $5c, 40, NORMAL, $ff, 15, $4c
db CURSE, $6d, 0, CURSE_T, $ff, 10, $00
db FLAIL, $63, 1, NORMAL, $ff, 15, $00
db CONVERSION2, $5d, 0, NORMAL, $ff, 30, $00
db AEROBLAST, $00, 100, FLYING, $f2, 5, $00
db COTTON_SPORE, $3c, 0, GRASS, $d8, 40, $00
db REVERSAL, $63, 1, FIGHTING, $ff, 15, $00
db SPITE, $64, 0, GHOST, $ff, 10, $00
db POWDER_SNOW, $05, 40, ICE, $ff, 25, $19
db PROTECT, $6f, 0, NORMAL, $ff, 10, $00
db MACH_PUNCH, $67, 40, FIGHTING, $ff, 30, $00
db SCARY_FACE, $3c, 0, NORMAL, $e5, 10, $00
db FAINT_ATTACK, $11, 60, DARK, $ff, 20, $00
db SWEET_KISS, $31, 0, NORMAL, $bf, 10, $00
db BELLY_DRUM, $8e, 0, NORMAL, $ff, 10, $00
db SLUDGE_BOMB, $02, 90, POISON, $ff, 10, $4c
db MUD_SLAP, $49, 20, GROUND, $ff, 10, $ff
db OCTAZOOKA, $49, 65, WATER, $d8, 10, $7f
db SPIKES, $70, 0, GROUND, $ff, 20, $00
db ZAP_CANNON, $06, 100, ELECTRIC, $7f, 5, $ff
db FORESIGHT, $71, 0, NORMAL, $ff, 40, $00
db DESTINY_BOND, $62, 0, GHOST, $ff, 5, $00
db PERISH_SONG, $72, 0, NORMAL, $ff, 5, $00
db ICY_WIND, $46, 55, ICE, $f2, 15, $ff
db DETECT, $6f, 0, FIGHTING, $ff, 5, $00
db BONE_RUSH, $1d, 25, GROUND, $cc, 10, $00
db LOCK_ON, $5e, 0, NORMAL, $ff, 5, $00
db OUTRAGE, $1b, 90, DRAGON, $ff, 15, $00
db SANDSTORM, $73, 0, ROCK, $ff, 10, $00
db GIGA_DRAIN, $03, 60, GRASS, $ff, 5, $00
db ENDURE, $74, 0, NORMAL, $ff, 10, $00
db CHARM, $3a, 0, NORMAL, $ff, 20, $00
db ROLLOUT, $75, 30, ROCK, $e5, 20, $00
db FALSE_SWIPE, $65, 40, NORMAL, $ff, 40, $00
db SWAGGER, $76, 0, NORMAL, $e5, 15, $ff
db MILK_DRINK, $20, 0, NORMAL, $ff, 10, $00
db SPARK, $06, 65, ELECTRIC, $ff, 20, $4c
db FURY_CUTTER, $77, 10, BUG, $f2, 20, $00
db STEEL_WING, $8a, 70, STEEL, $e5, 25, $19
db MEAN_LOOK, $6a, 0, NORMAL, $ff, 5, $00
db ATTRACT, $78, 0, NORMAL, $ff, 15, $00
db SLEEP_TALK, $61, 0, NORMAL, $ff, 10, $00
db HEAL_BELL, $66, 0, NORMAL, $ff, 5, $00
db RETURN, $79, 1, NORMAL, $ff, 20, $00
db PRESENT, $7a, 1, NORMAL, $e5, 15, $00
db FRUSTRATION, $7b, 1, NORMAL, $ff, 20, $00
db SAFEGUARD, $7c, 0, NORMAL, $ff, 25, $00
db PAIN_SPLIT, $5b, 0, NORMAL, $ff, 20, $00
db SACRED_FIRE, $7d, 100, FIRE, $f2, 5, $7f
db MAGNITUDE, $7e, 1, GROUND, $ff, 30, $00
db DYNAMICPUNCH, $4c, 100, FIGHTING, $7f, 5, $ff
db MEGAHORN, $00, 120, BUG, $d8, 10, $00
db DRAGONBREATH, $06, 60, DRAGON, $ff, 20, $4c
db BATON_PASS, $7f, 0, NORMAL, $ff, 40, $00
db ENCORE, $5a, 0, NORMAL, $ff, 5, $00
db PURSUIT, $80, 40, DARK, $ff, 20, $00
db RAPID_SPIN, $81, 20, NORMAL, $ff, 40, $00
db SWEET_SCENT, $18, 0, NORMAL, $ff, 20, $00
db IRON_TAIL, $45, 100, STEEL, $bf, 15, $4c
db METAL_CLAW, $8b, 50, STEEL, $f2, 35, $19
db VITAL_THROW, $11, 70, FIGHTING, $ff, 10, $00
db MORNING_SUN, $84, 0, NORMAL, $ff, 5, $00
db SYNTHESIS, $85, 0, GRASS, $ff, 5, $00
db MOONLIGHT, $86, 0, NORMAL, $ff, 5, $00
db HIDDEN_POWER, $87, 1, NORMAL, $ff, 15, $00
db CROSS_CHOP, $00, 100, FIGHTING, $cc, 5, $00
db TWISTER, $92, 40, DRAGON, $ff, 20, $33
db RAIN_DANCE, $88, 0, WATER, $e5, 5, $00
db SUNNY_DAY, $89, 0, FIRE, $e5, 5, $00
db CRUNCH, $48, 80, DARK, $ff, 15, $33
db MIRROR_COAT, $90, 1, PSYCHIC, $ff, 20, $00
db PSYCH_UP, $8f, 0, NORMAL, $ff, 10, $00
db EXTREMESPEED, $67, 80, NORMAL, $ff, 5, $00
db ANCIENTPOWER, $8c, 60, ROCK, $ff, 5, $19
db SHADOW_BALL, $48, 80, GHOST, $ff, 15, $33
db FUTURE_SIGHT, $94, 80, PSYCHIC, $e5, 15, $00
db ROCK_SMASH, $45, 20, FIGHTING, $ff, 15, $7f
db WHIRLPOOL, $2a, 15, WATER, $b2, 15, $00
db BEAT_UP, $9a, 10, DARK, $ff, 10, $00
Move1:
db POUND, EFFECT_NORMAL_HIT, 40, NORMAL, $ff, 35, $00
Move2:
db KARATE_CHOP, EFFECT_NORMAL_HIT, 50, FIGHTING, $ff, 25, $00
db DOUBLESLAP, EFFECT_MULTI_HIT, 15, NORMAL, $d8, 10, $00
db COMET_PUNCH, EFFECT_MULTI_HIT, 18, NORMAL, $d8, 15, $00
db MEGA_PUNCH, EFFECT_NORMAL_HIT, 80, NORMAL, $d8, 20, $00
db PAY_DAY, EFFECT_PAY_DAY, 40, NORMAL, $ff, 20, $00
db FIRE_PUNCH, EFFECT_BURN_HIT, 75, FIRE, $ff, 15, $19
db ICE_PUNCH, EFFECT_FREEZE_HIT, 75, ICE, $ff, 15, $19
db THUNDERPUNCH, EFFECT_PARALYZE_HIT, 75, ELECTRIC, $ff, 15, $19
db SCRATCH, EFFECT_NORMAL_HIT, 40, NORMAL, $ff, 35, $00
db VICEGRIP, EFFECT_NORMAL_HIT, 55, NORMAL, $ff, 30, $00
db GUILLOTINE, EFFECT_OHKO, 0, NORMAL, $4c, 5, $00
db RAZOR_WIND, EFFECT_RAZOR_WIND, 80, NORMAL, $bf, 10, $00
db SWORDS_DANCE, EFFECT_ATTACK_UP_2, 0, NORMAL, $ff, 30, $00
db CUT, EFFECT_NORMAL_HIT, 50, NORMAL, $f2, 30, $00
db GUST, EFFECT_GUST, 40, FLYING, $ff, 35, $00
db WING_ATTACK, EFFECT_NORMAL_HIT, 60, FLYING, $ff, 35, $00
db WHIRLWIND, EFFECT_WHIRLWIND, 0, NORMAL, $ff, 20, $00
db FLY, EFFECT_FLY, 70, FLYING, $f2, 15, $00
db BIND, EFFECT_BIND, 15, NORMAL, $bf, 20, $00
db SLAM, EFFECT_NORMAL_HIT, 80, NORMAL, $bf, 20, $00
db VINE_WHIP, EFFECT_NORMAL_HIT, 35, GRASS, $ff, 10, $00
db STOMP, EFFECT_STOMP, 65, NORMAL, $ff, 20, $4c
db DOUBLE_KICK, EFFECT_DOUBLE_HIT, 30, FIGHTING, $ff, 30, $00
db MEGA_KICK, EFFECT_NORMAL_HIT, 120, NORMAL, $bf, 5, $00
db JUMP_KICK, EFFECT_JUMP_KICK, 70, FIGHTING, $f2, 25, $00
db ROLLING_KICK, EFFECT_FLINCH_HIT, 60, FIGHTING, $d8, 15, $4c
db SAND_ATTACK, EFFECT_ACCURACY_DOWN, 0, GROUND, $ff, 15, $00
db HEADBUTT, EFFECT_FLINCH_HIT, 70, NORMAL, $ff, 15, $4c
db HORN_ATTACK, EFFECT_NORMAL_HIT, 65, NORMAL, $ff, 25, $00
db FURY_ATTACK, EFFECT_MULTI_HIT, 15, NORMAL, $d8, 20, $00
db HORN_DRILL, EFFECT_OHKO, 1, NORMAL, $4c, 5, $00
db TACKLE, EFFECT_NORMAL_HIT, 35, NORMAL, $f2, 35, $00
db BODY_SLAM, EFFECT_PARALYZE_HIT, 85, NORMAL, $ff, 15, $4c
db WRAP, EFFECT_BIND, 15, NORMAL, $d8, 20, $00
db TAKE_DOWN, EFFECT_RECOIL_HIT, 90, NORMAL, $d8, 20, $00
db THRASH, EFFECT_RAMPAGE, 90, NORMAL, $ff, 20, $00
db DOUBLE_EDGE, EFFECT_RECOIL_HIT, 120, NORMAL, $ff, 15, $00
db TAIL_WHIP, EFFECT_DEFENSE_DOWN, 0, NORMAL, $ff, 30, $00
db POISON_STING, EFFECT_POISON_HIT, 15, POISON, $ff, 35, $4c
db TWINEEDLE, EFFECT_TWINEEDLE, 25, BUG, $ff, 20, $33
db PIN_MISSILE, EFFECT_MULTI_HIT, 14, BUG, $d8, 20, $00
db LEER, EFFECT_DEFENSE_DOWN, 0, NORMAL, $ff, 30, $00
db BITE, EFFECT_FLINCH_HIT, 60, DARK, $ff, 25, $4c
db GROWL, EFFECT_ATTACK_DOWN, 0, NORMAL, $ff, 40, $00
db ROAR, EFFECT_WHIRLWIND, 0, NORMAL, $ff, 20, $00
db SING, EFFECT_SLEEP, 0, NORMAL, $8c, 15, $00
db SUPERSONIC, EFFECT_CONFUSE, 0, NORMAL, $8c, 20, $00
db SONICBOOM, EFFECT_STATIC_DAMAGE, 20, NORMAL, $e5, 20, $00
db DISABLE, EFFECT_DISABLE, 0, NORMAL, $8c, 20, $00
db ACID, EFFECT_DEFENSE_DOWN_HIT, 40, POISON, $ff, 30, $19
db EMBER, EFFECT_BURN_HIT, 40, FIRE, $ff, 25, $19
db FLAMETHROWER, EFFECT_BURN_HIT, 95, FIRE, $ff, 15, $19
db MIST, EFFECT_MIST, 0, ICE, $ff, 30, $00
db WATER_GUN, EFFECT_NORMAL_HIT, 40, WATER, $ff, 25, $00
db HYDRO_PUMP, EFFECT_NORMAL_HIT, 120, WATER, $cc, 5, $00
db SURF, EFFECT_NORMAL_HIT, 95, WATER, $ff, 15, $00
db ICE_BEAM, EFFECT_FREEZE_HIT, 95, ICE, $ff, 10, $19
db BLIZZARD, EFFECT_FREEZE_HIT, 120, ICE, $b2, 5, $19
db PSYBEAM, EFFECT_CONFUSE_HIT, 65, PSYCHIC, $ff, 20, $19
db BUBBLEBEAM, EFFECT_SPEED_DOWN_HIT, 65, WATER, $ff, 20, $19
db AURORA_BEAM, EFFECT_ATTACK_DOWN_HIT, 65, ICE, $ff, 20, $19
db HYPER_BEAM, EFFECT_HYPER_BEAM, 150, NORMAL, $e5, 5, $00
db PECK, EFFECT_NORMAL_HIT, 35, FLYING, $ff, 35, $00
db DRILL_PECK, EFFECT_NORMAL_HIT, 80, FLYING, $ff, 20, $00
db SUBMISSION, EFFECT_RECOIL_HIT, 80, FIGHTING, $cc, 25, $00
db LOW_KICK, EFFECT_FLINCH_HIT, 50, FIGHTING, $e5, 20, $4c
db COUNTER, EFFECT_COUNTER, 1, FIGHTING, $ff, 20, $00
db SEISMIC_TOSS, EFFECT_LEVEL_DAMAGE, 1, FIGHTING, $ff, 20, $00
db STRENGTH, EFFECT_NORMAL_HIT, 80, NORMAL, $ff, 15, $00
db ABSORB, EFFECT_LEECH_HIT, 20, GRASS, $ff, 20, $00
db MEGA_DRAIN, EFFECT_LEECH_HIT, 40, GRASS, $ff, 10, $00
db LEECH_SEED, EFFECT_LEECH_SEED, 0, GRASS, $e5, 10, $00
db GROWTH, EFFECT_SP_ATTACK_UP, 0, NORMAL, $ff, 40, $00
db RAZOR_LEAF, EFFECT_NORMAL_HIT, 55, GRASS, $f2, 25, $00
db SOLARBEAM, EFFECT_SOLARBEAM, 120, GRASS, $ff, 10, $00
db POISONPOWDER, EFFECT_POISON, 0, POISON, $bf, 35, $00
db STUN_SPORE, EFFECT_PARALYZE, 0, GRASS, $bf, 30, $00
db SLEEP_POWDER, EFFECT_SLEEP, 0, GRASS, $bf, 15, $00
db PETAL_DANCE, EFFECT_RAMPAGE, 70, GRASS, $ff, 20, $00
db STRING_SHOT, EFFECT_SPEED_DOWN, 0, BUG, $f2, 40, $00
db DRAGON_RAGE, EFFECT_STATIC_DAMAGE, 40, DRAGON, $ff, 10, $00
db FIRE_SPIN, EFFECT_BIND, 15, FIRE, $b2, 15, $00
db THUNDERSHOCK, EFFECT_PARALYZE_HIT, 40, ELECTRIC, $ff, 30, $19
db THUNDERBOLT, EFFECT_PARALYZE_HIT, 95, ELECTRIC, $ff, 15, $19
db THUNDER_WAVE, EFFECT_PARALYZE, 0, ELECTRIC, $ff, 20, $00
db THUNDER, EFFECT_THUNDER, 120, ELECTRIC, $b2, 10, $4c
db ROCK_THROW, EFFECT_NORMAL_HIT, 50, ROCK, $e5, 15, $00
db EARTHQUAKE, EFFECT_EARTHQUAKE, 100, GROUND, $ff, 10, $00
db FISSURE, EFFECT_OHKO, 1, GROUND, $4c, 5, $00
db DIG, EFFECT_FLY, 60, GROUND, $ff, 10, $00
db TOXIC, EFFECT_TOXIC, 0, POISON, $d8, 10, $00
db CONFUSION, EFFECT_CONFUSE_HIT, 50, PSYCHIC, $ff, 25, $19
db PSYCHIC_M, EFFECT_SP_DEFENSE_DOWN_HIT, 90, PSYCHIC, $ff, 10, $19
db HYPNOSIS, EFFECT_SLEEP, 0, PSYCHIC, $99, 20, $00
db MEDITATE, EFFECT_ATTACK_UP, 0, PSYCHIC, $ff, 40, $00
db AGILITY, EFFECT_SPEED_UP_2, 0, PSYCHIC, $ff, 30, $00
db QUICK_ATTACK, EFFECT_PRIORITY_HIT, 40, NORMAL, $ff, 30, $00
db RAGE, EFFECT_RAGE, 20, NORMAL, $ff, 20, $00
db TELEPORT, EFFECT_TELEPORT, 0, PSYCHIC, $ff, 20, $00
db NIGHT_SHADE, EFFECT_LEVEL_DAMAGE, 1, GHOST, $ff, 15, $00
db MIMIC, EFFECT_MIMIC, 0, NORMAL, $ff, 10, $00
db SCREECH, EFFECT_DEFENSE_DOWN_2, 0, NORMAL, $d8, 40, $00
db DOUBLE_TEAM, EFFECT_EVASION_UP, 0, NORMAL, $ff, 15, $00
db RECOVER, EFFECT_HEAL, 0, NORMAL, $ff, 20, $00
db HARDEN, EFFECT_DEFENSE_UP, 0, NORMAL, $ff, 30, $00
db MINIMIZE, EFFECT_EVASION_UP, 0, NORMAL, $ff, 20, $00
db SMOKESCREEN, EFFECT_ACCURACY_DOWN, 0, NORMAL, $ff, 20, $00
db CONFUSE_RAY, EFFECT_CONFUSE, 0, GHOST, $ff, 10, $00
db WITHDRAW, EFFECT_DEFENSE_UP, 0, WATER, $ff, 40, $00
db DEFENSE_CURL, EFFECT_DEFENSE_CURL, 0, NORMAL, $ff, 40, $00
db BARRIER, EFFECT_DEFENSE_UP_2, 0, PSYCHIC, $ff, 30, $00
db LIGHT_SCREEN, EFFECT_LIGHT_SCREEN, 0, PSYCHIC, $ff, 30, $00
db HAZE, EFFECT_HAZE, 0, ICE, $ff, 30, $00
db REFLECT, EFFECT_REFLECT, 0, PSYCHIC, $ff, 20, $00
db FOCUS_ENERGY, EFFECT_FOCUS_ENERGY, 0, NORMAL, $ff, 30, $00
db BIDE, EFFECT_BIDE, 0, NORMAL, $ff, 10, $00
db METRONOME, EFFECT_METRONOME, 0, NORMAL, $ff, 10, $00
db MIRROR_MOVE, EFFECT_MIRROR_MOVE, 0, FLYING, $ff, 20, $00
db SELFDESTRUCT, EFFECT_EXPLOSION, 200, NORMAL, $ff, 5, $00
db EGG_BOMB, EFFECT_NORMAL_HIT, 100, NORMAL, $bf, 10, $00
db LICK, EFFECT_PARALYZE_HIT, 20, GHOST, $ff, 30, $4c
db SMOG, EFFECT_POISON_HIT, 20, POISON, $b2, 20, $66
db SLUDGE, EFFECT_POISON_HIT, 65, POISON, $ff, 20, $4c
db BONE_CLUB, EFFECT_FLINCH_HIT, 65, GROUND, $d8, 20, $19
db FIRE_BLAST, EFFECT_BURN_HIT, 120, FIRE, $d8, 5, $19
db WATERFALL, EFFECT_NORMAL_HIT, 80, WATER, $ff, 15, $00
db CLAMP, EFFECT_BIND, 35, WATER, $bf, 10, $00
db SWIFT, EFFECT_ALWAYS_HIT, 60, NORMAL, $ff, 20, $00
db SKULL_BASH, EFFECT_SKULL_BASH, 100, NORMAL, $ff, 15, $00
db SPIKE_CANNON, EFFECT_MULTI_HIT, 20, NORMAL, $ff, 15, $00
db CONSTRICT, EFFECT_SPEED_DOWN_HIT, 10, NORMAL, $ff, 35, $19
db AMNESIA, EFFECT_SP_DEFENSE_UP_2, 0, PSYCHIC, $ff, 20, $00
db KINESIS, EFFECT_ACCURACY_DOWN, 0, PSYCHIC, $cc, 15, $00
db SOFTBOILED, EFFECT_HEAL, 0, NORMAL, $ff, 10, $00
db HI_JUMP_KICK, EFFECT_JUMP_KICK, 85, FIGHTING, $e5, 20, $00
db GLARE, EFFECT_PARALYZE, 0, NORMAL, $bf, 30, $00
db DREAM_EATER, EFFECT_DREAM_EATER, 100, PSYCHIC, $ff, 15, $00
db POISON_GAS, EFFECT_POISON, 0, POISON, $8c, 40, $00
db BARRAGE, EFFECT_MULTI_HIT, 15, NORMAL, $d8, 20, $00
db LEECH_LIFE, EFFECT_LEECH_HIT, 20, BUG, $ff, 15, $00
db LOVELY_KISS, EFFECT_SLEEP, 0, NORMAL, $bf, 10, $00
db SKY_ATTACK, EFFECT_SKY_ATTACK, 140, FLYING, $e5, 5, $00
db TRANSFORM, EFFECT_TRANSFORM, 0, NORMAL, $ff, 10, $00
db BUBBLE, EFFECT_SPEED_DOWN_HIT, 20, WATER, $ff, 30, $19
db DIZZY_PUNCH, EFFECT_CONFUSE_HIT, 70, NORMAL, $ff, 10, $33
db SPORE, EFFECT_SLEEP, 0, GRASS, $ff, 15, $00
db FLASH, EFFECT_ACCURACY_DOWN, 0, NORMAL, $b2, 20, $00
db PSYWAVE, EFFECT_PSYWAVE, 1, PSYCHIC, $cc, 15, $00
db SPLASH, EFFECT_SPLASH, 0, NORMAL, $ff, 40, $00
db ACID_ARMOR, EFFECT_DEFENSE_UP_2, 0, POISON, $ff, 40, $00
db CRABHAMMER, EFFECT_NORMAL_HIT, 90, WATER, $d8, 10, $00
db EXPLOSION, EFFECT_EXPLOSION, 250, NORMAL, $ff, 5, $00
db FURY_SWIPES, EFFECT_MULTI_HIT, 18, NORMAL, $cc, 15, $00
db BONEMERANG, EFFECT_DOUBLE_HIT, 50, GROUND, $e5, 10, $00
db REST, EFFECT_HEAL, 0, PSYCHIC, $ff, 10, $00
db ROCK_SLIDE, EFFECT_FLINCH_HIT, 75, ROCK, $e5, 10, $4c
db HYPER_FANG, EFFECT_FLINCH_HIT, 80, NORMAL, $e5, 15, $19
db SHARPEN, EFFECT_ATTACK_UP, 0, NORMAL, $ff, 30, $00
db CONVERSION, EFFECT_CONVERSION, 0, NORMAL, $ff, 30, $00
db TRI_ATTACK, EFFECT_TRI_ATTACK, 80, NORMAL, $ff, 10, $33
db SUPER_FANG, EFFECT_SUPER_FANG, 1, NORMAL, $e5, 10, $00
db SLASH, EFFECT_NORMAL_HIT, 70, NORMAL, $ff, 20, $00
db SUBSTITUTE, EFFECT_SUBSTITUTE, 0, NORMAL, $ff, 10, $00
db STRUGGLE, EFFECT_RECOIL_HIT, 50, NORMAL, $ff, 1, $00
db SKETCH, EFFECT_SKETCH, 0, NORMAL, $ff, 1, $00
db TRIPLE_KICK, EFFECT_TRIPLE_KICK, 10, FIGHTING, $e5, 10, $00
db THIEF, EFFECT_THIEF, 40, DARK, $ff, 10, $ff
db SPIDER_WEB, EFFECT_MEAN_LOOK, 0, BUG, $ff, 10, $00
db MIND_READER, EFFECT_LOCK_ON, 0, NORMAL, $ff, 5, $00
db NIGHTMARE, EFFECT_NIGHTMARE, 0, GHOST, $ff, 15, $00
db FLAME_WHEEL, EFFECT_FLAME_WHEEL, 60, FIRE, $ff, 25, $19
db SNORE, EFFECT_SNORE, 40, NORMAL, $ff, 15, $4c
db CURSE, EFFECT_CURSE, 0, CURSE_T, $ff, 10, $00
db FLAIL, EFFECT_REVERSAL, 1, NORMAL, $ff, 15, $00
db CONVERSION2, EFFECT_CONVERSION2, 0, NORMAL, $ff, 30, $00
db AEROBLAST, EFFECT_NORMAL_HIT, 100, FLYING, $f2, 5, $00
db COTTON_SPORE, EFFECT_SPEED_DOWN_2, 0, GRASS, $d8, 40, $00
db REVERSAL, EFFECT_REVERSAL, 1, FIGHTING, $ff, 15, $00
db SPITE, EFFECT_SPITE, 0, GHOST, $ff, 10, $00
db POWDER_SNOW, EFFECT_FREEZE_HIT, 40, ICE, $ff, 25, $19
db PROTECT, EFFECT_PROTECT, 0, NORMAL, $ff, 10, $00
db MACH_PUNCH, EFFECT_PRIORITY_HIT, 40, FIGHTING, $ff, 30, $00
db SCARY_FACE, EFFECT_SPEED_DOWN_2, 0, NORMAL, $e5, 10, $00
db FAINT_ATTACK, EFFECT_ALWAYS_HIT, 60, DARK, $ff, 20, $00
db SWEET_KISS, EFFECT_CONFUSE, 0, NORMAL, $bf, 10, $00
db BELLY_DRUM, EFFECT_BELLY_DRUM, 0, NORMAL, $ff, 10, $00
db SLUDGE_BOMB, EFFECT_POISON_HIT, 90, POISON, $ff, 10, $4c
db MUD_SLAP, EFFECT_ACCURACY_DOWN_HIT, 20, GROUND, $ff, 10, $ff
db OCTAZOOKA, EFFECT_ACCURACY_DOWN_HIT, 65, WATER, $d8, 10, $7f
db SPIKES, EFFECT_SPIKES, 0, GROUND, $ff, 20, $00
db ZAP_CANNON, EFFECT_PARALYZE_HIT, 100, ELECTRIC, $7f, 5, $ff
db FORESIGHT, EFFECT_FORESIGHT, 0, NORMAL, $ff, 40, $00
db DESTINY_BOND, EFFECT_DESTINY_BOND, 0, GHOST, $ff, 5, $00
db PERISH_SONG, EFFECT_PERISH_SONG, 0, NORMAL, $ff, 5, $00
db ICY_WIND, EFFECT_SPEED_DOWN_HIT, 55, ICE, $f2, 15, $ff
db DETECT, EFFECT_PROTECT, 0, FIGHTING, $ff, 5, $00
db BONE_RUSH, EFFECT_MULTI_HIT, 25, GROUND, $cc, 10, $00
db LOCK_ON, EFFECT_LOCK_ON, 0, NORMAL, $ff, 5, $00
db OUTRAGE, EFFECT_RAMPAGE, 90, DRAGON, $ff, 15, $00
db SANDSTORM, EFFECT_SANDSTORM, 0, ROCK, $ff, 10, $00
db GIGA_DRAIN, EFFECT_LEECH_HIT, 60, GRASS, $ff, 5, $00
db ENDURE, EFFECT_ENDURE, 0, NORMAL, $ff, 10, $00
db CHARM, EFFECT_ATTACK_DOWN_2, 0, NORMAL, $ff, 20, $00
db ROLLOUT, EFFECT_ROLLOUT, 30, ROCK, $e5, 20, $00
db FALSE_SWIPE, EFFECT_FALSE_SWIPE, 40, NORMAL, $ff, 40, $00
db SWAGGER, EFFECT_SWAGGER, 0, NORMAL, $e5, 15, $ff
db MILK_DRINK, EFFECT_HEAL, 0, NORMAL, $ff, 10, $00
db SPARK, EFFECT_PARALYZE_HIT, 65, ELECTRIC, $ff, 20, $4c
db FURY_CUTTER, EFFECT_FURY_CUTTER, 10, BUG, $f2, 20, $00
db STEEL_WING, EFFECT_STEEL_WING, 70, STEEL, $e5, 25, $19
db MEAN_LOOK, EFFECT_MEAN_LOOK, 0, NORMAL, $ff, 5, $00
db ATTRACT, EFFECT_ATTRACT, 0, NORMAL, $ff, 15, $00
db SLEEP_TALK, EFFECT_SLEEP_TALK, 0, NORMAL, $ff, 10, $00
db HEAL_BELL, EFFECT_HEAL_BELL, 0, NORMAL, $ff, 5, $00
db RETURN, EFFECT_RETURN, 1, NORMAL, $ff, 20, $00
db PRESENT, EFFECT_PRESENT, 1, NORMAL, $e5, 15, $00
db FRUSTRATION, EFFECT_FRUSTRATION, 1, NORMAL, $ff, 20, $00
db SAFEGUARD, EFFECT_SAFEGUARD, 0, NORMAL, $ff, 25, $00
db PAIN_SPLIT, EFFECT_PAIN_SPLIT, 0, NORMAL, $ff, 20, $00
db SACRED_FIRE, EFFECT_SACRED_FIRE, 100, FIRE, $f2, 5, $7f
db MAGNITUDE, EFFECT_MAGNITUDE, 1, GROUND, $ff, 30, $00
db DYNAMICPUNCH, EFFECT_CONFUSE_HIT, 100, FIGHTING, $7f, 5, $ff
db MEGAHORN, EFFECT_NORMAL_HIT, 120, BUG, $d8, 10, $00
db DRAGONBREATH, EFFECT_PARALYZE_HIT, 60, DRAGON, $ff, 20, $4c
db BATON_PASS, EFFECT_BATON_PASS, 0, NORMAL, $ff, 40, $00
db ENCORE, EFFECT_ENCORE, 0, NORMAL, $ff, 5, $00
db PURSUIT, EFFECT_PURSUIT, 40, DARK, $ff, 20, $00
db RAPID_SPIN, EFFECT_RAPID_SPIN, 20, NORMAL, $ff, 40, $00
db SWEET_SCENT, EFFECT_EVASION_DOWN, 0, NORMAL, $ff, 20, $00
db IRON_TAIL, EFFECT_DEFENSE_DOWN_HIT, 100, STEEL, $bf, 15, $4c
db METAL_CLAW, EFFECT_METAL_CLAW, 50, STEEL, $f2, 35, $19
db VITAL_THROW, EFFECT_ALWAYS_HIT, 70, FIGHTING, $ff, 10, $00
db MORNING_SUN, EFFECT_MORNING_SUN, 0, NORMAL, $ff, 5, $00
db SYNTHESIS, EFFECT_SYNTHESIS, 0, GRASS, $ff, 5, $00
db MOONLIGHT, EFFECT_MOONLIGHT, 0, NORMAL, $ff, 5, $00
db HIDDEN_POWER, EFFECT_HIDDEN_POWER, 1, NORMAL, $ff, 15, $00
db CROSS_CHOP, EFFECT_NORMAL_HIT, 100, FIGHTING, $cc, 5, $00
db TWISTER, EFFECT_TWISTER, 40, DRAGON, $ff, 20, $33
db RAIN_DANCE, EFFECT_RAIN_DANCE, 0, WATER, $e5, 5, $00
db SUNNY_DAY, EFFECT_SUNNY_DAY, 0, FIRE, $e5, 5, $00
db CRUNCH, EFFECT_SP_DEFENSE_DOWN_HIT, 80, DARK, $ff, 15, $33
db MIRROR_COAT, EFFECT_MIRROR_COAT, 1, PSYCHIC, $ff, 20, $00
db PSYCH_UP, EFFECT_PSYCH_UP, 0, NORMAL, $ff, 10, $00
db EXTREMESPEED, EFFECT_PRIORITY_HIT, 80, NORMAL, $ff, 5, $00
db ANCIENTPOWER, EFFECT_ANCIENTPOWER, 60, ROCK, $ff, 5, $19
db SHADOW_BALL, EFFECT_SP_DEFENSE_DOWN_HIT, 80, GHOST, $ff, 15, $33
db FUTURE_SIGHT, EFFECT_FUTURE_SIGHT, 80, PSYCHIC, $e5, 15, $00
db ROCK_SMASH, EFFECT_DEFENSE_DOWN_HIT, 20, FIGHTING, $ff, 15, $7f
db WHIRLPOOL, EFFECT_BIND, 15, WATER, $b2, 15, $00
db BEAT_UP, EFFECT_BEAT_UP, 10, DARK, $ff, 10, $00

View File

@ -2337,6 +2337,7 @@ EVOLVE_HAPPINESS EQU 4
EVOLVE_STAT EQU 5
; happiness evolution triggers
HAPPINESS_TO_EVOLVE EQU 220
TR_ANYTIME EQU 1
TR_MORNDAY EQU 2
TR_NITE EQU 3
@ -3321,42 +3322,45 @@ NOTE_16 EQU $0f
; specials
NUM_SPECIALS EQU $a8
SPECIAL_UPDATESPRITETILES EQU $0038
SPECIAL_UPDATESPRITETILES EQU $0038
SPECIAL_WAITSFX EQU $003b
SPECIAL_BIKESURFMUSIC EQU $003c
SPECIAL_WAITSFX EQU $003b
SPECIAL_BIKESURFMUSIC EQU $003c
SPECIAL_LOADFACESTEP EQU $003f
SPECIAL_LOADFACESTEP EQU $003f
SPECIAL_SNORLAXAWAKE EQU $0060
SPECIAL_GIVESHUCKLE EQU $004b
SPECIAL_GAMEBOYCHECK EQU $0066
SPECIAL_TRAINERHOUSE EQU $0067
SPECIAL_SNORLAXAWAKE EQU $0060
SPECIAL_RUSTLETREE EQU $006a
SPECIAL_GAMEBOYCHECK EQU $0066
SPECIAL_TRAINERHOUSE EQU $0067
SPECIAL_ODDEGG EQU $007d
SPECIAL_RUSTLETREE EQU $006a
SPECIAL_MOVETUTOR EQU $0083
SPECIAL_OMANYTECHAMBER EQU $0084
SPECIAL_ODDEGG EQU $007d
SPECIAL_RUINCHAMBERWALL EQU $0087
SPECIAL_MOVETUTOR EQU $0083
SPECIAL_OMANYTECHAMBER EQU $0084
SPECIAL_HOOHCHAMBER EQU $008d
SPECIAL_RUINCHAMBERWALL EQU $0087
SPECIAL_CELEBI EQU $008f
SPECIAL_HOOHCHAMBER EQU $008d
SPECIAL_AFTERCELEBI EQU $0090
SPECIAL_POKESEER EQU $0091
SPECIAL_CELEBI EQU $008f
SPECIAL_DRATINI EQU $0094
SPECIAL_AFTERCELEBI EQU $0090
SPECIAL_POKESEER EQU $0091
SPECIAL_BEASTSCHECK EQU $0096
SPECIAL_MONCHECK EQU $0097
SPECIAL_DRATINI EQU $0094
SPECIAL_BEASTSCHECK EQU $0096
SPECIAL_MONCHECK EQU $0097
; predefs
PREDEF_FILLPP EQU $05
PREDEF_ADDPARTYMON EQU $06
PREDEF_FILLSTATS EQU $0C
PREDEF_FILLMOVES EQU $1B
PREDEF_GETUNOWNLETTER EQU $2D
@ -3442,6 +3446,221 @@ BATTLE_VARS_LAST_MOVE EQU 19
BATTLE_VARS_LAST_MOVE_OPP EQU 20
SUBSTATUS_IN_LOVE EQU 7
SUBSTATUS_ENCORED EQU 6
SUBSTATUS_ENDURE EQU 5
SUBSTATUS_PERISH EQU 4
SUBSTATUS_PROTECT EQU 2
SUBSTATUS_CURSE EQU 1
SUBSTATUS_NIGHTMARE EQU 0
SUBSTATUS_CURLED EQU 0
SUBSTATUS_CONFUSED EQU 7
SUBSTATUS_FLYING EQU 6
SUBSTATUS_UNDERGROUND EQU 5
SUBSTATUS_CHARGED EQU 4
SUBSTATUS_FLINCHED EQU 3
SUBSTATUS_ROLLOUT EQU 1
SUBSTATUS_BIDE EQU 0
SUBSTATUS_LEECH_SEED EQU 7
SUBSTATUS_RAGE EQU 6
SUBSTATUS_RECHARGE EQU 5
SUBSTATUS_SUBSTITUTE EQU 4
SUBSTATUS_FOCUS_ENERGY EQU 2
SUBSTATUS_UNLEASH EQU 0
SUBSTATUS_DESTINY_BOND EQU 6
SUBSTATUS_LOCK_ON EQU 5
; status
SLP EQU 7
PSN EQU 1 << 3
BRN EQU 1 << 4
FRZ EQU 1 << 5
PAR EQU 1 << 6
; move effects
EFFECT_NORMAL_HIT EQU $00
EFFECT_SLEEP EQU $01
EFFECT_POISON_HIT EQU $02
EFFECT_LEECH_HIT EQU $03
EFFECT_BURN_HIT EQU $04
EFFECT_FREEZE_HIT EQU $05
EFFECT_PARALYZE_HIT EQU $06
EFFECT_EXPLOSION EQU $07
EFFECT_DREAM_EATER EQU $08
EFFECT_MIRROR_MOVE EQU $09
EFFECT_ATTACK_UP EQU $0a
EFFECT_DEFENSE_UP EQU $0b
EFFECT_SPEED_UP EQU $0c
EFFECT_SP_ATTACK_UP EQU $0d
EFFECT_SP_DEFENSE_UP EQU $0e
EFFECT_ACCURACY_UP EQU $0f
EFFECT_EVASION_UP EQU $10
EFFECT_ALWAYS_HIT EQU $11
EFFECT_ATTACK_DOWN EQU $12
EFFECT_DEFENSE_DOWN EQU $13
EFFECT_SPEED_DOWN EQU $14
EFFECT_SP_ATTACK_DOWN EQU $15
EFFECT_SP_DEFENSE_DOWN EQU $16
EFFECT_ACCURACY_DOWN EQU $17
EFFECT_EVASION_DOWN EQU $18
EFFECT_HAZE EQU $19
EFFECT_BIDE EQU $1a
EFFECT_RAMPAGE EQU $1b
EFFECT_WHIRLWIND EQU $1c
EFFECT_MULTI_HIT EQU $1d
EFFECT_CONVERSION EQU $1e
EFFECT_FLINCH_HIT EQU $1f
EFFECT_HEAL EQU $20
EFFECT_TOXIC EQU $21
EFFECT_PAY_DAY EQU $22
EFFECT_LIGHT_SCREEN EQU $23
EFFECT_TRI_ATTACK EQU $24
; unused EQU $25
EFFECT_OHKO EQU $26
EFFECT_RAZOR_WIND EQU $27
EFFECT_SUPER_FANG EQU $28
EFFECT_STATIC_DAMAGE EQU $29
EFFECT_BIND EQU $2a
; unused EQU $2b
EFFECT_DOUBLE_HIT EQU $2c
EFFECT_JUMP_KICK EQU $2d
EFFECT_MIST EQU $2e
EFFECT_FOCUS_ENERGY EQU $2f
EFFECT_RECOIL_HIT EQU $30
EFFECT_CONFUSE EQU $31
EFFECT_ATTACK_UP_2 EQU $32
EFFECT_DEFENSE_UP_2 EQU $33
EFFECT_SPEED_UP_2 EQU $34
EFFECT_SP_ATTACK_UP_2 EQU $35
EFFECT_SP_DEFENSE_UP_2 EQU $36
EFFECT_ACCURACY_UP_2 EQU $37
EFFECT_EVASION_UP_2 EQU $38
EFFECT_TRANSFORM EQU $39
EFFECT_ATTACK_DOWN_2 EQU $3a
EFFECT_DEFENSE_DOWN_2 EQU $3b
EFFECT_SPEED_DOWN_2 EQU $3c
EFFECT_SP_ATTACK_DOWN_2 EQU $3d
EFFECT_SP_DEFENSE_DOWN_2 EQU $3e
EFFECT_ACCURACY_DOWN_2 EQU $3f
EFFECT_EVASION_DOWN_2 EQU $40
EFFECT_REFLECT EQU $41
EFFECT_POISON EQU $42
EFFECT_PARALYZE EQU $43
EFFECT_ATTACK_DOWN_HIT EQU $44
EFFECT_DEFENSE_DOWN_HIT EQU $45
EFFECT_SPEED_DOWN_HIT EQU $46
EFFECT_SP_ATTACK_DOWN_HIT EQU $47
EFFECT_SP_DEFENSE_DOWN_HIT EQU $48
EFFECT_ACCURACY_DOWN_HIT EQU $49
EFFECT_EVASION_DOWN_HIT EQU $4a
EFFECT_SKY_ATTACK EQU $4b
EFFECT_CONFUSE_HIT EQU $4c
EFFECT_TWINEEDLE EQU $4d
; unused EQU $4e
EFFECT_SUBSTITUTE EQU $4f
EFFECT_HYPER_BEAM EQU $50
EFFECT_RAGE EQU $51
EFFECT_MIMIC EQU $52
EFFECT_METRONOME EQU $53
EFFECT_LEECH_SEED EQU $54
EFFECT_SPLASH EQU $55
EFFECT_DISABLE EQU $56
EFFECT_LEVEL_DAMAGE EQU $57
EFFECT_PSYWAVE EQU $58
EFFECT_COUNTER EQU $59
EFFECT_ENCORE EQU $5a
EFFECT_PAIN_SPLIT EQU $5b
EFFECT_SNORE EQU $5c
EFFECT_CONVERSION2 EQU $5d
EFFECT_LOCK_ON EQU $5e
EFFECT_SKETCH EQU $5f
EFFECT_DEFROST_OPPONENT EQU $60
EFFECT_SLEEP_TALK EQU $61
EFFECT_DESTINY_BOND EQU $62
EFFECT_REVERSAL EQU $63
EFFECT_SPITE EQU $64
EFFECT_FALSE_SWIPE EQU $65
EFFECT_HEAL_BELL EQU $66
EFFECT_PRIORITY_HIT EQU $67
EFFECT_TRIPLE_KICK EQU $68
EFFECT_THIEF EQU $69
EFFECT_MEAN_LOOK EQU $6a
EFFECT_NIGHTMARE EQU $6b
EFFECT_FLAME_WHEEL EQU $6c
EFFECT_CURSE EQU $6d
; unused EQU $6e
EFFECT_PROTECT EQU $6f
EFFECT_SPIKES EQU $70
EFFECT_FORESIGHT EQU $71
EFFECT_PERISH_SONG EQU $72
EFFECT_SANDSTORM EQU $73
EFFECT_ENDURE EQU $74
EFFECT_ROLLOUT EQU $75
EFFECT_SWAGGER EQU $76
EFFECT_FURY_CUTTER EQU $77
EFFECT_ATTRACT EQU $78
EFFECT_RETURN EQU $79
EFFECT_PRESENT EQU $7a
EFFECT_FRUSTRATION EQU $7b
EFFECT_SAFEGUARD EQU $7c
EFFECT_SACRED_FIRE EQU $7d
EFFECT_MAGNITUDE EQU $7e
EFFECT_BATON_PASS EQU $7f
EFFECT_PURSUIT EQU $80
EFFECT_RAPID_SPIN EQU $81
; unused EQU $82
; unused EQU $83
EFFECT_MORNING_SUN EQU $84
EFFECT_SYNTHESIS EQU $85
EFFECT_MOONLIGHT EQU $86
EFFECT_HIDDEN_POWER EQU $87
EFFECT_RAIN_DANCE EQU $88
EFFECT_SUNNY_DAY EQU $89
EFFECT_STEEL_WING EQU $8a
EFFECT_METAL_CLAW EQU $8b
EFFECT_ANCIENTPOWER EQU $8c
EFFECT_FAKE_OUT EQU $8d
EFFECT_BELLY_DRUM EQU $8e
EFFECT_PSYCH_UP EQU $8f
EFFECT_MIRROR_COAT EQU $90
EFFECT_SKULL_BASH EQU $91
EFFECT_TWISTER EQU $92
EFFECT_EARTHQUAKE EQU $93
EFFECT_FUTURE_SIGHT EQU $94
EFFECT_GUST EQU $95
EFFECT_STOMP EQU $96
EFFECT_SOLARBEAM EQU $97
EFFECT_THUNDER EQU $98
EFFECT_TELEPORT EQU $99
EFFECT_BEAT_UP EQU $9a
EFFECT_FLY EQU $9b
EFFECT_DEFENSE_CURL EQU $9c
; battle animations
; animations below fc are 1:1 with move constants
ANIM_CONFUSED EQU $103
ANIM_SLEEP EQU $104
ANIM_INLOVE EQU $10a
WEATHER_RAIN EQU 1
WEATHER_SUN EQU 2
WEATHER_SANDSTORM EQU 3
WEATHER_RAIN_END EQU 4
WEATHER_SUN_END EQU 5
WEATHER_SANDSTORM_END EQU 6
; joypad
BUTTONS EQU %00010000
D_PAD EQU %00100000

View File

@ -98,6 +98,7 @@ chars = {
0xE9: "&",
0xEA: "é",
0xEB: "",
0xED: "",
0xEF: "",
0xF0: "¥",
0xF1: "×",

View File

@ -2917,7 +2917,7 @@ music_command_enders = [0xEA, 0xEB, 0xEE, 0xFC, 0xFF,]
# special case for 0xFD (if loopchannel.count = 0, break)
def create_music_command_classes(debug=False):
klasses = [GivePoke]
klasses = []
for (byte, cmd) in music_commands_new.items():
cmd_name = cmd[0].replace(" ", "_")
params = {"id": byte, "size": 1, "end": byte in music_command_enders, "macro_name": cmd_name}
@ -2943,6 +2943,221 @@ def create_music_command_classes(debug=False):
return klasses
music_classes = create_music_command_classes()
effect_commands = {
0x1: ['checkturn'],
0x2: ['checkobedience'],
0x3: ['usedmovetext'],
0x4: ['doturn'],
0x5: ['critical'],
0x6: ['damagestats'],
0x7: ['stab'],
0x8: ['damagevariation'],
0x9: ['checkhit'],
0xa: ['effect0x0a'],
0xb: ['effect0x0b'],
0xc: ['effect0x0c'],
0xd: ['resulttext'],
0xe: ['checkfaint'],
0xf: ['criticaltext'],
0x10: ['supereffectivetext'],
0x11: ['checkdestinybond'],
0x12: ['buildopponentrage'],
0x13: ['poisontarget'],
0x14: ['sleeptarget'],
0x15: ['draintarget'],
0x16: ['eatdream'],
0x17: ['burntarget'],
0x18: ['freezetarget'],
0x19: ['paralyzetarget'],
0x1a: ['selfdestruct'],
0x1b: ['mirrormove'],
0x1c: ['statup'],
0x1d: ['statdown'],
0x1e: ['payday'],
0x1f: ['conversion'],
0x20: ['resetstats'],
0x21: ['storeenergy'],
0x22: ['unleashenergy'],
0x23: ['forceswitch'],
0x24: ['endloop'],
0x25: ['flinchtarget'],
0x26: ['ohko'],
0x27: ['recoil'],
0x28: ['mist'],
0x29: ['focusenergy'],
0x2a: ['confuse'],
0x2b: ['confusetarget'],
0x2c: ['heal'],
0x2d: ['transform'],
0x2e: ['screen'],
0x2f: ['poison'],
0x30: ['paralyze'],
0x31: ['substitute'],
0x32: ['rechargenextturn'],
0x33: ['mimic'],
0x34: ['metronome'],
0x35: ['leechseed'],
0x36: ['splash'],
0x37: ['disable'],
0x38: ['cleartext'],
0x39: ['charge'],
0x3a: ['checkcharge'],
0x3b: ['traptarget'],
0x3c: ['effect0x3c'],
0x3d: ['rampage'],
0x3e: ['checkrampage'],
0x3f: ['constantdamage'],
0x40: ['counter'],
0x41: ['encore'],
0x42: ['painsplit'],
0x43: ['snore'],
0x44: ['conversion2'],
0x45: ['lockon'],
0x46: ['sketch'],
0x47: ['defrostopponent'],
0x48: ['sleeptalk'],
0x49: ['destinybond'],
0x4a: ['spite'],
0x4b: ['falseswipe'],
0x4c: ['healbell'],
0x4d: ['kingsrock'],
0x4e: ['triplekick'],
0x4f: ['kickcounter'],
0x50: ['thief'],
0x51: ['arenatrap'],
0x52: ['nightmare'],
0x53: ['defrost'],
0x54: ['curse'],
0x55: ['protect'],
0x56: ['spikes'],
0x57: ['foresight'],
0x58: ['perishsong'],
0x59: ['startsandstorm'],
0x5a: ['endure'],
0x5b: ['checkcurl'],
0x5c: ['rolloutpower'],
0x5d: ['effect0x5d'],
0x5e: ['furycutter'],
0x5f: ['attract'],
0x60: ['happinesspower'],
0x61: ['present'],
0x62: ['damagecalc'],
0x63: ['frustrationpower'],
0x64: ['safeguard'],
0x65: ['checksafeguard'],
0x66: ['getmagnitude'],
0x67: ['batonpass'],
0x68: ['pursuit'],
0x69: ['clearhazards'],
0x6a: ['healmorn'],
0x6b: ['healday'],
0x6c: ['healnite'],
0x6d: ['hiddenpower'],
0x6e: ['startrain'],
0x6f: ['startsun'],
0x70: ['attackup'],
0x71: ['defenseup'],
0x72: ['speedup'],
0x73: ['specialattackup'],
0x74: ['specialdefenseup'],
0x75: ['accuracyup'],
0x76: ['evasionup'],
0x77: ['attackup2'],
0x78: ['defenseup2'],
0x79: ['speedup2'],
0x7a: ['specialattackup2'],
0x7b: ['specialdefenseup2'],
0x7c: ['accuracyup2'],
0x7d: ['evasionup2'],
0x7e: ['attackdown'],
0x7f: ['defensedown'],
0x80: ['speeddown'],
0x81: ['specialattackdown'],
0x82: ['specialdefensedown'],
0x83: ['accuracydown'],
0x84: ['evasiondown'],
0x85: ['attackdown2'],
0x86: ['defensedown2'],
0x87: ['speeddown2'],
0x88: ['specialattackdown2'],
0x89: ['specialdefensedown2'],
0x8a: ['accuracydown2'],
0x8b: ['evasiondown2'],
0x8c: ['statmessageuser'],
0x8d: ['statmessagetarget'],
0x8e: ['statupfailtext'],
0x8f: ['statdownfailtext'],
0x90: ['effectchance'],
0x91: ['effect0x91'],
0x92: ['effect0x92'],
0x93: ['switchturn'],
0x94: ['fakeout'],
0x95: ['bellydrum'],
0x96: ['psychup'],
0x97: ['rage'],
0x98: ['doubleflyingdamage'],
0x99: ['doubleundergrounddamage'],
0x9a: ['mirrorcoat'],
0x9b: ['checkfuturesight'],
0x9c: ['futuresight'],
0x9d: ['doubleminimizedamage'],
0x9e: ['skipsuncharge'],
0x9f: ['thunderaccuracy'],
0xa0: ['teleport'],
0xa1: ['beatup'],
0xa2: ['ragedamage'],
0xa3: ['effect0xa3'],
0xa4: ['allstatsup'],
0xa5: ['effect0xa5'],
0xa6: ['effect0xa6'],
0xa7: ['effect0xa7'],
0xa8: ['effect0xa8'],
0xa9: ['clearmissdamage'],
0xaa: ['wait'],
0xab: ['hittarget'],
0xac: ['tristatuschance'],
0xad: ['supereffectivelooptext'],
0xae: ['startloop'],
0xaf: ['curl'],
0xfe: ['endturn'],
0xff: ['endmove'],
}
effect_command_enders = [0xFF,]
def create_effect_command_classes(debug=False):
klasses = []
for (byte, cmd) in effect_commands.items():
cmd_name = cmd[0].replace(" ", "_")
params = {
"id": byte,
"size": 1,
"end": byte in effect_command_enders,
"macro_name": cmd_name
}
params["param_types"] = {}
if len(cmd) > 1:
param_types = cmd[1:]
for (i, each) in enumerate(param_types):
thing = {"name": each[0], "class": each[1]}
params["param_types"][i] = thing
if debug:
print "each is: " + str(each)
print "thing[class] is: " + str(thing["class"])
params["size"] += thing["class"].size
klass_name = cmd_name+"Command"
klass = classobj(klass_name, (Command,), params)
globals()[klass_name] = klass
klasses.append(klass)
# later an individual klass will be instantiated to handle something
return klasses
effect_classes = create_effect_command_classes()
def generate_macros(filename="../script_macros.asm"):
"""generates all macros based on commands
this is dumped into script_macros.asm"""

View File

@ -26,6 +26,16 @@ hJoyDown EQU $ffa8
hPastLeadingZeroes EQU $ffb3
hDividend EQU $ffb3
hDivisor EQU $ffb7
hQuotient EQU $ffb4
hMultiplicand EQU $ffb4
hMultiplier EQU $ffb7
hProduct EQU $ffb3
hMathBuffer EQU $ffb8
hLCDStatCustom EQU $ffc6
hBGMapMode EQU $ffd4

2910
main.asm

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
 ,+

10
maps/BetaAzaleaTown.blk Normal file
View File

@ -0,0 +1,10 @@
aaaaaaaaFDaaaaaaaaaaaaaaaaaFDaaaaaaaaaaaaaaaaaFHIIaaaaaaBaaaFaaaaaaFaFaaaHJGFee>aacaaaFaaaadeefaaaaFGbaaaaaaaaFDaaaaaaaFaaDaU
aaaaaaaHIY
aaaaaaa~zU
aaaaaaa5Y
aaaaa@AAAA5z
vvvUaaaaaaaaaaa552955zvvvvvvvvvv
aa55551111111111111
a555555555555555552
a

View File

@ -0,0 +1 @@
hqqqqqqqqqqqqqqqqqqqhqorrrrrrrrrnqqqqqqqhqiaKeWaKeWahqqqqqqqhqieKaWWWaeWhqorrnqqhqiaWWKWeaWehqi !hqqhqiKWWeeaWWahqi$%hqqhqieKeaWWeeehqi$%hqqhqiaKaWeeWaahqi$%hqqlrmKeWWaWeWahqi()hqqKaWKaWaeWlrmtuhqqWWWWWWKaWWWWWWhqqhqqlrrG

1
maps/BetaBlank.blk Normal file
View File

@ -0,0 +1 @@


8
maps/BetaCave.blk Normal file
View File

@ -0,0 +1,8 @@
 






 

5
maps/BetaCave2.blk Normal file
View File

@ -0,0 +1,5 @@
 
(+
)*

  

18
maps/BetaCaveTestMap.blk Normal file
View File

@ -0,0 +1,18 @@
 
;<  ; 6<

 589:




 5 

   

5  

   
 
 5 6
  

View File

@ -0,0 +1 @@
? +,/

View File

@ -0,0 +1,9 @@
aaaaaaaa
a6
a6YEa6Y,-6YG./a52vUa551
aaaaa5555
aaaa

View File

@ -0,0 +1 @@
aaaaXaaTyaaX5ETy5Tv455aTvvyfaXYaaXYEaaeaaa

View File

@ -0,0 +1,2 @@
 
 

View File

@ -0,0 +1,2 @@

 

View File

@ -0,0 +1 @@
 

View File

@ -0,0 +1 @@
  

1
maps/BetaElevator.blk Normal file
View File

@ -0,0 +1 @@
&$$$%$$$$$$$$$$$$$$$$$$

15
maps/BetaEmptyHouse.blk Normal file
View File

@ -0,0 +1,15 @@
 
  
 

  
 
  
  
  
 %
 

View File

@ -0,0 +1,10 @@
FD
JHU !Y$#Y"HEzv%&IIIIIIIIJII55)* @-.EAAAAAAAAAA FIHIJEEvvU55YY@AEYDFYHFzU5
B @55
F~D

1
maps/BetaHerosHouse.blk Normal file
View File

@ -0,0 +1 @@
 ! "

1
maps/BetaHouse.blk Normal file
View File

@ -0,0 +1 @@
*+,*-.12/0/

1
maps/BetaHouse2.blk Normal file
View File

@ -0,0 +1 @@
?',9..',9

1
maps/BetaIlexForest.blk Normal file
View File

@ -0,0 +1 @@
hqqqqqihqqqqqilrrsm

1
maps/BetaLakeOfRage.blk Normal file
View File

@ -0,0 +1 @@
\^af\a\^afG^f\\f>^fTU^abfd?fdTvyY>dG\fd\X55Ya^d?f^Tvy55Y<d`f\\Ty555Y`f]\?\aX555Y\\^?Tvvy555Y^<fTvy555555Y^bd\bf^X5555555Ydf\ffTy5555555Y\b\af\fX55555Ya^d<d\daX555Yfd\\G`f^^\<G^\<bad>>e\adfa

View File

@ -0,0 +1 @@
`N=`RZW,-G./WEZWWG?

1
maps/BetaNewBarkTown.blk Normal file
View File

@ -0,0 +1 @@
^]?II~IDGaaHTvEX5@~~{XDGGXHIIIIIIIaXvvvvvvvvv1

4
maps/BetaOlivineCity.blk Normal file
View File

@ -0,0 +1,4 @@
FDIJHIIIFDFZFDFDFFZFFZFFDFFZFAABFZFFDF|}FTvvvvvvvvvUDF|}FXYX55YDF|}FXYX55YHIIIJ|}FXYX556vvv
JXYX5545552
Xzvvvvy55255552vvvy555 555550555552995555~5555:5555

View File

@ -0,0 +1,2 @@

  ! &! &

View File

@ -0,0 +1 @@
012!

View File

@ -0,0 +1 @@
  '

View File

@ -0,0 +1 @@
'

View File

@ -0,0 +1,5 @@

:?  <? )
 ? )  ==   >> "! 89  *> *   89 :?:? )  ;?;? )  ? <?<? )  ? )   ? 
 ) * ,-.,//////////-

View File

@ -0,0 +1,4 @@

 

 >:)   ><) >>    )89      >>   8: ::?   ?< <<?  * ? )     * ),/////////////-

View File

@ -0,0 +1,5 @@
 +=1,////? 
=== :?5////4 ??? <?10 5// )==   >>:) 5//////>89<) 
,/////- >>>> 1 8899///=
5///->:?  1 =
 ><?  >? ? ,/////-,////-

View File

@ -0,0 +1,7 @@
!
ohi
omhi!nm7:~nm'nm'nm'nm'nm'nm'nm'nm
^
noo !hihi

View File

@ -0,0 +1,3 @@
     
 
  

View File

@ -0,0 +1,9 @@
 

 

 
 
 



View File

@ -0,0 +1,7 @@
 
  

  

 


View File

@ -0,0 +1,9 @@
 

 


    

       

View File

@ -0,0 +1,4 @@
 
            
 
 

View File

@ -0,0 +1,8 @@
 

 

    
  
 


View File

@ -0,0 +1,5 @@
  
   
 
   
   

View File

@ -0,0 +1 @@
    

View File

@ -0,0 +1 @@


View File

@ -0,0 +1 @@


View File

@ -0,0 +1 @@


View File

@ -0,0 +1 @@

1
maps/BetaTeakCity.blk Normal file
View File

@ -0,0 +1 @@
?eeeeeeeeeeeb !bb$%b>$%`&;',-&'`$%`*"+#/*+aE$%dg,-b()#/tuWZWVWVWVWZ@AABGTU !FXY$%&'XYa$%*+VVZVVVVVVZaa()EatuIIJ~{@AAAAA HII

1
maps/BetaUnknown.blk Normal file
View File

@ -0,0 +1 @@
(

7
maps/BetaVioletCity.blk Normal file
View File

@ -0,0 +1,7 @@
??&;'TU&;'b?*"+XY*"+?=G^bXYTU]]]]]]]]]]]]]XYXYXYb`b !`GbD$%F`
&;'
bD()F`G*"+
eeebDtuF`

AEA
bpk`bsm`=]E`G`G?e`b`?eeeeeeeeeef`b

View File

@ -123,10 +123,6 @@ HallOfFame_MapEventHeader: ; 0x181678
; 0x181695
; Pokedex entries I
; 001-064
INCLUDE "stats/pokedex/entries_1.asm"

View File

@ -16,7 +16,7 @@ UnknownScript_0x9d278: ; 0x9d278
2writetext UnknownText_0x9d303
yesorno
iffalse UnknownScript_0x9d2b6
special $004b
special SPECIAL_GIVESHUCKLE
iffalse UnknownScript_0x9d2b0
2writetext UnknownText_0x9d3ed
keeptextopen

3
pokecrystal.bat Normal file
View File

@ -0,0 +1,3 @@
@set PATH=%PATH%;C:\Program Files (x86)\GnuWin32\bin\;C:\Python27\
@make winclean && make win
@pause

View File

@ -18,6 +18,7 @@ from extras.crystal import (
text_command_classes,
movement_command_classes,
music_classes,
effect_classes,
)
even_more_macros = [
@ -34,6 +35,7 @@ macros += even_more_macros
macros += [each[1] for each in text_command_classes]
macros += movement_command_classes
macros += music_classes
macros += effect_classes
# show lines before preprocessing in stdout
show_original_lines = False

273
wram.asm
View File

@ -476,12 +476,33 @@ BattleMonSpclAtk: ; c646
BattleMonSpclDef: ; c648
ds 2
ds 25
BattleMonType1: ; c64a
ds 1
BattleMonType2: ; c64b
ds 1
ds 23
CurOTMon: ; c663
ds 1
ds 4
ds 1
TypeModifier: ; c665
; >10: super-effective
; 10: normal
; <10: not very effective
; bit 7: stab
ds 1
CriticalHit: ; c666
; nonzero for a critical hit
ds 1
AttackMissed: ; c667
; nonzero for a miss
ds 1
PlayerSubStatus1: ; c668
; bit
@ -495,15 +516,23 @@ PlayerSubStatus1: ; c668
; 0 nightmare
ds 1
PlayerSubStatus2: ; c669
; unknown
; bit
; 7
; 6
; 5
; 4
; 3
; 2
; 1
; 0 curled
ds 1
PlayerSubStatus3: ; c66a
; bit
; 7 confusion
; 6
; 5
; 6 flying
; 5 underground
; 4 charged
; 3
; 3 flinch
; 2
; 1 rollout
; 0 bide
@ -511,22 +540,30 @@ PlayerSubStatus3: ; c66a
PlayerSubStatus4: ; c66b
; bit
; 7 leech seed
; 6
; 6 rage
; 5 recharge
; 4 substitute
; 3
; 2 focus energy
; 1
; 0 bide: unleashed energy
ds 1
PlayerSubStatus5: ; c66c
; bit
; 7
; 6 destiny bond
; 5 lock-on
; 4
; 3
; 2
; 1
; 0
ds 1
PlayerSubStatus5: ; c66c
; unknown
ds 1
EnemySubStatus1: ; c66d
; see PlayerSubStatus1
ds 1
EnemySubstatus2: ; c66e
EnemySubStatus2: ; c66e
; see PlayerSubStatus2
ds 1
EnemySubStatus3: ; c66f
@ -539,28 +576,42 @@ EnemySubStatus5: ; c671
; see PlayerSubStatus5
ds 1
ds 4
PlayerRolloutCount: ; c672
ds 1
PlayerConfuseCount: ; c673
ds 1
ds 1
PlayerDisableCount: ; c675
ds 1
PlayerEncoreCount: ; c676
ds 1
PlayerPerishCount: ; c677
ds 1
ds 5
EnemyEncoreCount: ; c67e
PlayerFuryCutterCount: ; c678
ds 1
EnemyPerishCount: ; c67f
ds 1
ds 2
EnemyRolloutCount: ; c67a
ds 1
EnemyConfuseCount: ; c67b
ds 1
ds 1
EnemyEncoreCount: ; c67d
ds 1
EnemyPerishCount: ; c67e
ds 1
ds 1
EnemyFuryCutterCount: ; c680
ds 1
PlayerDamageTaken: ; c682
PlayerDamageTaken: ; c681
ds 2
EnemyDamageTaken: ; c684
EnemyDamageTaken: ; c683
ds 2
ds 4
ds 1
BattleScriptBuffer: ; c68a
ds 40
@ -568,14 +619,46 @@ BattleScriptBuffer: ; c68a
BattleScriptBufferLoc: ; c6b2
ds 2
ds 25
ds 24
PlayerStatLevels: ; c6cc
; 07 neutral
ds 8
PlayerAtkLevel: ; c6cc
ds 1
PlayerDefLevel: ; c6cd
ds 1
PlayerSpdLevel: ; c6ce
ds 1
PlayerSAtkLevel: ; c6cf
ds 1
PlayerSDefLevel: ; c6d0
ds 1
PlayerAccLevel: ; c6d1
ds 1
PlayerEvaLevel: ; c6d2
ds 1
; c6d3
ds 1
PlayerStatLevelsEnd:
EnemyStatLevels: ; c6d4
; 07 neutral
ds 8
EnemyAtkLevel: ; c6d4
ds 1
EnemyDefLevel: ; c6d5
ds 1
EnemySpdLevel: ; c6d6
ds 1
EnemySAtkLevel: ; c6d7
ds 1
EnemySDefLevel: ; c6d8
ds 1
EnemyAccLevel: ; c6d9
ds 1
EnemyEvaLevel: ; c6da
ds 1
; c6db
ds 1
EnemyTurnsTaken: ; c6dc
ds 1
@ -593,12 +676,21 @@ LinkBattleRNCount: ; c6e5
; how far through the prng stream
ds 1
ds 15
ds 3
CurEnemyMoveNum: ; c6e9
ds 1
ds 10
AlreadyDisobeyed: ; c6f4
ds 1
DisabledMove: ; c6f5
ds 1
ds 2
EnemyEncoredMove: ; c6f6
ds 1
ds 1
; exists so you can't counter on switch
LastEnemyCounterMove: ; c6f8
@ -606,14 +698,38 @@ LastEnemyCounterMove: ; c6f8
LastPlayerCounterMove: ; c6f9
ds 1
ds 8
ds 1
AlreadyFailed: ; c6fb
ds 1
ds 3
PlayerScreens: ; c6ff
; bit 4: reflect
; bit 3: light screen
ds 1
EnemyScreens: ; c700
; bit 4: reflect
; bit 3: light screen
ds 1
ds 1
PlayerLightScreenCount: ; c702
ds 1
PlayerReflectCount: ; c703
ds 1
ds 6
ds 2
EnemyLightScreenCount: ; c706
ds 1
EnemyReflectCount: ; c707
ds 1
ds 2
Weather: ; c70a
; 00 normal
@ -647,7 +763,7 @@ LastEnemyMove: ; c71c
SECTION "overworldmap",BSS[$c800]
OverworldMap: ; c800
ds 1300
OverworldMapEnd
OverworldMapEnd:
ds 12
@ -813,7 +929,76 @@ CurPartyMon: ; d109
; 0-5
ds 1
ds 55
ds 4
TempMon:
TempMonSpecies: ; d10e
ds 1
TempMonItem: ; d10f
ds 1
TempMonMoves: ; d110
TempMonMove1: ; d110
ds 1
TempMonMove2: ; d111
ds 1
TempMonMove3: ; d112
ds 1
TempMonMove4: ; d113
ds 1
TempMonID: ; d114
ds 2
TempMonExp: ; d116
ds 3
TempMonHPExp: ; d119
ds 2
TempMonAtkExp: ; d11b
ds 2
TempMonDefExp: ; d11d
ds 2
TempMonSpdExp: ; d11f
ds 2
TempMonSpclExp: ; d121
ds 2
TempMonDVs: ; d123
; hp = %1000 for each dv
ds 1 ; atk/def
ds 1 ; spd/spc
TempMonPP: ; d125
ds 4
TempMonHappiness: ; d129
ds 1
TempMonPokerusStatus: ; d12a
ds 1
TempMonCaughtData: ; d12b
TempMonCaughtTime: ; d12b
TempMonCaughtLevel: ; d12b
ds 1
TempMonCaughtGender: ; d12c
TempMonCaughtLocation: ; d12c
ds 1
TempMonLevel: ; d12d
ds 1
TempMonStatus: ; d12e
ds 1
; d12f
ds 1
TempMonCurHP: ; d130
ds 2
TempMonMaxHP: ; d132
ds 2
TempMonAtk: ; d134
ds 2
TempMonDef: ; d136
ds 2
TempMonSpd: ; d138
ds 2
TempMonSpclAtk: ; d13a
ds 2
TempMonSpclDef: ; d13c
ds 2
TempMonEnd: ; d13e
ds 3
PartyMenuActionText ; d141
ds 1
@ -847,7 +1032,10 @@ TileSetPalettes: ; d1e6
; bank 3f
ds 2
ds 2
EvolvableFlags: ; d1e8
ds 1
ds 1
Buffer1:
MagikarpLength: ; d1ea
@ -928,6 +1116,12 @@ EnemyMonSpclAtk: ; d220
EnemyMonSpclDef: ; d222
ds 2
EnemyMonType1: ; d224
ds 1
EnemyMonType2: ; d225
ds 1
SECTION "Battle",BSS[$d22d]
IsInBattle: ; d22d
@ -974,6 +1168,9 @@ UnownLetter: ; d234
CurBaseStats: ; d236
ds 32
CurDamage: ; d256
ds 2
SECTION "TimeOfDay",BSS[$d269]
TimeOfDay: ; d269
@ -994,7 +1191,7 @@ OTPartySpecies: ; d281
; or the routine will keep going
OTPartyMon1:
OTPartyMon1Species2: ; d288
OTPartyMon1Species: ; d288
ds 1
OTPartyMon1Item: ; d289
ds 1
@ -1131,6 +1328,7 @@ PlayerID: ; d47b
ds 2
PlayerName: ; d47d
ds 11
PlayerNameEnd: ; d478
ds 46
@ -1322,9 +1520,8 @@ PartyCount: ; dcd7
ds 1 ; number of Pokémon in party
PartySpecies: ; dcd8
ds 6 ; species of each Pokémon in party
; dcde
ds 1 ; any empty slots including the 7th must be FF
; or the routine will keep going
PartyEnd: ; dcde
ds 1 ; legacy functions don't check PartyCount
PartyMons:
PartyMon1:
@ -1371,7 +1568,7 @@ PartyMon1PokerusStatus: ; dcfb
ds 1
PartyMon1CaughtData: ; dcfc
PartyMon1CaughtTime: ; dcfc
PartyMon1CaughtLevel ; dcfc
PartyMon1CaughtLevel: ; dcfc
ds 1
PartyMon1CaughtGender: ; dcfd
PartyMon1CaughtLocation: ; dcfd
@ -1482,7 +1679,7 @@ BreedMon2Nick: ; df2f
BreedMon2OT: ; df3a
ds 11
BreedMon2Stats:
BreedMon1Species: ; df45
BreedMon2Species: ; df45
ds 1
ds 31