mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-11-16 11:27:33 -08:00
This commit is contained in:
commit
acdb00c5dc
2
.gitattributes
vendored
Normal file
2
.gitattributes
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
# No monkey business with line endings
|
||||
* -text
|
6
.gitignore
vendored
6
.gitignore
vendored
@ -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
|
||||
|
180
INSTALL.md
180
INSTALL.md
@ -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).
|
||||
|
27
Makefile
27
Makefile
@ -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,21 +46,20 @@ 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}
|
||||
|
||||
pngs:
|
||||
cd extras; python gfx.py mass-decompress; python gfx.py dump-pngs
|
||||
cd extras && python gfx.py mass-decompress && python gfx.py dump-pngs
|
||||
|
||||
|
||||
front.png: tiles.png
|
||||
cd extras; python gfx.py png-to-lz --front $@ $(OBJECT_DIRECTORY)/tiles.2bpp
|
||||
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}
|
||||
cd extras; python gfx.py png-to-lz --vert $@
|
||||
.png: ${HORIZGFX}
|
||||
cd extras; python gfx.py png-to-lz $@
|
||||
cd extras && python gfx.py png-to-2bpp $@
|
||||
.png:: ${VERTGFX}
|
||||
cd extras && python gfx.py png-to-lz --vert $@
|
||||
.png:: ${HORIZGFX}
|
||||
cd extras && python gfx.py png-to-lz $@
|
||||
|
||||
|
53
README.md
53
README.md
@ -4,65 +4,30 @@ 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 ([or use mibbit](http://chat.mibbit.com/?server=nucleus.kafuka.org&channel=#skeetendo))
|
||||
* Hang out with us on IRC:
|
||||
`nucleus.kafuka.org #skeetendo`
|
||||
(or use [mibbit](http://chat.mibbit.com/?server=nucleus.kafuka.org&channel=#skeetendo)).
|
||||
|
||||
* Are we missing something? Make a pull request! Contributions are welcome.
|
||||
|
||||
* Tackle some [issues](https://github.com/kanzure/pokecrystal/issues)!
|
||||
|
@ -1,212 +1,213 @@
|
||||
; e927c
|
||||
dbw $3c, $4b3f ; dex fanfare 50-79
|
||||
dbw $3c, $4c2f ; item
|
||||
dbw $3c, $4c89 ; caught mon
|
||||
dbw $3c, $4941 ; pokeballs placed on table
|
||||
dbw $3c, $4947 ; potion
|
||||
dbw $3c, $494a ; full heal
|
||||
dbw $3c, $494d ; menu
|
||||
dbw $3c, $4950 ; read text
|
||||
dbw $3c, $4950 ; read text
|
||||
dbw $3c, $4bd5 ; dex fanfare 20-49
|
||||
dbw $3c, $4cea ; dex fanfare 80-109
|
||||
dbw $3c, $4953 ; poison
|
||||
dbw $3c, $4956 ; got safari balls
|
||||
dbw $3c, $4959 ; boot pc
|
||||
dbw $3c, $495c ; shut down pc
|
||||
dbw $3c, $495f ; choose pc option
|
||||
dbw $3c, $4962 ; bide / escape rope
|
||||
dbw $3c, $4965 ; push button
|
||||
dbw $3c, $4968 ; second part of itemfinder
|
||||
dbw $3c, $496b ; warp to
|
||||
dbw $3c, $496e ; warp from
|
||||
dbw $3c, $4971 ; change dex mode
|
||||
dbw $3c, $4974 ; jump over ledge
|
||||
dbw $3c, $4977 ; grass rustle
|
||||
dbw $3c, $497a ; fly
|
||||
dbw $3c, $497d ; wrong
|
||||
dbw $3c, $4983 ; squeak
|
||||
dbw $3c, $4986 ; strength
|
||||
dbw $3c, $4989 ; boat
|
||||
dbw $3c, $498f ; wall open
|
||||
dbw $3c, $4992 ; place puzzle piece down
|
||||
dbw $3c, $4995 ; enter door
|
||||
dbw $3c, $4998 ; switch pokemon
|
||||
dbw $3c, $499e ; score tally? ; sounds like something out of game corner
|
||||
dbw $3c, $49a4 ; buy/sell
|
||||
dbw $3c, $49ad ; exit building
|
||||
dbw $3c, $49aa ; bump
|
||||
dbw $3c, $49b0 ; save
|
||||
dbw $3c, $49f8 ; pokeflute
|
||||
dbw $3c, $49fb ; elevator end
|
||||
dbw $3c, $49fe ; throw ball
|
||||
dbw $3c, $4a04 ; smokescreen
|
||||
dbw $3c, $4a0a ; ; something skidding on water?
|
||||
dbw $3c, $4a10 ; run
|
||||
dbw $3c, $4a13 ; slot machine start
|
||||
dbw $3c, $4dbe ; fanfare
|
||||
dbw $3c, $4a3d ; peck
|
||||
dbw $3c, $4a40 ; kinesis
|
||||
dbw $3c, $4a43 ; lick
|
||||
dbw $3c, $4a46 ; pound
|
||||
dbw $3c, $4a49 ; move puzzle piece
|
||||
dbw $3c, $4a4c ; comet punch
|
||||
dbw $3c, $4a4f ; mega punch
|
||||
dbw $3c, $4a52 ; scratch
|
||||
dbw $3c, $4a55 ; vicegrip
|
||||
dbw $3c, $4a58 ; razor wind
|
||||
dbw $3c, $4a5b ; cut
|
||||
dbw $3c, $4a5e ; wing attack
|
||||
dbw $3c, $4a61 ; whirlwind
|
||||
dbw $3c, $4a64 ; bind
|
||||
dbw $3c, $4a67 ; vine whip
|
||||
dbw $3c, $4a6a ; double kick
|
||||
dbw $3c, $4a6d ; mega kick
|
||||
dbw $3c, $4a70 ; headbutt
|
||||
dbw $3c, $4a73 ; horn attack
|
||||
dbw $3c, $4a76 ; tackle
|
||||
dbw $3c, $4a79 ; poison sting
|
||||
dbw $3c, $4a7c ; poisonpowder
|
||||
dbw $3c, $4a7f ; doubleslap
|
||||
dbw $3c, $4a82 ; bite
|
||||
dbw $3c, $4a88 ; jump kick
|
||||
dbw $3c, $4a8b ; stomp
|
||||
dbw $3c, $4a8e ; tail whip
|
||||
dbw $3c, $4a91 ; karate chop
|
||||
dbw $3c, $4a94 ; submission
|
||||
dbw $3c, $4a97 ; water gun
|
||||
dbw $3c, $4a9d ; swords dance
|
||||
dbw $3c, $4aa0 ; thunder
|
||||
dbw $3c, $4aa3 ; supersonic
|
||||
dbw $3c, $4aac ; leer
|
||||
dbw $3c, $4ab5 ; ember
|
||||
dbw $3c, $4abb ; bubblebeam
|
||||
dbw $3c, $4ac4 ; hydro pump
|
||||
dbw $3c, $4aca ; surf
|
||||
dbw $3c, $4ad3 ; psybeam
|
||||
dbw $3c, $4adc ; leech seed
|
||||
dbw $3c, $4ae5 ; thundershock
|
||||
dbw $3c, $4aee ; psychic
|
||||
dbw $3c, $4af7 ; screech
|
||||
dbw $3c, $4afd ; bone club
|
||||
dbw $3c, $4b03 ; sharpen
|
||||
dbw $3c, $4b09 ; egg bomb
|
||||
dbw $3c, $4b12 ; sing
|
||||
dbw $3c, $4b18 ; sky attack
|
||||
dbw $3c, $4b21 ; hyper beam
|
||||
dbw $3c, $4b24 ; shine
|
||||
dbw $3c, $4a1c ;
|
||||
dbw $3c, $4a1f ; $60
|
||||
dbw $3c, $4a22 ; tap
|
||||
dbw $3c, $4a25 ; tap
|
||||
dbw $3c, $4a28 ; burn ; that is not a burn
|
||||
dbw $3c, $4a2b ; title screen sound
|
||||
dbw $3c, $4a2e ; similar to $60
|
||||
dbw $3c, $4a31 ; get coin from slots
|
||||
dbw $3c, $4a34 ; pay day
|
||||
dbw $3c, $4a3a ; metronome
|
||||
dbw $3c, $4a19 ; call
|
||||
dbw $3c, $4b2d ; hang up
|
||||
dbw $3c, $4b30 ; no signal
|
||||
dbw $3c, $4b2a ; sandstorm
|
||||
dbw $3c, $4b33 ; elevator
|
||||
dbw $3c, $52b4 ; protect
|
||||
dbw $3c, $52f6 ; sketch
|
||||
dbw $3c, $5314 ; rain dance
|
||||
dbw $3c, $5334 ; aeroblast
|
||||
dbw $3c, $5352 ; spark
|
||||
dbw $3c, $5360 ; curse
|
||||
dbw $3c, $537d ; rage
|
||||
dbw $3c, $539c ; thief
|
||||
dbw $3c, $53b0 ; thief
|
||||
dbw $3c, $53ca ; spider web
|
||||
dbw $3c, $53f7 ; mind reader
|
||||
dbw $3c, $541d ; nighmare
|
||||
dbw $3c, $5453 ; snore
|
||||
dbw $3c, $5469 ; sweet kiss
|
||||
dbw $3c, $547f ; sweet kiss
|
||||
dbw $3c, $54a5 ; belly drum
|
||||
dbw $3c, $54ba ;
|
||||
dbw $3c, $54d0 ; sludge bomb
|
||||
dbw $3c, $54f5 ; foresight
|
||||
dbw $3c, $5515 ; spite
|
||||
dbw $3c, $553a ; outrage
|
||||
dbw $3c, $554d ; perish song
|
||||
dbw $3c, $5570 ; giga drain
|
||||
dbw $3c, $55b4 ; attract
|
||||
dbw $3c, $55cc ; kinesis
|
||||
dbw $3c, $55de ; zap cannon
|
||||
dbw $3c, $55ef ; mean look
|
||||
dbw $3c, $5621 ; heal bell
|
||||
dbw $3c, $5637 ; return
|
||||
dbw $3c, $5653 ; exp bar
|
||||
dbw $3c, $567f ; milk drink
|
||||
dbw $3c, $569f ; present
|
||||
dbw $3c, $56b9 ; morning sun
|
||||
dbw $3c, $4b3f ; level up
|
||||
dbw $3c, $4b86 ; key item
|
||||
dbw $3c, $4d56 ; fanfare
|
||||
dbw $3c, $4dc7 ; register phone #
|
||||
dbw $3c, $4e26 ; 3rd place
|
||||
dbw $3c, $4e66 ; get egg from daycare man
|
||||
dbw $3c, $4e66 ; get egg from daycare lady
|
||||
dbw $3c, $4edc ; move deleted
|
||||
dbw $3c, $4f5e ; 2nd place
|
||||
dbw $3c, $4fe2 ; 1st place
|
||||
dbw $3c, $5069 ; choose a card
|
||||
dbw $3c, $5104 ; get tm
|
||||
dbw $3c, $517d ; get badge
|
||||
dbw $3c, $5236 ; quit slots
|
||||
dbw $3c, $5775 ; nothing
|
||||
dbw $3c, $5878 ; dex fanfare <20
|
||||
dbw $3c, $58d2 ; dex fanfare 140-169
|
||||
dbw $3c, $5951 ; dex fanfare 170-199
|
||||
dbw $3c, $59d6 ; dex fanfare 200-229
|
||||
dbw $3c, $5a66 ; dex fanfare >=230
|
||||
dbw $3c, $5784 ; evolved
|
||||
dbw $3c, $579b ; master ball
|
||||
dbw $3c, $57c0 ; egg crack
|
||||
dbw $3c, $57d9 ; charizard fireball (gs intro)
|
||||
dbw $3c, $57ff ; pokemon appears (gs intro)
|
||||
dbw $3c, $5818 ; flash
|
||||
dbw $3c, $5846 ; game freak logo
|
||||
dbw $3c, $5b33 ; not very effective
|
||||
dbw $3c, $5b40 ; damage
|
||||
dbw $3c, $5b50 ; super effective
|
||||
dbw $3c, $5b63 ; ball bounce
|
||||
dbw $3c, $56df ; moonlight
|
||||
dbw $3c, $56fd ; encore
|
||||
dbw $3c, $5721 ; beat up
|
||||
dbw $3c, $574c ; batom pass
|
||||
dbw $3c, $4944 ; ball wiggle
|
||||
dbw $3c, $5734 ; sweet scent
|
||||
dbw $3c, $5bb3 ; sweet scent
|
||||
dbw $3c, $5bec ; hit end of exp bar
|
||||
dbw $3c, $5c10 ; give trademon
|
||||
dbw $3c, $5c3e ; get trademon
|
||||
dbw $3c, $5c6c ; train arrived
|
||||
dbw $3c, $675b ; stop slot
|
||||
dbw $3c, $5cb4 ; 2 boops
|
||||
dbw $3c, $6769 ; glass ting
|
||||
dbw $3c, $6773 ; 2 glass ting
|
||||
dbw $3c, $4b3f ; Dex Fanfare 50-79
|
||||
dbw $3c, $4c2f ; Item
|
||||
dbw $3c, $4c89 ; Caught Mon
|
||||
dbw $3c, $4941 ; Pokeballs Placed On Table
|
||||
dbw $3c, $4947 ; Potion
|
||||
dbw $3c, $494a ; Full Heal
|
||||
dbw $3c, $494d ; Menu
|
||||
dbw $3c, $4950 ; Read Text
|
||||
dbw $3c, $4950 ; Read Text 2
|
||||
dbw $3c, $4bd5 ; Dex Fanfare 20-49
|
||||
dbw $3c, $4cea ; Dex Fanfare 80-109
|
||||
dbw $3c, $4953 ; Poison
|
||||
dbw $3c, $4956 ; Got Safari Balls
|
||||
dbw $3c, $4959 ; Boot Pc
|
||||
dbw $3c, $495c ; Shut Down Pc
|
||||
dbw $3c, $495f ; Choose Pc Option
|
||||
dbw $3c, $4962 ; Escape Rope
|
||||
dbw $3c, $4965 ; Push Button
|
||||
dbw $3c, $4968 ; Second Part Of Itemfinder
|
||||
dbw $3c, $496b ; Warp To
|
||||
dbw $3c, $496e ; Warp From
|
||||
dbw $3c, $4971 ; Change Dex Mode
|
||||
dbw $3c, $4974 ; Jump Over Ledge
|
||||
dbw $3c, $4977 ; Grass Rustle
|
||||
dbw $3c, $497a ; Fly
|
||||
dbw $3c, $497d ; Wrong
|
||||
dbw $3c, $4983 ; Squeak
|
||||
dbw $3c, $4986 ; Strength
|
||||
dbw $3c, $4989 ; Boat
|
||||
dbw $3c, $498f ; Wall Open
|
||||
dbw $3c, $4992 ; Place Puzzle Piece Down
|
||||
dbw $3c, $4995 ; Enter Door
|
||||
dbw $3c, $4998 ; Switch Pokemon
|
||||
dbw $3c, $499e ; Tally
|
||||
dbw $3c, $49a4 ; Transaction
|
||||
dbw $3c, $49ad ; Exit Building
|
||||
dbw $3c, $49aa ; Bump
|
||||
dbw $3c, $49b0 ; Save
|
||||
dbw $3c, $49f8 ; Pokeflute
|
||||
dbw $3c, $49fb ; Elevator End
|
||||
dbw $3c, $49fe ; Throw Ball
|
||||
dbw $3c, $4a04 ; Ball Poof
|
||||
dbw $3c, $4a0a ; Unknown 3A
|
||||
dbw $3c, $4a10 ; Run
|
||||
dbw $3c, $4a13 ; Slot Machine Start
|
||||
dbw $3c, $4dbe ; Fanfare
|
||||
dbw $3c, $4a3d ; Peck
|
||||
dbw $3c, $4a40 ; Kinesis
|
||||
dbw $3c, $4a43 ; Lick
|
||||
dbw $3c, $4a46 ; Pound
|
||||
dbw $3c, $4a49 ; Move Puzzle Piece
|
||||
dbw $3c, $4a4c ; Comet Punch
|
||||
dbw $3c, $4a4f ; Mega Punch
|
||||
dbw $3c, $4a52 ; Scratch
|
||||
dbw $3c, $4a55 ; Vicegrip
|
||||
dbw $3c, $4a58 ; Razor Wind
|
||||
dbw $3c, $4a5b ; Cut
|
||||
dbw $3c, $4a5e ; Wing Attack
|
||||
dbw $3c, $4a61 ; Whirlwind
|
||||
dbw $3c, $4a64 ; Bind
|
||||
dbw $3c, $4a67 ; Vine Whip
|
||||
dbw $3c, $4a6a ; Double Kick
|
||||
dbw $3c, $4a6d ; Mega Kick
|
||||
dbw $3c, $4a70 ; Headbutt
|
||||
dbw $3c, $4a73 ; Horn Attack
|
||||
dbw $3c, $4a76 ; Tackle
|
||||
dbw $3c, $4a79 ; Poison Sting
|
||||
dbw $3c, $4a7c ; Powder
|
||||
dbw $3c, $4a7f ; Doubleslap
|
||||
dbw $3c, $4a82 ; Bite
|
||||
dbw $3c, $4a88 ; Jump Kick
|
||||
dbw $3c, $4a8b ; Stomp
|
||||
dbw $3c, $4a8e ; Tail Whip
|
||||
dbw $3c, $4a91 ; Karate Chop
|
||||
dbw $3c, $4a94 ; Submission
|
||||
dbw $3c, $4a97 ; Water Gun
|
||||
dbw $3c, $4a9d ; Swords Dance
|
||||
dbw $3c, $4aa0 ; Thunder
|
||||
dbw $3c, $4aa3 ; Supersonic
|
||||
dbw $3c, $4aac ; Leer
|
||||
dbw $3c, $4ab5 ; Ember
|
||||
dbw $3c, $4abb ; Bubblebeam
|
||||
dbw $3c, $4ac4 ; Hydro Pump
|
||||
dbw $3c, $4aca ; Surf
|
||||
dbw $3c, $4ad3 ; Psybeam
|
||||
dbw $3c, $4adc ; Charge
|
||||
dbw $3c, $4ae5 ; Thundershock
|
||||
dbw $3c, $4aee ; Psychic
|
||||
dbw $3c, $4af7 ; Screech
|
||||
dbw $3c, $4afd ; Bone Club
|
||||
dbw $3c, $4b03 ; Sharpen
|
||||
dbw $3c, $4b09 ; Egg Bomb
|
||||
dbw $3c, $4b12 ; Sing
|
||||
dbw $3c, $4b18 ; Hyper Beam
|
||||
dbw $3c, $4b21 ; Shine
|
||||
dbw $3c, $4b24 ; Unknown 5F
|
||||
dbw $3c, $4a1c ; Unknown 60
|
||||
dbw $3c, $4a1f ; Unknown 61
|
||||
dbw $3c, $4a22 ; Unknown 62
|
||||
dbw $3c, $4a25 ; Unknown 63
|
||||
dbw $3c, $4a28 ; Burn
|
||||
dbw $3c, $4a2b ; Title Screen Entrance
|
||||
dbw $3c, $4a2e ; Unknown 66
|
||||
dbw $3c, $4a31 ; Get Coin From Slots
|
||||
dbw $3c, $4a34 ; Pay Day
|
||||
dbw $3c, $4a3a ; Metronome
|
||||
dbw $3c, $4a19 ; Call
|
||||
dbw $3c, $4b2d ; Hang Up
|
||||
dbw $3c, $4b30 ; No Signal
|
||||
dbw $3c, $4b2a ; Sandstorm
|
||||
dbw $3c, $4b33 ; Elevator
|
||||
dbw $3c, $52b4 ; Protect
|
||||
dbw $3c, $52f6 ; Sketch
|
||||
dbw $3c, $5314 ; Rain Dance
|
||||
dbw $3c, $5334 ; Aeroblast
|
||||
dbw $3c, $5352 ; Spark
|
||||
dbw $3c, $5360 ; Curse
|
||||
dbw $3c, $537d ; Rage
|
||||
dbw $3c, $539c ; Thief
|
||||
dbw $3c, $53b0 ; Thief 2
|
||||
dbw $3c, $53ca ; Spider Web
|
||||
dbw $3c, $53f7 ; Mind Reader
|
||||
dbw $3c, $541d ; Nightmare
|
||||
dbw $3c, $5453 ; Snore
|
||||
dbw $3c, $5469 ; Sweet Kiss
|
||||
dbw $3c, $547f ; Sweet Kiss 2
|
||||
dbw $3c, $54a5 ; Belly Drum
|
||||
dbw $3c, $54ba ; Unknown 7F
|
||||
dbw $3c, $54d0 ; Sludge Bomb
|
||||
dbw $3c, $54f5 ; Foresight
|
||||
dbw $3c, $5515 ; Spite
|
||||
dbw $3c, $553a ; Outrage
|
||||
dbw $3c, $554d ; Perish Song
|
||||
dbw $3c, $5570 ; Giga Drain
|
||||
dbw $3c, $55b4 ; Attract
|
||||
dbw $3c, $55cc ; Kinesis 2
|
||||
dbw $3c, $55de ; Zap Cannon
|
||||
dbw $3c, $55ef ; Mean Look
|
||||
dbw $3c, $5621 ; Heal Bell
|
||||
dbw $3c, $5637 ; Return
|
||||
dbw $3c, $5653 ; Exp Bar
|
||||
dbw $3c, $567f ; Milk Drink
|
||||
dbw $3c, $569f ; Present
|
||||
dbw $3c, $56b9 ; Morning Sun
|
||||
dbw $3c, $4b3f ; Level Up
|
||||
dbw $3c, $4b86 ; Key Item
|
||||
dbw $3c, $4d56 ; Fanfare 2
|
||||
dbw $3c, $4dc7 ; Register Phone #
|
||||
dbw $3c, $4e26 ; 3Rd Place
|
||||
dbw $3c, $4e66 ; Get Egg From Daycare Man
|
||||
dbw $3c, $4e66 ; Get Egg From Daycare Lady
|
||||
dbw $3c, $4edc ; Move Deleted
|
||||
dbw $3c, $4f5e ; 2Nd Place
|
||||
dbw $3c, $4fe2 ; 1St Place
|
||||
dbw $3c, $5069 ; Choose A Card
|
||||
dbw $3c, $5104 ; Get Tm
|
||||
dbw $3c, $517d ; Get Badge
|
||||
dbw $3c, $5236 ; Quit Slots
|
||||
dbw $3c, $5775 ; Egg Crack
|
||||
dbw $3c, $5878 ; Dex Fanfare < 20
|
||||
dbw $3c, $58d2 ; Dex Fanfare 140-169
|
||||
dbw $3c, $5951 ; Dex Fanfare 170-199
|
||||
dbw $3c, $59d6 ; Dex Fanfare 200-229
|
||||
dbw $3c, $5a66 ; Dex Fanfare 230 +
|
||||
dbw $3c, $5784 ; Evolved
|
||||
dbw $3c, $579b ; Master Ball
|
||||
dbw $3c, $57c0 ; Egg Hatch
|
||||
dbw $3c, $57d9 ; Gs Intro Charizard Fireball
|
||||
dbw $3c, $57ff ; Gs Intro Pokemon Appears
|
||||
dbw $3c, $5818 ; Flash
|
||||
dbw $3c, $5846 ; Game Freak Logo Gs
|
||||
dbw $3c, $5b33 ; Not Very Effective
|
||||
dbw $3c, $5b40 ; Damage
|
||||
dbw $3c, $5b50 ; Super Effective
|
||||
dbw $3c, $5b63 ; Ball Bounce
|
||||
dbw $3c, $56df ; Moonlight
|
||||
dbw $3c, $56fd ; Encore
|
||||
dbw $3c, $5721 ; Beat Up
|
||||
dbw $3c, $574c ; Baton Pass
|
||||
dbw $3c, $4944 ; Ball Wiggle
|
||||
dbw $3c, $5734 ; Sweet Scent
|
||||
dbw $3c, $5bb3 ; Sweet Scent 2
|
||||
dbw $3c, $5bec ; Hit End Of Exp Bar
|
||||
dbw $3c, $5c10 ; Give Trademon
|
||||
dbw $3c, $5c3e ; Get Trademon
|
||||
dbw $3c, $5c6c ; Train Arrived
|
||||
dbw $3c, $675b ; Stop Slot
|
||||
dbw $3c, $5cb4 ; 2 Boops
|
||||
dbw $3c, $6769 ; Glass Ting
|
||||
dbw $3c, $6773 ; Glass Ting 2
|
||||
|
||||
; Crystal adds the following SFX:
|
||||
|
||||
dbw $5e, $582d ; intro unown 1
|
||||
dbw $5e, $583e ; intro unown 2
|
||||
dbw $5e, $584f ; intro unown 3
|
||||
dbw $5e, $586e ; boop
|
||||
dbw $5e, $5888 ; game freak ditto transform
|
||||
dbw $5e, $58a0 ; intro suicune 1
|
||||
dbw $5e, $58aa ; intro pichu
|
||||
dbw $5e, $58c0 ; intro suicune 2
|
||||
dbw $5e, $58f4 ; intro suicune 3
|
||||
dbw $5e, $5907 ; game freak ditto bounce
|
||||
dbw $5e, $591d ; intro suicune 4
|
||||
dbw $5e, $5942 ; game freak presents
|
||||
dbw $5e, $5961 ; tingle
|
||||
dbw $3c, $5cd0 ; sand?
|
||||
dbw $5e, $597c ; two pc beeps
|
||||
dbw $5e, $5992 ; 4 note ditty
|
||||
dbw $5e, $59cb ; twinkle
|
||||
dbw $5e, $582d ; Intro Unown 1
|
||||
dbw $5e, $583e ; Intro Unown 2
|
||||
dbw $5e, $584f ; Intro Unown 3
|
||||
dbw $5e, $586e ; Ditto Pop Up
|
||||
dbw $5e, $5888 ; Ditto Transform
|
||||
dbw $5e, $58a0 ; Intro Suicune 1
|
||||
dbw $5e, $58aa ; Intro Pichu
|
||||
dbw $5e, $58c0 ; Intro Suicune 2
|
||||
dbw $5e, $58f4 ; Intro Suicune 3
|
||||
dbw $5e, $5907 ; Ditto Bounce
|
||||
dbw $5e, $591d ; Intro Suicune 4
|
||||
dbw $5e, $5942 ; Game Freak Presents
|
||||
dbw $5e, $5961 ; Tingle
|
||||
dbw $3c, $5cd0 ; Unknown Cb
|
||||
dbw $5e, $597c ; Two Pc Beeps
|
||||
dbw $5e, $5992 ; 4 Note Ditty
|
||||
dbw $5e, $59cb ; Twinkle
|
||||
; e94e9
|
||||
|
||||
|
3362
battle/ai/scoring.asm
Normal file
3362
battle/ai/scoring.asm
Normal file
File diff suppressed because it is too large
Load Diff
177
battle/effect_command_pointers.asm
Normal file
177
battle/effect_command_pointers.asm
Normal 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
|
11209
battle/effect_commands.asm
Normal file
11209
battle/effect_commands.asm
Normal file
File diff suppressed because it is too large
Load Diff
2243
battle/moves/move_effects.asm
Normal file
2243
battle/moves/move_effects.asm
Normal file
File diff suppressed because it is too large
Load Diff
158
battle/moves/move_effects_pointers.asm
Normal file
158
battle/moves/move_effects_pointers.asm
Normal 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
|
||||
|
@ -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
|
||||
|
||||
|
587
constants.asm
587
constants.asm
@ -1464,6 +1464,26 @@ MAP_ROUTE_30_BERRY_SPEECH_HOUSE EQU $09
|
||||
MAP_MR_POKEMONS_HOUSE EQU $0a
|
||||
MAP_ROUTE_31_VIOLET_GATE EQU $0b
|
||||
|
||||
|
||||
; elevator floors
|
||||
_B4F EQU $0
|
||||
_B3F EQU $1
|
||||
_B2F EQU $2
|
||||
_B1F EQU $3
|
||||
_1F EQU $4
|
||||
_2F EQU $5
|
||||
_3F EQU $6
|
||||
_4F EQU $7
|
||||
_5F EQU $8
|
||||
_6F EQU $9
|
||||
_7F EQU $a
|
||||
_8F EQU $b
|
||||
_9F EQU $c
|
||||
_10F EQU $d
|
||||
_11F EQU $e
|
||||
_ROOF EQU $f
|
||||
|
||||
|
||||
; item constants
|
||||
NO_ITEM EQU $00
|
||||
MASTER_BALL EQU $01
|
||||
@ -1689,6 +1709,58 @@ HM_05 EQU $F7
|
||||
HM_06 EQU $F8
|
||||
HM_07 EQU $F9
|
||||
|
||||
NUM_TMS EQU HM_01 - TM_01 - 2
|
||||
|
||||
; pockets
|
||||
ITEM EQU 1
|
||||
KEY_ITEM EQU 2
|
||||
BALL EQU 3
|
||||
TM_HM EQU 4
|
||||
|
||||
; item actions
|
||||
CANT_SELECT EQU %01000000
|
||||
CANT_TOSS EQU %10000000
|
||||
|
||||
; held item effects
|
||||
HELD_BERRY EQU $01
|
||||
HELD_LEFTOVERS EQU $03
|
||||
HELD_RESTORE_PP EQU $06
|
||||
HELD_CLEANSE_TAG EQU $08
|
||||
HELD_HEAL_POISON EQU $0a
|
||||
HELD_HEAL_FREEZE EQU $0b
|
||||
HELD_HEAL_BURN EQU $0c
|
||||
HELD_HEAL_SLEEP EQU $0d
|
||||
HELD_HEAL_PARALYZE EQU $0e
|
||||
HELD_HEAL_STATUS EQU $0f
|
||||
HELD_HEAL_CONFUSION EQU $10
|
||||
HELD_METAL_POWDER EQU $2a
|
||||
HELD_NORMAL_BOOST EQU $32
|
||||
HELD_FIGHTING_BOOST EQU $33
|
||||
HELD_FLYING_BOOST EQU $34
|
||||
HELD_POISON_BOOST EQU $35
|
||||
HELD_GROUND_BOOST EQU $36
|
||||
HELD_ROCK_BOOST EQU $37
|
||||
HELD_BUG_BOOST EQU $38
|
||||
HELD_GHOST_BOOST EQU $39
|
||||
HELD_FIRE_BOOST EQU $3a
|
||||
HELD_WATER_BOOST EQU $3b
|
||||
HELD_GRASS_BOOST EQU $3c
|
||||
HELD_ELECTRIC_BOOST EQU $3d
|
||||
HELD_PSYCHIC_BOOST EQU $3e
|
||||
HELD_ICE_BOOST EQU $3f
|
||||
HELD_DRAGON_BOOST EQU $40
|
||||
HELD_DARK_BOOST EQU $41
|
||||
HELD_STEEL_BOOST EQU $42
|
||||
HELD_ESCAPE EQU $48
|
||||
HELD_CRITICAL_UP EQU $49
|
||||
HELD_QUICK_CLAW EQU $4a
|
||||
HELD_TRADE_EVOLVE EQU $4b
|
||||
HELD_AMULET_COIN EQU $4c
|
||||
HELD_BRIGHTPOWDER EQU $4d
|
||||
HELD_FOCUS_BAND EQU $4f
|
||||
|
||||
|
||||
|
||||
; days of the week
|
||||
SUNDAY EQU $00
|
||||
MONDAY EQU $01
|
||||
@ -2336,7 +2408,9 @@ EVOLVE_TRADE EQU 3
|
||||
EVOLVE_HAPPINESS EQU 4
|
||||
EVOLVE_STAT EQU 5
|
||||
|
||||
BASE_HAPPINESS EQU 70
|
||||
; happiness evolution triggers
|
||||
HAPPINESS_TO_EVOLVE EQU 220
|
||||
TR_ANYTIME EQU 1
|
||||
TR_MORNDAY EQU 2
|
||||
TR_NITE EQU 3
|
||||
@ -3249,6 +3323,221 @@ MUSIC_SUICUNE_BATTLE EQU 100
|
||||
MUSIC_BATTLE_TOWER_LOBBY EQU 101
|
||||
MUSIC_MOBILE_CENTER EQU 102
|
||||
|
||||
MUSIC_MAHOGANY_MART EQU 100 ; grandfathered from gold
|
||||
|
||||
|
||||
|
||||
; sfx
|
||||
SFX_DEX_FANFARE_50_79 EQU $00
|
||||
SFX_ITEM EQU $01
|
||||
SFX_CAUGHT_MON EQU $02
|
||||
SFX_POKEBALLS_PLACED_ON_TABLE EQU $03
|
||||
SFX_POTION EQU $04
|
||||
SFX_FULL_HEAL EQU $05
|
||||
SFX_MENU EQU $06
|
||||
SFX_READ_TEXT EQU $07
|
||||
SFX_READ_TEXT_2 EQU $08
|
||||
SFX_DEX_FANFARE_20_49 EQU $09
|
||||
SFX_DEX_FANFARE_80_109 EQU $0a
|
||||
SFX_POISON EQU $0b
|
||||
SFX_GOT_SAFARI_BALLS EQU $0c
|
||||
SFX_BOOT_PC EQU $0d
|
||||
SFX_SHUT_DOWN_PC EQU $0e
|
||||
SFX_CHOOSE_PC_OPTION EQU $0f
|
||||
SFX_ESCAPE_ROPE EQU $10
|
||||
SFX_PUSH_BUTTON EQU $11
|
||||
SFX_SECOND_PART_OF_ITEMFINDER EQU $12
|
||||
SFX_WARP_TO EQU $13
|
||||
SFX_WARP_FROM EQU $14
|
||||
SFX_CHANGE_DEX_MODE EQU $15
|
||||
SFX_JUMP_OVER_LEDGE EQU $16
|
||||
SFX_GRASS_RUSTLE EQU $17
|
||||
SFX_FLY EQU $18
|
||||
SFX_WRONG EQU $19
|
||||
SFX_SQUEAK EQU $1a
|
||||
SFX_STRENGTH EQU $1b
|
||||
SFX_BOAT EQU $1c
|
||||
SFX_WALL_OPEN EQU $1d
|
||||
SFX_PLACE_PUZZLE_PIECE_DOWN EQU $1e
|
||||
SFX_ENTER_DOOR EQU $1f
|
||||
SFX_SWITCH_POKEMON EQU $20
|
||||
SFX_TALLY EQU $21
|
||||
SFX_TRANSACTION EQU $22
|
||||
SFX_EXIT_BUILDING EQU $23
|
||||
SFX_BUMP EQU $24
|
||||
SFX_SAVE EQU $25
|
||||
SFX_POKEFLUTE EQU $26
|
||||
SFX_ELEVATOR_END EQU $27
|
||||
SFX_THROW_BALL EQU $28
|
||||
SFX_BALL_POOF EQU $29
|
||||
SFX_UNKNOWN_3A EQU $2a
|
||||
SFX_RUN EQU $2b
|
||||
SFX_SLOT_MACHINE_START EQU $2c
|
||||
SFX_FANFARE EQU $2d
|
||||
SFX_PECK EQU $2e
|
||||
SFX_KINESIS EQU $2f
|
||||
SFX_LICK EQU $30
|
||||
SFX_POUND EQU $31
|
||||
SFX_MOVE_PUZZLE_PIECE EQU $32
|
||||
SFX_COMET_PUNCH EQU $33
|
||||
SFX_MEGA_PUNCH EQU $34
|
||||
SFX_SCRATCH EQU $35
|
||||
SFX_VICEGRIP EQU $36
|
||||
SFX_RAZOR_WIND EQU $37
|
||||
SFX_CUT EQU $38
|
||||
SFX_WING_ATTACK EQU $39
|
||||
SFX_WHIRLWIND EQU $3a
|
||||
SFX_BIND EQU $3b
|
||||
SFX_VINE_WHIP EQU $3c
|
||||
SFX_DOUBLE_KICK EQU $3d
|
||||
SFX_MEGA_KICK EQU $3e
|
||||
SFX_HEADBUTT EQU $3f
|
||||
SFX_HORN_ATTACK EQU $40
|
||||
SFX_TACKLE EQU $41
|
||||
SFX_POISON_STING EQU $42
|
||||
SFX_POWDER EQU $43
|
||||
SFX_DOUBLESLAP EQU $44
|
||||
SFX_BITE EQU $45
|
||||
SFX_JUMP_KICK EQU $46
|
||||
SFX_STOMP EQU $47
|
||||
SFX_TAIL_WHIP EQU $48
|
||||
SFX_KARATE_CHOP EQU $49
|
||||
SFX_SUBMISSION EQU $4a
|
||||
SFX_WATER_GUN EQU $4b
|
||||
SFX_SWORDS_DANCE EQU $4c
|
||||
SFX_THUNDER EQU $4d
|
||||
SFX_SUPERSONIC EQU $4e
|
||||
SFX_LEER EQU $4f
|
||||
SFX_EMBER EQU $50
|
||||
SFX_BUBBLEBEAM EQU $51
|
||||
SFX_HYDRO_PUMP EQU $52
|
||||
SFX_SURF EQU $53
|
||||
SFX_PSYBEAM EQU $54
|
||||
SFX_CHARGE EQU $55
|
||||
SFX_THUNDERSHOCK EQU $56
|
||||
SFX_PSYCHIC EQU $57
|
||||
SFX_SCREECH EQU $58
|
||||
SFX_BONE_CLUB EQU $59
|
||||
SFX_SHARPEN EQU $5a
|
||||
SFX_EGG_BOMB EQU $5b
|
||||
SFX_SING EQU $5c
|
||||
SFX_HYPER_BEAM EQU $5d
|
||||
SFX_SHINE EQU $5e
|
||||
SFX_UNKNOWN_5F EQU $5f
|
||||
SFX_UNKNOWN_60 EQU $60
|
||||
SFX_UNKNOWN_61 EQU $61
|
||||
SFX_UNKNOWN_62 EQU $62
|
||||
SFX_UNKNOWN_63 EQU $63
|
||||
SFX_BURN EQU $64
|
||||
SFX_TITLE_SCREEN_ENTRANCE EQU $65
|
||||
SFX_UNKNOWN_66 EQU $66
|
||||
SFX_GET_COIN_FROM_SLOTS EQU $67
|
||||
SFX_PAY_DAY EQU $68
|
||||
SFX_METRONOME EQU $69
|
||||
SFX_CALL EQU $6a
|
||||
SFX_HANG_UP EQU $6b
|
||||
SFX_NO_SIGNAL EQU $6c
|
||||
SFX_SANDSTORM EQU $6d
|
||||
SFX_ELEVATOR EQU $6e
|
||||
SFX_PROTECT EQU $6f
|
||||
SFX_SKETCH EQU $70
|
||||
SFX_RAIN_DANCE EQU $71
|
||||
SFX_AEROBLAST EQU $72
|
||||
SFX_SPARK EQU $73
|
||||
SFX_CURSE EQU $74
|
||||
SFX_RAGE EQU $75
|
||||
SFX_THIEF EQU $76
|
||||
SFX_THIEF_2 EQU $77
|
||||
SFX_SPIDER_WEB EQU $78
|
||||
SFX_MIND_READER EQU $79
|
||||
SFX_NIGHTMARE EQU $7a
|
||||
SFX_SNORE EQU $7b
|
||||
SFX_SWEET_KISS EQU $7c
|
||||
SFX_SWEET_KISS_2 EQU $7d
|
||||
SFX_BELLY_DRUM EQU $7e
|
||||
SFX_UNKNOWN_7F EQU $7f
|
||||
SFX_SLUDGE_BOMB EQU $80
|
||||
SFX_FORESIGHT EQU $81
|
||||
SFX_SPITE EQU $82
|
||||
SFX_OUTRAGE EQU $83
|
||||
SFX_PERISH_SONG EQU $84
|
||||
SFX_GIGA_DRAIN EQU $85
|
||||
SFX_ATTRACT EQU $86
|
||||
SFX_KINESIS_2 EQU $87
|
||||
SFX_ZAP_CANNON EQU $88
|
||||
SFX_MEAN_LOOK EQU $89
|
||||
SFX_HEAL_BELL EQU $8a
|
||||
SFX_RETURN EQU $8b
|
||||
SFX_EXP_BAR EQU $8c
|
||||
SFX_MILK_DRINK EQU $8d
|
||||
SFX_PRESENT EQU $8e
|
||||
SFX_MORNING_SUN EQU $8f
|
||||
SFX_LEVEL_UP EQU $90
|
||||
SFX_KEY_ITEM EQU $91
|
||||
SFX_FANFARE_2 EQU $92
|
||||
SFX_REGISTER_PHONE_# EQU $93
|
||||
SFX_3RD_PLACE EQU $94
|
||||
SFX_GET_EGG_FROM_DAYCARE_MAN EQU $95
|
||||
SFX_GET_EGG_FROM_DAYCARE_LADY EQU $96
|
||||
SFX_MOVE_DELETED EQU $97
|
||||
SFX_2ND_PLACE EQU $98
|
||||
SFX_1ST_PLACE EQU $99
|
||||
SFX_CHOOSE_A_CARD EQU $9a
|
||||
SFX_GET_TM EQU $9b
|
||||
SFX_GET_BADGE EQU $9c
|
||||
SFX_QUIT_SLOTS EQU $9d
|
||||
SFX_EGG_CRACK EQU $9e
|
||||
SFX_DEX_FANFARE_LESS_THAN_20 EQU $9f
|
||||
SFX_DEX_FANFARE_140_169 EQU $a0
|
||||
SFX_DEX_FANFARE_170_199 EQU $a1
|
||||
SFX_DEX_FANFARE_200_229 EQU $a2
|
||||
SFX_DEX_FANFARE_230_PLUS EQU $a3
|
||||
SFX_EVOLVED EQU $a4
|
||||
SFX_MASTER_BALL EQU $a5
|
||||
SFX_EGG_HATCH EQU $a6
|
||||
SFX_GS_INTRO_CHARIZARD_FIREBALL EQU $a7
|
||||
SFX_GS_INTRO_POKEMON_APPEARS EQU $a8
|
||||
SFX_FLASH EQU $a9
|
||||
SFX_GAME_FREAK_LOGO_GS EQU $aa
|
||||
SFX_NOT_VERY_EFFECTIVE EQU $ab
|
||||
SFX_DAMAGE EQU $ac
|
||||
SFX_SUPER_EFFECTIVE EQU $ad
|
||||
SFX_BALL_BOUNCE EQU $ae
|
||||
SFX_MOONLIGHT EQU $af
|
||||
SFX_ENCORE EQU $b0
|
||||
SFX_BEAT_UP EQU $b1
|
||||
SFX_BATON_PASS EQU $b2
|
||||
SFX_BALL_WIGGLE EQU $b3
|
||||
SFX_SWEET_SCENT EQU $b4
|
||||
SFX_SWEET_SCENT_2 EQU $b5
|
||||
SFX_HIT_END_OF_EXP_BAR EQU $b6
|
||||
SFX_GIVE_TRADEMON EQU $b7
|
||||
SFX_GET_TRADEMON EQU $b8
|
||||
SFX_TRAIN_ARRIVED EQU $b9
|
||||
SFX_STOP_SLOT EQU $ba
|
||||
SFX_2_BOOPS EQU $bb
|
||||
SFX_GLASS_TING EQU $bc
|
||||
SFX_GLASS_TING_2 EQU $bd
|
||||
SFX_INTRO_UNOWN_1 EQU $be
|
||||
SFX_INTRO_UNOWN_2 EQU $bf
|
||||
SFX_INTRO_UNOWN_3 EQU $c0
|
||||
SFX_DITTO_POP_UP EQU $c1
|
||||
SFX_DITTO_TRANSFORM EQU $c2
|
||||
SFX_INTRO_SUICUNE_1 EQU $c3
|
||||
SFX_INTRO_PICHU EQU $c4
|
||||
SFX_INTRO_SUICUNE_2 EQU $c5
|
||||
SFX_INTRO_SUICUNE_3 EQU $c6
|
||||
SFX_DITTO_BOUNCE EQU $c7
|
||||
SFX_INTRO_SUICUNE_4 EQU $c8
|
||||
SFX_GAME_FREAK_PRESENTS EQU $c9
|
||||
SFX_TINGLE EQU $ca
|
||||
SFX_UNKNOWN_CB EQU $cb
|
||||
SFX_TWO_PC_BEEPS EQU $cc
|
||||
SFX_4_NOTE_DITTY EQU $cd
|
||||
SFX_TWINKLE EQU $ce
|
||||
|
||||
|
||||
|
||||
; sound
|
||||
_4CH1 EQU $c0
|
||||
_3CH1 EQU $80
|
||||
@ -3319,47 +3608,57 @@ 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_FLAG EQU $03
|
||||
PREDEF_FILLPP EQU $05
|
||||
PREDEF_ADDPARTYMON EQU $06
|
||||
PREDEF_FILLSTATS EQU $0C
|
||||
PREDEF_FILLMOVES EQU $1B
|
||||
PREDEF_GETUNOWNLETTER EQU $2D
|
||||
|
||||
|
||||
; flag manipulation
|
||||
RESET_FLAG EQU 0
|
||||
SET_FLAG EQU 1
|
||||
CHECK_FLAG EQU 2
|
||||
|
||||
|
||||
; script vars
|
||||
NUM_VARS EQU $1b
|
||||
VAR_MOVEMENT EQU $08
|
||||
@ -3416,6 +3715,256 @@ BATTLETYPE_FORCEITEM EQU $0a
|
||||
BATTLETYPE_SUICUNE EQU $0c
|
||||
|
||||
|
||||
; battle variables
|
||||
BATTLE_VARS_SUBSTATUS1 EQU 0
|
||||
BATTLE_VARS_SUBSTATUS2 EQU 1
|
||||
BATTLE_VARS_SUBSTATUS3 EQU 2
|
||||
BATTLE_VARS_SUBSTATUS4 EQU 3
|
||||
BATTLE_VARS_SUBSTATUS5 EQU 4
|
||||
BATTLE_VARS_SUBSTATUS1_OPP EQU 5
|
||||
BATTLE_VARS_SUBSTATUS2_OPP EQU 6
|
||||
BATTLE_VARS_SUBSTATUS3_OPP EQU 7
|
||||
BATTLE_VARS_SUBSTATUS4_OPP EQU 8
|
||||
BATTLE_VARS_SUBSTATUS5_OPP EQU 9
|
||||
BATTLE_VARS_STATUS EQU 10
|
||||
BATTLE_VARS_STATUS_OPP EQU 11
|
||||
BATTLE_VARS_MOVE_ANIM EQU 12
|
||||
BATTLE_VARS_MOVE_EFFECT EQU 13
|
||||
BATTLE_VARS_MOVE_POWER EQU 14
|
||||
BATTLE_VARS_MOVE_TYPE EQU 15
|
||||
BATTLE_VARS_MOVE EQU 16
|
||||
BATTLE_VARS_LAST_COUNTER_MOVE EQU 17
|
||||
BATTLE_VARS_LAST_COUNTER_MOVE_OPP EQU 18
|
||||
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_IDENTIFIED EQU 3
|
||||
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_MIST EQU 1
|
||||
SUBSTATUS_UNLEASH EQU 0
|
||||
|
||||
SUBSTATUS_CANT_RUN EQU 7
|
||||
SUBSTATUS_DESTINY_BOND EQU 6
|
||||
SUBSTATUS_LOCK_ON EQU 5
|
||||
SUBSTATUS_TOXIC EQU 0
|
||||
|
||||
|
||||
SCREENS_REFLECT EQU 4
|
||||
SCREENS_LIGHT_SCREEN EQU 3
|
||||
SCREENS_SAFEGUARD EQU 2
|
||||
SCREENS_SPIKES EQU 0
|
||||
|
||||
|
||||
; status
|
||||
SLP EQU 7 ; 7 turns
|
||||
|
||||
PSN EQU 3
|
||||
BRN EQU 4
|
||||
FRZ EQU 5
|
||||
PAR EQU 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
|
||||
EFFECT_UNUSED_25 EQU $25 ; unused
|
||||
EFFECT_OHKO EQU $26
|
||||
EFFECT_RAZOR_WIND EQU $27
|
||||
EFFECT_SUPER_FANG EQU $28
|
||||
EFFECT_STATIC_DAMAGE EQU $29
|
||||
EFFECT_BIND EQU $2a
|
||||
EFFECT_UNUSED_2B EQU $2b ; unused
|
||||
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
|
||||
EFFECT_UNUSED_4E EQU $4e ; unused
|
||||
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
|
||||
EFFECT_UNUSED_6E EQU $6e ; unused
|
||||
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
|
||||
EFFECT_UNUSED_82 EQU $82 ; unused
|
||||
EFFECT_UNUSED_83 EQU $83 ; unused
|
||||
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
|
||||
|
@ -98,6 +98,8 @@ chars = {
|
||||
0xE9: "&",
|
||||
0xEA: "é",
|
||||
0xEB: "→",
|
||||
0xED: "▶",
|
||||
0xEE: "▼",
|
||||
0xEF: "♂",
|
||||
0xF0: "¥",
|
||||
0xF1: "×",
|
||||
|
@ -1471,7 +1471,7 @@ ScriptPointerLabelAfterBank.parse = _parse_script_pointer_bytes
|
||||
class PointerLabelToScriptPointer(PointerLabelParam):
|
||||
def parse(self):
|
||||
PointerLabelParam.parse(self)
|
||||
address = calculate_pointer_from_bytes_at(self.address, bank=self.bank)
|
||||
address = calculate_pointer_from_bytes_at(self.parsed_address, bank=self.bank)
|
||||
address2 = calculate_pointer_from_bytes_at(address, bank="reverse") # maybe not "reverse"?
|
||||
self.script = parse_script_engine_script_at(address2, origin=False, map_group=self.map_group, map_id=self.map_id, force=self.force, debug=self.debug)
|
||||
|
||||
@ -2912,7 +2912,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}
|
||||
@ -2938,6 +2938,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"""
|
||||
@ -6201,7 +6416,7 @@ def parse_map_header_by_id(*args, **kwargs):
|
||||
elif len(args) == 1 and type(args[0]) == str:
|
||||
map_group = int(args[0].split(".")[0])
|
||||
map_id = int(args[0].split(".")[1])
|
||||
else:
|
||||
elif map_group == None and map_id == None:
|
||||
raise Exception("dunno what to do with input")
|
||||
offset = map_names[map_group]["offset"]
|
||||
map_header_offset = offset + ((map_id - 1) * map_header_byte_size)
|
||||
|
@ -1436,8 +1436,8 @@ def mass_to_colored_png(debug=False):
|
||||
for name in files:
|
||||
if debug: print os.path.splitext(name), os.path.join(root, name)
|
||||
if os.path.splitext(name)[1] == '.2bpp':
|
||||
if name[:5]+'.pal' in files:
|
||||
to_png(os.path.join(root, name), None, os.path.join(root, name[:-5]+'.pal'))
|
||||
if os.path.splitext(name)[0]+'.pal' in files:
|
||||
to_png(os.path.join(root, name), None, os.path.join(root, os.path.splitext(name)[0]+'.pal'))
|
||||
else:
|
||||
to_png(os.path.join(root, name))
|
||||
|
||||
@ -1459,26 +1459,26 @@ def mass_to_colored_png(debug=False):
|
||||
|
||||
def mass_decompress(debug=False):
|
||||
for root, dirs, files in os.walk('../gfx/'):
|
||||
for file in files:
|
||||
if 'lz' in file:
|
||||
for name in files:
|
||||
if 'lz' in name:
|
||||
if '/pics' in root:
|
||||
if 'front' in file:
|
||||
if 'front' in name:
|
||||
id = root.split('pics/')[1][:3]
|
||||
if id != 'egg':
|
||||
with open(root+'/'+file, 'rb') as lz: de = Decompressed(lz.read(), 'vert', sizes[int(id)-1])
|
||||
with open(os.path.join(root, name), 'rb') as lz: de = Decompressed(lz.read(), 'vert', sizes[int(id)-1])
|
||||
else:
|
||||
with open(root+'/'+file, 'rb') as lz: de = Decompressed(lz.read(), 'vert', 4)
|
||||
to_file(root+'/'+'front.2bpp', de.pic)
|
||||
to_file(root+'/'+'tiles.2bpp', de.animtiles)
|
||||
elif 'back' in file:
|
||||
with open(root+'/'+file, 'rb') as lz: de = Decompressed(lz.read(), 'vert')
|
||||
to_file(root+'/'+'back.2bpp', de.output)
|
||||
with open(os.path.join(root, name), 'rb') as lz: de = Decompressed(lz.read(), 'vert', 4)
|
||||
to_file(os.path.join(root, 'front.2bpp'), de.pic)
|
||||
to_file(os.path.join(root, 'tiles.2bpp'), de.animtiles)
|
||||
elif 'back' in name:
|
||||
with open(os.path.join(root, name), 'rb') as lz: de = Decompressed(lz.read(), 'vert')
|
||||
to_file(os.path.join(root, 'back.2bpp'), de.output)
|
||||
elif '/trainers' in root or '/fx' in root:
|
||||
with open(root+'/'+file, 'rb') as lz: de = Decompressed(lz.read(), 'vert')
|
||||
to_file(root+'/'+file[:-3]+'.2bpp', de.output)
|
||||
with open(os.path.join(root, name), 'rb') as lz: de = Decompressed(lz.read(), 'vert')
|
||||
to_file(os.path.join(root, os.path.splitext(name)[0]+'.2bpp'), de.output)
|
||||
else:
|
||||
with open(root+'/'+file, 'rb') as lz: de = Decompressed(lz.read())
|
||||
to_file(root+file[:-3]+'.2bpp', de.output)
|
||||
with open(os.path.join(root, name), 'rb') as lz: de = Decompressed(lz.read())
|
||||
to_file(os.path.join(root, os.path.splitext(name)[0]+'.2bpp'), de.output)
|
||||
|
||||
def append_terminator_to_lzs(directory):
|
||||
# fix lzs that were extracted with a missing terminator
|
||||
|
161
extras/vba.py
161
extras/vba.py
@ -104,6 +104,11 @@ Gb.loadVBA()
|
||||
|
||||
from vba_config import *
|
||||
|
||||
try:
|
||||
import vba_keyboard as keyboard
|
||||
except ImportError:
|
||||
print "Not loading the keyboard module (which uses networkx)."
|
||||
|
||||
if not os.path.exists(rom_path):
|
||||
raise Exception("rom_path is not configured properly; edit vba_config.py?")
|
||||
|
||||
@ -163,10 +168,14 @@ def button_combiner(buttons):
|
||||
buttons.replace("select", "")
|
||||
result |= button_masks["select"]
|
||||
|
||||
if isinstance(buttons, list):
|
||||
if len(buttons) > 9:
|
||||
raise Exception("can't combine more than 9 buttons at a time")
|
||||
|
||||
for each in buttons:
|
||||
result |= button_masks[each]
|
||||
|
||||
print "button: " + str(result)
|
||||
#print "button: " + str(result)
|
||||
return result
|
||||
|
||||
def load_rom(path=None):
|
||||
@ -434,6 +443,69 @@ def press(buttons, steplimit=1):
|
||||
for step_counter in range(0, steplimit):
|
||||
Gb.step(number)
|
||||
|
||||
def get_buttons():
|
||||
"""
|
||||
Returns the currentButtons[0] value (an integer with bits set for which
|
||||
buttons are currently pressed).
|
||||
"""
|
||||
return Gb.getCurrentButtons()
|
||||
|
||||
class State(RomList):
|
||||
name = None
|
||||
|
||||
class Recording:
|
||||
def __init__(self):
|
||||
self.frames = []
|
||||
self.states = {}
|
||||
|
||||
def _get_frame_count(self):
|
||||
return len(self.frames)
|
||||
|
||||
frame_count = property(fget=_get_frame_count)
|
||||
|
||||
def save(self, name=None):
|
||||
"""
|
||||
Saves the current state.
|
||||
"""
|
||||
state = State(get_state())
|
||||
state.name = name
|
||||
self.states[self.frame_count] = state
|
||||
|
||||
def load(self, name):
|
||||
"""
|
||||
Loads a state by name in the state list.
|
||||
"""
|
||||
for state in self.states.items():
|
||||
if state.name == name:
|
||||
set_state(state)
|
||||
return state
|
||||
return False
|
||||
|
||||
def step(self, stepcount=1, first_frame=0, replay=False):
|
||||
"""
|
||||
Records button presses for each frame.
|
||||
"""
|
||||
if replay:
|
||||
stepcount = len(self.frames[first_name:])
|
||||
|
||||
for counter in range(first_frame, stepcount):
|
||||
if replay:
|
||||
press(self.frames[counter], steplimit=0)
|
||||
else:
|
||||
self.frames.append(get_buttons())
|
||||
nstep(1)
|
||||
|
||||
def replay_from(self, thing):
|
||||
"""
|
||||
Replays based on a State or the name of a saved state.
|
||||
"""
|
||||
if isinstance(thing, State):
|
||||
set_state(thing)
|
||||
else:
|
||||
thing = self.load(thing)
|
||||
frame_id = self.states.index(thing)
|
||||
self.step(first_frame=frame_id, replay=True)
|
||||
|
||||
class Registers:
|
||||
order = [
|
||||
"pc",
|
||||
@ -564,6 +636,66 @@ def call(bank, address):
|
||||
else:
|
||||
registers["pc"] = address
|
||||
|
||||
class cheats:
|
||||
"""
|
||||
Helpers to manage the cheating infrastructure.
|
||||
|
||||
import vba; vba.load_rom(); vba.cheats.add_gameshark("0100CFCF", "text speedup 1"); vba.cheats.add_gameshark("0101CCCF", "text speedup 2"); vba.go()
|
||||
"""
|
||||
|
||||
@staticmethod
|
||||
def enable(id):
|
||||
"""
|
||||
void gbCheatEnable(int i)
|
||||
"""
|
||||
Gb.cheatEnable(id)
|
||||
|
||||
@staticmethod
|
||||
def disable(id):
|
||||
"""
|
||||
void gbCheatDisable(int i)
|
||||
"""
|
||||
Gb.cheatDisable(id)
|
||||
|
||||
@staticmethod
|
||||
def load_file(filename):
|
||||
"""
|
||||
Loads a .clt file. By default each cheat is disabled.
|
||||
"""
|
||||
Gb.loadCheatsFromFile(filename)
|
||||
|
||||
@staticmethod
|
||||
def remove_all():
|
||||
"""
|
||||
Removes all cheats from memory.
|
||||
|
||||
void gbCheatRemoveAll()
|
||||
"""
|
||||
Gb.cheatRemoveAll()
|
||||
|
||||
@staticmethod
|
||||
def remove_cheat(id):
|
||||
"""
|
||||
Removes a specific cheat from memory by id.
|
||||
|
||||
void gbCheatRemove(int i)
|
||||
"""
|
||||
Gb.cheatRemove(id)
|
||||
|
||||
@staticmethod
|
||||
def add_gamegenie(code, description=""):
|
||||
"""
|
||||
void gbAddGgCheat(const char *code, const char *desc)
|
||||
"""
|
||||
Gb.cheatAddGamegenie(code, description)
|
||||
|
||||
@staticmethod
|
||||
def add_gameshark(code, description=""):
|
||||
"""
|
||||
gbAddGsCheat(const char *code, const char *desc)
|
||||
"""
|
||||
Gb.cheatAddGameshark(code, description)
|
||||
|
||||
class crystal:
|
||||
"""
|
||||
Just a simple namespace to store a bunch of functions for Pokémon Crystal.
|
||||
@ -766,6 +898,25 @@ class crystal:
|
||||
|
||||
return output
|
||||
|
||||
@staticmethod
|
||||
def keyboard_apply(button_sequence):
|
||||
"""
|
||||
Applies a sequence of buttons to the on-screen keyboard.
|
||||
"""
|
||||
for buttons in button_sequence:
|
||||
press(buttons)
|
||||
nstep(2)
|
||||
press([])
|
||||
|
||||
@staticmethod
|
||||
def write(something="TrAiNeR"):
|
||||
"""
|
||||
Uses a planning algorithm to type out a word in the most efficient way
|
||||
possible.
|
||||
"""
|
||||
button_sequence = keyboard.plan_typing(something)
|
||||
crystal.keyboard_apply([[x] for x in button_sequence])
|
||||
|
||||
@staticmethod
|
||||
def set_partymon2():
|
||||
"""
|
||||
@ -836,6 +987,14 @@ class TestEmulator(unittest.TestCase):
|
||||
|
||||
self.assertTrue("TRAINER" in text)
|
||||
|
||||
class TestWriter(unittest.TestCase):
|
||||
def test_very_basic(self):
|
||||
button_sequence = keyboard.plan_typing("an")
|
||||
expected_result = ["select", "a", "d", "r", "r", "r", "r", "a"]
|
||||
|
||||
self.assertEqual(len(expected_result), len(button_sequence))
|
||||
self.assertEqual(expected_result, button_sequence)
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
|
@ -2,13 +2,10 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
import os
|
||||
|
||||
# by default we assume the user has things in their $HOME
|
||||
home = os.path.expanduser("~") # or System.getProperty("user.home")
|
||||
# by default we assume the user has vba in pokecrystal/extras
|
||||
project_path = os.path.abspath(os.path.join(os.path.dirname( __file__ ), '..'))
|
||||
|
||||
# and that the pokecrystal project folder is in there somewhere
|
||||
project_path = os.path.join(home, os.path.join("code", "pokecrystal"))
|
||||
|
||||
# save states are in ~/code/pokecrystal/save-states/
|
||||
# save states are in pokecrystal/save-states/
|
||||
save_state_path = os.path.join(project_path, "save-states")
|
||||
|
||||
# where is your rom?
|
||||
|
563
extras/vba_keyboard.py
Normal file
563
extras/vba_keyboard.py
Normal file
@ -0,0 +1,563 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
"""
|
||||
This file constructs a networkx.DiGraph object called graph, which can be used
|
||||
to find the shortest path of keypresses on the keyboard to type a word.
|
||||
"""
|
||||
|
||||
import itertools
|
||||
import networkx
|
||||
|
||||
graph = networkx.DiGraph()
|
||||
|
||||
graph_data = """
|
||||
A a select
|
||||
A B r
|
||||
A I l
|
||||
A lower-upper-column-1 u
|
||||
A J d
|
||||
|
||||
B b select
|
||||
B A l
|
||||
B C r
|
||||
B lower-upper-column-2 u
|
||||
B K d
|
||||
|
||||
C c select
|
||||
C D r
|
||||
C B l
|
||||
C lower-upper-column-3 u
|
||||
C L d
|
||||
|
||||
D d select
|
||||
D E r
|
||||
D C l
|
||||
D del-upper-column-1 u
|
||||
D M d
|
||||
|
||||
E e select
|
||||
E del-upper-column-2 u
|
||||
E N d
|
||||
E D l
|
||||
E F r
|
||||
|
||||
F f select
|
||||
F del-upper-column-3 u
|
||||
F O d
|
||||
F E l
|
||||
F G r
|
||||
|
||||
G g select
|
||||
G end-upper-column-1 u
|
||||
G P d
|
||||
G F l
|
||||
G H r
|
||||
|
||||
H h select
|
||||
H end-upper-column-2 u
|
||||
H Q d
|
||||
H G l
|
||||
H I r
|
||||
|
||||
I i select
|
||||
I end-upper-column-3 u
|
||||
I R d
|
||||
I H l
|
||||
I A r
|
||||
|
||||
J j select
|
||||
J A u
|
||||
J S d
|
||||
J R l
|
||||
J K r
|
||||
|
||||
K k select
|
||||
K B u
|
||||
K T d
|
||||
K J l
|
||||
K L r
|
||||
|
||||
L l select
|
||||
L C u
|
||||
L U d
|
||||
L K l
|
||||
L M r
|
||||
|
||||
M m select
|
||||
M D u
|
||||
M V d
|
||||
M L l
|
||||
M N r
|
||||
|
||||
N n select
|
||||
N E u
|
||||
N W d
|
||||
N M l
|
||||
N O r
|
||||
|
||||
O o select
|
||||
O F u
|
||||
O X d
|
||||
O N l
|
||||
O P r
|
||||
|
||||
P p select
|
||||
P G u
|
||||
P Y d
|
||||
P O l
|
||||
P Q r
|
||||
|
||||
Q q select
|
||||
Q H u
|
||||
Q Z d
|
||||
Q P l
|
||||
Q R r
|
||||
|
||||
R r select
|
||||
R I u
|
||||
R space-upper-x8-y2 d
|
||||
R Q l
|
||||
R J r
|
||||
|
||||
S s select
|
||||
S J u
|
||||
S - d
|
||||
S space-upper-x8-y2 l
|
||||
|
||||
T t select
|
||||
T K u
|
||||
T ? d
|
||||
T S l
|
||||
T U r
|
||||
|
||||
U u select
|
||||
U L u
|
||||
U ! d
|
||||
U T l
|
||||
U V r
|
||||
|
||||
V v select
|
||||
V M u
|
||||
V / d
|
||||
V U l
|
||||
V W r
|
||||
|
||||
W w select
|
||||
W N u
|
||||
W . d
|
||||
W V l
|
||||
W X r
|
||||
|
||||
X x select
|
||||
X O u
|
||||
X , d
|
||||
X W l
|
||||
X Y r
|
||||
|
||||
Y y select
|
||||
Y P u
|
||||
Y space-upper-x6-y3 d
|
||||
Y X l
|
||||
Y Z r
|
||||
|
||||
Z z select
|
||||
Z Q u
|
||||
Z space-upper-x7-y3 d
|
||||
Z Y l
|
||||
Z space-upper-x8-y2 r
|
||||
|
||||
end-upper-column-1 lower-upper-column-1 r
|
||||
end-upper-column-2 lower-upper-column-1 r
|
||||
end-upper-column-3 lower-upper-column-1 r
|
||||
end-upper-column-1 del-upper-column-1 l
|
||||
end-upper-column-2 del-upper-column-1 l
|
||||
end-upper-column-3 del-upper-column-1 l
|
||||
lower-upper-column-1 end-upper-column-1 l
|
||||
lower-upper-column-2 end-upper-column-1 l
|
||||
lower-upper-column-3 end-upper-column-1 l
|
||||
lower-upper-column-1 del-upper-column-1 r
|
||||
lower-upper-column-2 del-upper-column-1 r
|
||||
lower-upper-column-3 del-upper-column-1 r
|
||||
del-upper-column-1 lower-upper-column-1 l
|
||||
del-upper-column-2 lower-upper-column-1 l
|
||||
del-upper-column-3 lower-upper-column-1 l
|
||||
del-upper-column-1 end-upper-column-1 r
|
||||
del-upper-column-2 end-upper-column-1 r
|
||||
del-upper-column-3 end-upper-column-1 r
|
||||
|
||||
lower-upper-column-1 A d
|
||||
lower-upper-column-2 B d
|
||||
lower-upper-column-3 C d
|
||||
lower-upper-column-1 - u
|
||||
lower-upper-column-2 ? u
|
||||
lower-upper-column-3 ! u
|
||||
|
||||
del-upper-column-1 D d
|
||||
del-upper-column-2 E d
|
||||
del-upper-column-3 F d
|
||||
del-upper-column-1 / u
|
||||
del-upper-column-2 . u
|
||||
del-upper-column-3 , u
|
||||
|
||||
end-upper-column-1 G d
|
||||
end-upper-column-2 H d
|
||||
end-upper-column-3 I d
|
||||
end-upper-column-1 space-upper-x6-y3 u
|
||||
end-upper-column-2 space-upper-x7-y3 u
|
||||
end-upper-column-3 space-upper-x8-y3 u
|
||||
|
||||
space-upper-x8-y2 space-lower-x8-y2 select
|
||||
space-upper-x8-y2 R u
|
||||
space-upper-x8-y2 space-upper-x8-y3 d
|
||||
space-upper-x8-y2 Z l
|
||||
space-upper-x8-y2 S r
|
||||
|
||||
space-upper-x8-y3 MN select
|
||||
space-upper-x8-y3 space-upper-x8-y2 u
|
||||
space-upper-x8-y3 end-upper-column-3 d
|
||||
space-upper-x8-y3 space-upper-x7-y3 l
|
||||
space-upper-x8-y3 - r
|
||||
|
||||
space-upper-x7-y3 PK select
|
||||
space-upper-x7-y3 Z u
|
||||
space-upper-x7-y3 end-upper-column-2 d
|
||||
space-upper-x7-y3 space-upper-x6-y3 l
|
||||
space-upper-x7-y3 space-upper-x8-y3 r
|
||||
|
||||
space-upper-x6-y3 ] select
|
||||
space-upper-x6-y3 Y u
|
||||
space-upper-x6-y3 end-upper-column-1 d
|
||||
space-upper-x6-y3 , l
|
||||
space-upper-x6-y3 space-upper-x7-y3 r
|
||||
|
||||
end-upper-column-1 end-lower-column-1 select
|
||||
end-upper-column-2 end-lower-column-2 select
|
||||
end-upper-column-3 end-lower-column-3 select
|
||||
lower-upper-column-1 lower-lower-column-1 select
|
||||
lower-upper-column-2 lower-lower-column-2 select
|
||||
lower-upper-column-3 lower-lower-column-3 select
|
||||
del-upper-column-1 del-lower-column-1 select
|
||||
del-upper-column-2 del-lower-column-2 select
|
||||
del-upper-column-3 del-lower-column-3 select
|
||||
|
||||
lower-lower-column-1 × u
|
||||
lower-lower-column-2 ( u
|
||||
lower-lower-column-3 ) u
|
||||
lower-lower-column-1 a d
|
||||
lower-lower-column-2 b d
|
||||
lower-lower-column-3 c d
|
||||
|
||||
end-lower-column-1 ] u
|
||||
end-lower-column-2 PK u
|
||||
end-lower-column-3 MN u
|
||||
end-lower-column-1 g d
|
||||
end-lower-column-2 h d
|
||||
end-lower-column-3 i d
|
||||
|
||||
del-lower-column-1 : u
|
||||
del-lower-column-2 ; u
|
||||
del-lower-column-3 [ u
|
||||
del-lower-column-1 d d
|
||||
del-lower-column-2 e d
|
||||
del-lower-column-3 f d
|
||||
|
||||
- × select
|
||||
- S u
|
||||
- lower-upper-column-1 d
|
||||
- space-upper-x8-y3 l
|
||||
- ? r
|
||||
|
||||
? ( select
|
||||
? T u
|
||||
? lower-upper-column-2 d
|
||||
? - l
|
||||
? ! r
|
||||
|
||||
! ) select
|
||||
! U u
|
||||
! lower-upper-column-3 d
|
||||
! ? l
|
||||
! / r
|
||||
|
||||
/ : select
|
||||
/ V u
|
||||
/ del-upper-column-1 d
|
||||
/ ! l
|
||||
/ . r
|
||||
|
||||
. ; select
|
||||
. W u
|
||||
. del-upper-column-2 d
|
||||
. / l
|
||||
. , r
|
||||
|
||||
, [ select
|
||||
, X u
|
||||
, del-upper-column-3 d
|
||||
, . l
|
||||
, space-upper-x6-y3 r
|
||||
|
||||
× - select
|
||||
× s u
|
||||
× upper-lower-column-1 d
|
||||
× MN l
|
||||
× ( r
|
||||
|
||||
( ? select
|
||||
( t u
|
||||
( upper-lower-column-2 d
|
||||
( × l
|
||||
( ) r
|
||||
|
||||
) ! select
|
||||
) u u
|
||||
) upper-lower-column-3 d
|
||||
) ( l
|
||||
) : r
|
||||
|
||||
: / select
|
||||
: v u
|
||||
: del-lower-column-1 d
|
||||
: ) l
|
||||
: ; r
|
||||
|
||||
; . select
|
||||
; w u
|
||||
; del-lower-column-2 d
|
||||
; : l
|
||||
; [ r
|
||||
|
||||
[ , select
|
||||
[ x u
|
||||
[ del-lower-column-3 d
|
||||
[ ; l
|
||||
[ ] r
|
||||
|
||||
] space-upper-x6-y3 select
|
||||
] y u
|
||||
] end-lower-column-1 d
|
||||
] [ l
|
||||
] PK r
|
||||
|
||||
PK space-upper-x7-y3 select
|
||||
PK z u
|
||||
PK end-lower-column-2 d
|
||||
PK ] l
|
||||
PK MN r
|
||||
|
||||
MN space-upper-x8-y3 select
|
||||
MN space-lower-x8-y2 u
|
||||
MN end-lower-column-3 d
|
||||
MN PK l
|
||||
MN × r
|
||||
|
||||
space-lower-x8-y2 space-upper-x8-y2 select
|
||||
space-lower-x8-y2 r u
|
||||
space-lower-x8-y2 MN d
|
||||
space-lower-x8-y2 z l
|
||||
space-lower-x8-y2 s r
|
||||
|
||||
a A select
|
||||
a upper-lower-column-1 u
|
||||
a j d
|
||||
a i l
|
||||
a b r
|
||||
|
||||
b B select
|
||||
b upper-lower-column-2 u
|
||||
b k d
|
||||
b a l
|
||||
b c r
|
||||
|
||||
c C select
|
||||
c upper-lower-column-3 u
|
||||
c l d
|
||||
c b l
|
||||
c d r
|
||||
|
||||
d D select
|
||||
d del-lower-column-1 u
|
||||
d m d
|
||||
d c l
|
||||
d e r
|
||||
|
||||
e E select
|
||||
e del-lower-column-2 u
|
||||
e n d
|
||||
e d l
|
||||
e f r
|
||||
|
||||
f F select
|
||||
f del-lower-column-3 u
|
||||
f o d
|
||||
f e l
|
||||
f g r
|
||||
|
||||
g G select
|
||||
g end-lower-column-1 u
|
||||
g p d
|
||||
g f l
|
||||
g h r
|
||||
|
||||
h H select
|
||||
h end-lower-column-2 u
|
||||
h q d
|
||||
h g l
|
||||
h i r
|
||||
|
||||
i I select
|
||||
i end-lower-column-3 u
|
||||
i r d
|
||||
i h l
|
||||
i a r
|
||||
|
||||
j J select
|
||||
j a u
|
||||
j s d
|
||||
j r l
|
||||
j k r
|
||||
|
||||
k K select
|
||||
k b u
|
||||
k t d
|
||||
k j l
|
||||
k l r
|
||||
|
||||
l L select
|
||||
l c u
|
||||
l u d
|
||||
l k l
|
||||
l m r
|
||||
|
||||
m M select
|
||||
m d u
|
||||
m v d
|
||||
m l l
|
||||
m n r
|
||||
|
||||
n N select
|
||||
n e u
|
||||
n w d
|
||||
n m l
|
||||
n o r
|
||||
|
||||
o O select
|
||||
o f u
|
||||
o x d
|
||||
o n l
|
||||
o p r
|
||||
|
||||
p P select
|
||||
p g u
|
||||
p y d
|
||||
p o l
|
||||
p q r
|
||||
|
||||
q Q select
|
||||
q h u
|
||||
q z d
|
||||
q p l
|
||||
q r r
|
||||
|
||||
r R select
|
||||
r i u
|
||||
r space-lower-x8-y2 d
|
||||
r q l
|
||||
r j r
|
||||
|
||||
s S select
|
||||
s j u
|
||||
s × d
|
||||
s space-lower-x8-y2 l
|
||||
s t r
|
||||
|
||||
t T select
|
||||
t k u
|
||||
t ( d
|
||||
t s l
|
||||
t u r
|
||||
|
||||
u U select
|
||||
u l u
|
||||
u ) d
|
||||
u t l
|
||||
u v r
|
||||
|
||||
v V select
|
||||
v m u
|
||||
v : d
|
||||
v u l
|
||||
v w r
|
||||
|
||||
w W select
|
||||
w n u
|
||||
w ; d
|
||||
w v l
|
||||
w x r
|
||||
|
||||
x X select
|
||||
x o u
|
||||
x [ d
|
||||
x w l
|
||||
x y r
|
||||
|
||||
y Y select
|
||||
y p u
|
||||
y ] d
|
||||
y x l
|
||||
y z r
|
||||
|
||||
z Z select
|
||||
z q u
|
||||
z PK d
|
||||
z y l
|
||||
z space-lower-x8-y2 r"""
|
||||
|
||||
for line in graph_data.split("\n"):
|
||||
if line == "":
|
||||
continue
|
||||
elif line[0] == "#":
|
||||
continue
|
||||
|
||||
(node1, node2, edge_name) = line.split(" ")
|
||||
graph.add_edge(node1, node2, key=edge_name)
|
||||
|
||||
#print "Adding edge ("+edge_name+") "+node1+" -> "+node2
|
||||
|
||||
def shortest_path(node1, node2):
|
||||
"""
|
||||
Figures out the shortest list of button presses to move from one letter to
|
||||
another.
|
||||
"""
|
||||
buttons = []
|
||||
last = None
|
||||
path = networkx.shortest_path(graph, node1, node2)
|
||||
for each in path:
|
||||
if last != None:
|
||||
buttons.append(convert_nodes_to_button_press(last, each))
|
||||
last = each
|
||||
return buttons
|
||||
#return [convert_nodes_to_button_press(node3, node4) for (node3, node4) in zip(*(iter(networkx.shortest_path(graph, node1, node2)),) * 2)]
|
||||
|
||||
def convert_nodes_to_button_press(node1, node2):
|
||||
"""
|
||||
Determines the button necessary to switch from node1 to node2.
|
||||
"""
|
||||
print "getting button press for state transition: " + node1 + " -> " + node2
|
||||
return graph.get_edge_data(node1, node2)["key"]
|
||||
|
||||
def plan_typing(text, current="A"):
|
||||
"""
|
||||
Plans a sequence of button presses to spell out the given text.
|
||||
"""
|
||||
buttons = []
|
||||
for target in text:
|
||||
if target == current:
|
||||
buttons.append("a")
|
||||
else:
|
||||
print "Finding the shortest path between " + current + " and " + target
|
||||
more_buttons = shortest_path(current, target)
|
||||
buttons.extend(more_buttons)
|
||||
buttons.append("a")
|
||||
current = target
|
||||
return buttons
|
||||
|
21
gbhw.asm
21
gbhw.asm
@ -1,5 +1,26 @@
|
||||
; Graciously aped from http://nocash.emubase.de/pandocs.htm .
|
||||
|
||||
; MBC3
|
||||
MBC3SRamEnable EQU $0000
|
||||
MBC3RomBank EQU $2000
|
||||
MBC3SRamBank EQU $4000
|
||||
MBC3LatchClock EQU $6000
|
||||
MBC3RTC EQU $a000
|
||||
|
||||
SRAM_DISABLE EQU $00
|
||||
SRAM_ENABLE EQU $0a
|
||||
|
||||
RTC_S EQU $08 ; Seconds 0-59 (0-3Bh)
|
||||
RTC_M EQU $09 ; Minutes 0-59 (0-3Bh)
|
||||
RTC_H EQU $0a ; Hours 0-23 (0-17h)
|
||||
RTC_DL EQU $0b ; Lower 8 bits of Day Counter (0-FFh)
|
||||
RTC_DH EQU $0c ; Upper 1 bit of Day Counter, Carry Bit, Halt Flag
|
||||
; Bit 0 Most significant bit of Day Counter (Bit 8)
|
||||
; Bit 6 Halt (0=Active, 1=Stop Timer)
|
||||
; Bit 7 Day Counter Carry Bit (1=Counter Overflow)
|
||||
|
||||
|
||||
; Hardware registers
|
||||
rJOYP EQU $ff00 ; Joypad (R/W)
|
||||
rSB EQU $ff01 ; Serial transfer data (R/W)
|
||||
rSC EQU $ff02 ; Serial Transfer Control (R/W)
|
||||
|
60
hram.asm
Normal file
60
hram.asm
Normal file
@ -0,0 +1,60 @@
|
||||
hPushOAM EQU $ff80
|
||||
|
||||
hBuffer EQU $ff8b
|
||||
|
||||
hRTCDayHi EQU $ff8d
|
||||
hRTCDayLo EQU $ff8e
|
||||
hRTCHours EQU $ff8f
|
||||
hRTCMinutes EQU $ff90
|
||||
hRTCSeconds EQU $ff91
|
||||
|
||||
hHours EQU $ff94
|
||||
|
||||
hMinutes EQU $ff96
|
||||
|
||||
hSeconds EQU $ff98
|
||||
|
||||
hROMBank EQU $ff9d
|
||||
|
||||
hJoypadReleased EQU $ffa2
|
||||
hJoypadPressed EQU $ffa3
|
||||
hJoypadDown EQU $ffa4
|
||||
hJoypadSum EQU $ffa5
|
||||
hJoyReleased EQU $ffa6
|
||||
hJoyPressed EQU $ffa7
|
||||
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
|
||||
hBGMapThird EQU $ffd5
|
||||
hBGMapAddress EQU $ffd6
|
||||
|
||||
hOAMUpdate EQU $ffd8
|
||||
hSPBuffer EQU $ffd9
|
||||
|
||||
hBGMapUpdate EQU $ffdb
|
||||
|
||||
hTileAnimFrame EQU $ffdf
|
||||
|
||||
hRandomAdd EQU $ffe1
|
||||
hRandomSub EQU $ffe2
|
||||
|
||||
hBattleTurn EQU $ffe4
|
||||
hCGBPalUpdate EQU $ffe5
|
||||
hCGB EQU $ffe6
|
||||
hSGB EQU $ffe7
|
||||
hDMATransfer EQU $ffe8
|
||||
|
2053
items/item_attributes.asm
Normal file
2053
items/item_attributes.asm
Normal file
File diff suppressed because it is too large
Load Diff
54
joypad.asm
54
joypad.asm
@ -9,9 +9,9 @@ JoypadInt: ; 92e
|
||||
ClearJoypadPublic: ; 92f
|
||||
xor a
|
||||
; Pressed this frame (delta)
|
||||
ld [$ffa7], a
|
||||
ld [hJoyPressed], a
|
||||
; Currently pressed
|
||||
ld [$ffa8], a
|
||||
ld [hJoyDown], a
|
||||
ret
|
||||
; 935
|
||||
|
||||
@ -22,10 +22,10 @@ Joypad: ; 935
|
||||
|
||||
; Updates:
|
||||
|
||||
; $ffa2: released this frame (delta)
|
||||
; $ffa3: pressed this frame (delta)
|
||||
; $ffa4: currently pressed
|
||||
; $ffa5: pressed so far
|
||||
; hJoypadReleased: released this frame (delta)
|
||||
; hJoypadPressed: pressed this frame (delta)
|
||||
; hJoypadDown: currently pressed
|
||||
; hJoypadSum: pressed so far
|
||||
|
||||
; Any of these three bits can be used to disable input.
|
||||
ld a, [$cfbe]
|
||||
@ -76,27 +76,27 @@ Joypad: ; 935
|
||||
ld [rJOYP], a
|
||||
|
||||
; To get the delta we xor the last frame's input with the new one.
|
||||
ld a, [$ffa4] ; last frame
|
||||
ld a, [hJoypadDown] ; last frame
|
||||
ld e, a
|
||||
xor b
|
||||
ld d, a
|
||||
; Released this frame:
|
||||
and e
|
||||
ld [$ffa2], a
|
||||
ld [hJoypadReleased], a
|
||||
; Pressed this frame:
|
||||
ld a, d
|
||||
and b
|
||||
ld [$ffa3], a
|
||||
ld [hJoypadPressed], a
|
||||
|
||||
; Add any new presses to the list of collective presses:
|
||||
ld c, a
|
||||
ld a, [$ffa5]
|
||||
ld a, [hJoypadSum]
|
||||
or c
|
||||
ld [$ffa5], a
|
||||
ld [hJoypadSum], a
|
||||
|
||||
; Currently pressed:
|
||||
ld a, b
|
||||
ld [$ffa4], a
|
||||
ld [hJoypadDown], a
|
||||
|
||||
; Now that we have the input, we can do stuff with it.
|
||||
|
||||
@ -110,11 +110,11 @@ Joypad: ; 935
|
||||
|
||||
|
||||
GetJoypadPublic: ; 984
|
||||
; Update mirror joypad input from $ffa4 (real input)
|
||||
; Update mirror joypad input from hJoypadDown (real input)
|
||||
|
||||
; $ffa6: released this frame (delta)
|
||||
; $ffa7: pressed this frame (delta)
|
||||
; $ffa8: currently pressed
|
||||
; hJoyReleased: released this frame (delta)
|
||||
; hJoyPressed: pressed this frame (delta)
|
||||
; hJoyDown: currently pressed
|
||||
|
||||
; bit 0 A
|
||||
; 1 B
|
||||
@ -137,28 +137,28 @@ GetJoypadPublic: ; 984
|
||||
jr z, .auto
|
||||
|
||||
; To get deltas, take this and last frame's input.
|
||||
ld a, [$ffa4] ; real input
|
||||
ld a, [hJoypadDown] ; real input
|
||||
ld b, a
|
||||
ld a, [$ffa8] ; last frame mirror
|
||||
ld a, [hJoyDown] ; last frame mirror
|
||||
ld e, a
|
||||
|
||||
; Released this frame:
|
||||
xor b
|
||||
ld d, a
|
||||
and e
|
||||
ld [$ffa6], a
|
||||
ld [hJoyReleased], a
|
||||
|
||||
; Pressed this frame:
|
||||
ld a, d
|
||||
and b
|
||||
ld [$ffa7], a
|
||||
ld [hJoyPressed], a
|
||||
|
||||
; It looks like the collective presses got commented out here.
|
||||
ld c, a
|
||||
|
||||
; Currently pressed:
|
||||
ld a, b
|
||||
ld [$ffa8], a ; frame input
|
||||
ld [hJoyDown], a ; frame input
|
||||
|
||||
.quit
|
||||
pop bc
|
||||
@ -174,7 +174,7 @@ GetJoypadPublic: ; 984
|
||||
; A value of $ff will immediately end the stream.
|
||||
|
||||
; Read from the input stream.
|
||||
ld a, [$ff9d]
|
||||
ld a, [hROMBank]
|
||||
push af
|
||||
ld a, [AutoInputBank]
|
||||
rst Bankswitch
|
||||
@ -232,8 +232,8 @@ GetJoypadPublic: ; 984
|
||||
pop af
|
||||
rst Bankswitch
|
||||
ld a, b
|
||||
ld [$ffa7], a ; pressed
|
||||
ld [$ffa8], a ; input
|
||||
ld [hJoyPressed], a ; pressed
|
||||
ld [hJoyDown], a ; input
|
||||
jr .quit
|
||||
; 9ee
|
||||
|
||||
@ -251,9 +251,9 @@ StartAutoInput: ; 9ee
|
||||
ld [AutoInputLength], a
|
||||
; Reset input mirrors.
|
||||
xor a
|
||||
ld [$ffa7], a ; pressed this frame
|
||||
ld [$ffa6], a ; released this frame
|
||||
ld [$ffa8], a ; currently pressed
|
||||
ld [hJoyPressed], a ; pressed this frame
|
||||
ld [hJoyReleased], a ; released this frame
|
||||
ld [hJoyDown], a ; currently pressed
|
||||
|
||||
ld a, AUTO_INPUT
|
||||
ld [InputType], a
|
||||
|
@ -4,7 +4,7 @@ BattleTower1F_MapScriptHeader: ; 0x9e393
|
||||
|
||||
; triggers
|
||||
dw UnknownScript_0x9e39d, $0000
|
||||
dw $63d3, $0000
|
||||
dw UnknownScript_0x9e3d3, $0000
|
||||
|
||||
; callback count
|
||||
db 0
|
||||
@ -39,6 +39,7 @@ UnknownScript_0x9e3c7: ; 0x9e3c7
|
||||
special $0086
|
||||
UnknownScript_0x9e3d1: ; 0x9e3d1
|
||||
dotrigger $1
|
||||
UnknownScript_0x9e3d3: ; 0x9e3d3
|
||||
end
|
||||
; 0x9e3d4
|
||||
|
||||
@ -57,7 +58,7 @@ UnknownScript_0x9e3e0: ; 0x9e3e0
|
||||
UnknownScript_0x9e3e2: ; 0x9e3e2
|
||||
writebyte $2
|
||||
special $0086
|
||||
if_equal $3, $74e4 ; wtf ?
|
||||
if_equal $3, BattleTowerBattleRoomScript_0x9f4e4
|
||||
loadfont
|
||||
2writetext UnknownText_0x9e5ab
|
||||
keeptextopen
|
||||
@ -119,7 +120,7 @@ UnknownScript_0x9e454: ; 0x9e454
|
||||
warpsound
|
||||
disappear $2
|
||||
stopfollow
|
||||
applymovement $0, $6576
|
||||
applymovement $0, MovementData_0x9e576
|
||||
warpcheck
|
||||
end
|
||||
; 0x9e47a
|
||||
@ -177,9 +178,21 @@ UnknownScript_0x9e4bb: ; 0x9e4bb
|
||||
end
|
||||
; 0x9e4be
|
||||
|
||||
INCBIN "baserom.gbc",$9e4be,$9e4e4 - $9e4be
|
||||
|
||||
UnknownScript_0x9e4e4: ; 0x9e4e4
|
||||
UnknownScript_0x9e4be: ; 0x9e4be
|
||||
2writetext UnknownText_0x9ef1f
|
||||
yesorno
|
||||
iffalse UnknownScript_0x9e3fc
|
||||
special $0004
|
||||
iffalse UnknownScript_0x9e3fc
|
||||
writebyte $1
|
||||
special $0086
|
||||
special $0075
|
||||
if_equal $a, UnknownScript_0x9e3fc
|
||||
if_not_equal $0, UnknownScript_0x9e550
|
||||
2writetext UnknownText_0x9e9eb
|
||||
spriteface $2, $2
|
||||
2writetext UnknownText_0x9ea1b
|
||||
closetext
|
||||
spriteface $2, $0
|
||||
loadmovesprites
|
||||
@ -282,6 +295,7 @@ MovementData_0x9e571: ; 0x9e571
|
||||
step_up
|
||||
step_up
|
||||
step_up
|
||||
MovementData_0x9e576: ; 0x9e576
|
||||
step_up
|
||||
step_end
|
||||
; 0x9e578
|
||||
|
@ -108,6 +108,7 @@ UnknownScript_0x9f4d9: ; 0x9f4d9
|
||||
pause 60
|
||||
special $002f
|
||||
warpfacing $1, GROUP_BATTLE_TOWER_1F, MAP_BATTLE_TOWER_1F, $7, $7
|
||||
BattleTowerBattleRoomScript_0x9f4e4: ; 0x9f4e4
|
||||
loadfont
|
||||
2writetext UnknownText_0x9eaef
|
||||
2jump UnknownScript_0x9e47a
|
||||
@ -136,7 +137,12 @@ UnknownScript_0x9f4f7: ; 0x9f4f7
|
||||
end
|
||||
; 0x9f50b
|
||||
|
||||
INCBIN "baserom.gbc",$9f50b,$9f52e-$9f50b
|
||||
|
||||
UnknownText_0x9f50b: ; 0x9f50b
|
||||
db $0, "You'll be returned", $4f
|
||||
db "after you SAVE.", $57
|
||||
; 0x9f52e
|
||||
|
||||
|
||||
BattleTowerBattleRoom_MapEventHeader: ; 0x9f52e
|
||||
; filler
|
||||
|
@ -21,11 +21,25 @@ UnknownScript_0x9f5c0: ; 0x9f5c0
|
||||
|
||||
UnknownScript_0x9f5c1: ; 0x9f5c1
|
||||
follow $2, $0
|
||||
3callasm $27, $75cb
|
||||
3callasm BANK(Function_0x9f5cb), Function_0x9f5cb
|
||||
2jump UnknownScript_0x9f5dc
|
||||
; 0x9f5cb
|
||||
|
||||
INCBIN "baserom.gbc",$9f5cb,$9f5dc - $9f5cb
|
||||
|
||||
Function_0x9f5cb: ; 0x9f5cb
|
||||
ld a, [rSVBK]
|
||||
push af
|
||||
|
||||
ld a, 3
|
||||
ld [rSVBK], a
|
||||
ld a, [$d800]
|
||||
ld [ScriptVar], a
|
||||
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ret
|
||||
; 0x9f5dc
|
||||
|
||||
|
||||
UnknownScript_0x9f5dc: ; 0x9f5dc
|
||||
if_equal $3, UnknownScript_0x9f603
|
||||
|
1
maps/BetaAlphRuinUnsolvedPuzzleRoom.blk
Normal file
1
maps/BetaAlphRuinUnsolvedPuzzleRoom.blk
Normal file
@ -0,0 +1 @@
|
||||
,+
|
10
maps/BetaAzaleaTown.blk
Normal file
10
maps/BetaAzaleaTown.blk
Normal file
@ -0,0 +1,10 @@
|
||||
aaaaaaaaFDaaaaaaaaaaaaaaaaaFDaaaaaaaaaaaaaaaaaFHIIaaaaaaBaaaFaaaaaaFaFaaaHJGFee>aacaaaFaaaadeefaaaaFGbaaaaaaaaFDaaaaaaaFaaDaU
|
||||
aaaaaaaHIY
|
||||
aaaaaaa~zU
|
||||
aaaaaaa5Y
|
||||
aaaaa@AAAA5z
|
||||
vvvUaaaaaaaaaaa552955zvvvvvvvvvv
|
||||
aa55551111111111111
|
||||
|
||||
a555555555555555552
|
||||
a
|
1
maps/BetaBlackthornCity.blk
Normal file
1
maps/BetaBlackthornCity.blk
Normal file
@ -0,0 +1 @@
|
||||
hqqqqqqqqqqqqqqqqqqqhqorrrrrrrrrnqqqqqqqhqiaKeWaKeWahqqqqqqqhqieKaWWWaeWhqorrnqqhqiaWWKWeaWehqi !hqqhqiKWWeeaWWahqi$%hqqhqieKeaWWeeehqi$%hqqhqiaKaWeeWaahqi$%hqqlrmKeWWaWeWahqi()hqqKaWKaWaeWlrmtuhqqWWWWWWKaWWWWWWhqqhqqlrrG
|
1
maps/BetaBlank.blk
Normal file
1
maps/BetaBlank.blk
Normal file
@ -0,0 +1 @@
|
||||
|
8
maps/BetaCave.blk
Normal file
8
maps/BetaCave.blk
Normal file
@ -0,0 +1,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
5
maps/BetaCave2.blk
Normal file
5
maps/BetaCave2.blk
Normal file
@ -0,0 +1,5 @@
|
||||
|
||||
(+
|
||||
)*
|
||||
|
||||
|
18
maps/BetaCaveTestMap.blk
Normal file
18
maps/BetaCaveTestMap.blk
Normal file
@ -0,0 +1,18 @@
|
||||
|
||||
;< ;6<
|
||||
|
||||
589:
|
||||
|
||||
|
||||
|
||||
|
||||
5
|
||||
|
||||
|
||||
|
||||
5
|
||||
|
||||
|
||||
|
||||
5
6
|
||||
|
1
maps/BetaCeladonMansion.blk
Normal file
1
maps/BetaCeladonMansion.blk
Normal file
@ -0,0 +1 @@
|
||||
? +,/
|
9
maps/BetaCherrygroveCity.blk
Normal file
9
maps/BetaCherrygroveCity.blk
Normal file
@ -0,0 +1,9 @@
|
||||
|
||||
aaaaaaaa
|
||||
|
||||
a6
|
||||
a6YEa6Y,-6YG./a52vUa551
|
||||
|
||||
aaaaa5555
|
||||
|
||||
aaaa
|
1
maps/BetaCianwoodCity.blk
Normal file
1
maps/BetaCianwoodCity.blk
Normal file
@ -0,0 +1 @@
|
||||
aaaaXaaTyaaX5ETy5Tv455aTvvyfaXYaaXYEaaeaaa
|
2
maps/BetaCinnabarIslandPokemonLabHallway.blk
Normal file
2
maps/BetaCinnabarIslandPokemonLabHallway.blk
Normal file
@ -0,0 +1,2 @@
|
||||
|
||||
|
2
maps/BetaCinnabarIslandPokemonLabRoom1.blk
Normal file
2
maps/BetaCinnabarIslandPokemonLabRoom1.blk
Normal file
@ -0,0 +1,2 @@
|
||||
|
||||
|
1
maps/BetaCinnabarIslandPokemonLabRoom2.blk
Normal file
1
maps/BetaCinnabarIslandPokemonLabRoom2.blk
Normal file
@ -0,0 +1 @@
|
||||
|
1
maps/BetaCinnabarIslandPokemonLabRoom3.blk
Normal file
1
maps/BetaCinnabarIslandPokemonLabRoom3.blk
Normal file
@ -0,0 +1 @@
|
||||
|
1
maps/BetaElevator.blk
Normal file
1
maps/BetaElevator.blk
Normal file
@ -0,0 +1 @@
|
||||
&$$$%$$$$$$$$$$$$$$$$$$
|
15
maps/BetaEmptyHouse.blk
Normal file
15
maps/BetaEmptyHouse.blk
Normal file
@ -0,0 +1,15 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
%
|
||||
|
||||
|
10
maps/BetaGoldenrodCity.blk
Normal file
10
maps/BetaGoldenrodCity.blk
Normal file
@ -0,0 +1,10 @@
|
||||
|
||||
|
||||
|
||||
FD
|
||||
|
||||
JHU !Y$#Y"HEzv%&IIIIIIIIJII55)* @-.EAAAAAAAAAAFIHIJEEvvU55YY@AEYDFYHFzU5
|
||||
|
||||
B
@55
|
||||
|
||||
F~D
|
1
maps/BetaHerosHouse.blk
Normal file
1
maps/BetaHerosHouse.blk
Normal file
@ -0,0 +1 @@
|
||||
!"
|
1
maps/BetaHouse.blk
Normal file
1
maps/BetaHouse.blk
Normal file
@ -0,0 +1 @@
|
||||
*+,*-.12/0/
|
1
maps/BetaHouse2.blk
Normal file
1
maps/BetaHouse2.blk
Normal file
@ -0,0 +1 @@
|
||||
?',9..',9
|
1
maps/BetaIlexForest.blk
Normal file
1
maps/BetaIlexForest.blk
Normal file
@ -0,0 +1 @@
|
||||
hqqqqqihqqqqqilrrsm
|
1
maps/BetaLakeOfRage.blk
Normal file
1
maps/BetaLakeOfRage.blk
Normal 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
|
1
maps/BetaMahoganyTown.blk
Normal file
1
maps/BetaMahoganyTown.blk
Normal file
@ -0,0 +1 @@
|
||||
`N=`RZW,-G./WEZWWG?
|
1
maps/BetaNewBarkTown.blk
Normal file
1
maps/BetaNewBarkTown.blk
Normal file
@ -0,0 +1 @@
|
||||
^]?II~IDGaaHTvEX5@~~{XDGGXHIIIIIIIaXvvvvvvvvv1
|
4
maps/BetaOlivineCity.blk
Normal file
4
maps/BetaOlivineCity.blk
Normal file
@ -0,0 +1,4 @@
|
||||
FDIJHIIIFDFZFDFDFFZFFZFFDFFZFAABFZFFDF|}FTvvvvvvvvvUDF|}FXYX55YDF|}FXYX55YHIIIJ|}FXYX556vvv
|
||||
|
||||
JXYX5545552
|
||||
Xzvvvvy55255552vvvy555
555550555552995555~5555:5555
|
2
maps/BetaPewterMuseumOfScience1F.blk
Normal file
2
maps/BetaPewterMuseumOfScience1F.blk
Normal file
@ -0,0 +1,2 @@
|
||||
|
||||
!&!&
|
1
maps/BetaPewterMuseumOfScience2F.blk
Normal file
1
maps/BetaPewterMuseumOfScience2F.blk
Normal file
@ -0,0 +1 @@
|
||||
012!
|
1
maps/BetaPokecenterMainHouse.blk
Normal file
1
maps/BetaPokecenterMainHouse.blk
Normal file
@ -0,0 +1 @@
|
||||
'
|
1
maps/BetaPokecenterTradeStation.blk
Normal file
1
maps/BetaPokecenterTradeStation.blk
Normal file
@ -0,0 +1 @@
|
||||
'
|
5
maps/BetaRocketHideout1.blk
Normal file
5
maps/BetaRocketHideout1.blk
Normal file
@ -0,0 +1,5 @@
|
||||
|
||||
:?
<?
)
|
||||
|
||||
?
)
==
>>
"!
89
*>
*
89
:?:?
)
;?;?
)
?
<?<?
)
?
)
?
|
||||
)
*
,-.,//////////-
|
4
maps/BetaRocketHideout2.blk
Normal file
4
maps/BetaRocketHideout2.blk
Normal file
@ -0,0 +1,4 @@
|
||||
|
||||
|
||||
|
||||
>:)
><)
>>
)89
>>
8:
::?
?<
<<?
*
?
)
*
),/////////////-
|
5
maps/BetaRocketHideout3.blk
Normal file
5
maps/BetaRocketHideout3.blk
Normal file
@ -0,0 +1,5 @@
|
||||
+=1,////?
|
||||
=== :?5////4???
<?105//
)==
>>:)5//////>89<)
|
||||
,/////->>>> 18899///=
|
||||
5///->:?1 =
|
||||
><?
>?
?
,/////-,////-
|
7
maps/BetaRoute23EarlyVersion.blk
Normal file
7
maps/BetaRoute23EarlyVersion.blk
Normal file
@ -0,0 +1,7 @@
|
||||
|
||||
!
|
||||
|
||||
ohi
|
||||
omhi!nm7:~nm'nm'nm'nm'nm'nm'nm'nm
|
||||
^
|
||||
noo
!hihi
|
3
maps/BetaSproutTower1.blk
Normal file
3
maps/BetaSproutTower1.blk
Normal file
@ -0,0 +1,3 @@
|
||||
|
||||
|
||||
|
9
maps/BetaSproutTower2.blk
Normal file
9
maps/BetaSproutTower2.blk
Normal file
@ -0,0 +1,9 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
7
maps/BetaSproutTower3.blk
Normal file
7
maps/BetaSproutTower3.blk
Normal file
@ -0,0 +1,7 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
9
maps/BetaSproutTower5.blk
Normal file
9
maps/BetaSproutTower5.blk
Normal file
@ -0,0 +1,9 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
4
maps/BetaSproutTower6.blk
Normal file
4
maps/BetaSproutTower6.blk
Normal file
@ -0,0 +1,4 @@
|
||||
|
||||
|
||||
|
||||
|
8
maps/BetaSproutTower7.blk
Normal file
8
maps/BetaSproutTower7.blk
Normal file
@ -0,0 +1,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
5
maps/BetaSproutTower8.blk
Normal file
5
maps/BetaSproutTower8.blk
Normal file
@ -0,0 +1,5 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
1
maps/BetaSproutTower9.blk
Normal file
1
maps/BetaSproutTower9.blk
Normal file
@ -0,0 +1 @@
|
||||
|
1
maps/BetaSproutTowerCutOut1.blk
Normal file
1
maps/BetaSproutTowerCutOut1.blk
Normal file
@ -0,0 +1 @@
|
||||
|
1
maps/BetaSproutTowerCutOut2.blk
Normal file
1
maps/BetaSproutTowerCutOut2.blk
Normal file
@ -0,0 +1 @@
|
||||
|
1
maps/BetaSproutTowerCutOut3.blk
Normal file
1
maps/BetaSproutTowerCutOut3.blk
Normal file
@ -0,0 +1 @@
|
||||
|
1
maps/BetaSsAquaInsideCutOut.blk
Normal file
1
maps/BetaSsAquaInsideCutOut.blk
Normal file
@ -0,0 +1 @@
|
||||
|
1
maps/BetaTeakCity.blk
Normal file
1
maps/BetaTeakCity.blk
Normal file
@ -0,0 +1 @@
|
||||
?eeeeeeeeeeeb !bb$%b>$%`&;',-&'`$%`*"+#/*+aE$%dg,-b()#/tuWZWVWVWVWZ@AABGTU !FXY$%&'XYa$%*+VVZVVVVVVZaa()EatuIIJ~{@AAAAA HII
|
1
maps/BetaUnknown.blk
Normal file
1
maps/BetaUnknown.blk
Normal file
@ -0,0 +1 @@
|
||||
(
|
7
maps/BetaVioletCity.blk
Normal file
7
maps/BetaVioletCity.blk
Normal 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
|
@ -11,11 +11,59 @@ BlackthornGym2F_MapScriptHeader: ; 0x195722
|
||||
; 0x195727
|
||||
|
||||
UnknownScript_0x195727: ; 0x195727
|
||||
writecmdqueue $572b
|
||||
writecmdqueue CmdQueue_0x19572b
|
||||
return
|
||||
; 0x19572b
|
||||
|
||||
INCBIN "baserom.gbc",$19572b,$33
|
||||
CmdQueue_0x19572b: ; 0x19572b
|
||||
dbw 2, StoneTable_0x195730 ; check if any stones are sitting on a warp
|
||||
db 0, 0 ; filler
|
||||
; 0x195730
|
||||
|
||||
StoneTable_0x195730: ; 0x195730
|
||||
db 5, 4 ; warp, person
|
||||
dw UnknownScript_0x19573d
|
||||
|
||||
db 3, 5 ; warp, person
|
||||
dw UnknownScript_0x195742
|
||||
|
||||
db 4, 6 ; warp, person
|
||||
dw UnknownScript_0x195747
|
||||
|
||||
db $ff ; end
|
||||
; 0x19573d
|
||||
|
||||
UnknownScript_0x19573d: ; 0x19573d
|
||||
disappear 4
|
||||
2jump UnknownScript_0x19574c
|
||||
; 0x195742
|
||||
|
||||
UnknownScript_0x195742: ; 0x195742
|
||||
disappear 5
|
||||
2jump UnknownScript_0x19574c
|
||||
; 0x195747
|
||||
|
||||
UnknownScript_0x195747: ; 0x195747
|
||||
disappear 6
|
||||
2jump UnknownScript_0x19574c
|
||||
; 0x19574c
|
||||
|
||||
UnknownScript_0x19574c: ; 0x19574c
|
||||
pause 30
|
||||
2call UnknownScript_0x195758
|
||||
loadfont
|
||||
2writetext UnknownText_0x1958a5
|
||||
closetext
|
||||
loadmovesprites
|
||||
end
|
||||
; 0x195758
|
||||
|
||||
UnknownScript_0x195758: ; 0x195758
|
||||
playsound $001b
|
||||
earthquake 80
|
||||
end
|
||||
; 0x19575e
|
||||
|
||||
|
||||
UnknownScript_0x19575e: ; 0x19575e
|
||||
jumpstd $000e
|
||||
|
@ -28,7 +28,7 @@ MapCeladonDeptStore6FSignpost5Script: ; 0x71180
|
||||
2writetext UnknownText_0x71250
|
||||
UnknownScript_0x71184: ; 0x71184
|
||||
special $0051
|
||||
loadmenudata $5203
|
||||
loadmenudata MenuDataHeader_0x71203
|
||||
interpretmenu2
|
||||
writebackup
|
||||
if_equal $1, UnknownScript_0x7119a
|
||||
@ -89,8 +89,24 @@ UnknownScript_0x711fc: ; 0x711fc
|
||||
2jump UnknownScript_0x71184
|
||||
; 0x71203
|
||||
|
||||
; menu data
|
||||
INCBIN "baserom.gbc",$71203,$47
|
||||
|
||||
MenuDataHeader_0x71203: ; 0x71203
|
||||
db $40 ; flags
|
||||
db 02, 00 ; start coords
|
||||
db 11, 19 ; end coords
|
||||
dw MenuData2_0x7120b
|
||||
db 1 ; default option
|
||||
; 0x7120b
|
||||
|
||||
MenuData2_0x7120b: ; 0x7120b
|
||||
db $80 ; flags
|
||||
db 4 ; items
|
||||
db "FRESH WATER ¥200@"
|
||||
db "SODA POP ¥300@"
|
||||
db "LEMONADE ¥350@"
|
||||
db "CANCEL@"
|
||||
; 0x71249
|
||||
|
||||
|
||||
MapCeladonDeptStore6FSignpost0Script: ; 0x7124a
|
||||
jumptext UnknownText_0x7133e
|
||||
|
@ -8,7 +8,7 @@ CeladonDeptStoreElevator_MapScriptHeader: ; 0x713ab
|
||||
|
||||
MapCeladonDeptStoreElevatorSignpost0Script: ; 0x713ad
|
||||
loadfont
|
||||
elevator $53be
|
||||
elevator Elevator_0x713be
|
||||
loadmovesprites
|
||||
iffalse UnknownScript_0x713bd
|
||||
pause 5
|
||||
@ -19,19 +19,18 @@ UnknownScript_0x713bd: ; 0x713bd
|
||||
end
|
||||
; 0x713be
|
||||
|
||||
; elevator
|
||||
UnknownText_0x713be: ; 0x713be
|
||||
text_waitbutton
|
||||
text_box $1504, 5, 5
|
||||
store_at $615
|
||||
text_waitbutton
|
||||
store_at $715
|
||||
text_dunno2
|
||||
store_at $815
|
||||
start_asm
|
||||
; 0x713d0
|
||||
|
||||
INCBIN "baserom.gbc",$713d0,$713d8 - $713d0
|
||||
Elevator_0x713be: ; 0x713be
|
||||
db 6 ; floors
|
||||
db _1F, 4, GROUP_CELADON_DEPT_STORE_1F, MAP_CELADON_DEPT_STORE_1F
|
||||
db _2F, 3, GROUP_CELADON_DEPT_STORE_2F, MAP_CELADON_DEPT_STORE_2F
|
||||
db _3F, 3, GROUP_CELADON_DEPT_STORE_3F, MAP_CELADON_DEPT_STORE_3F
|
||||
db _4F, 3, GROUP_CELADON_DEPT_STORE_4F, MAP_CELADON_DEPT_STORE_4F
|
||||
db _5F, 3, GROUP_CELADON_DEPT_STORE_5F, MAP_CELADON_DEPT_STORE_5F
|
||||
db _6F, 2, GROUP_CELADON_DEPT_STORE_6F, MAP_CELADON_DEPT_STORE_6F
|
||||
db $ff ; end
|
||||
; 0x713d8
|
||||
|
||||
|
||||
CeladonDeptStoreElevator_MapEventHeader: ; 0x713d8
|
||||
; filler
|
||||
|
@ -24,7 +24,7 @@ MapCeladonGameCornerPrizeRoomSignpost0Script: ; 0x726ef
|
||||
2writetext UnknownText_0x72974
|
||||
UnknownScript_0x726fd: ; 0x726fd
|
||||
special $004f
|
||||
loadmenudata $6790
|
||||
loadmenudata MenuDataHeader_0x72790
|
||||
interpretmenu2
|
||||
writebackup
|
||||
if_equal $1, UnknownScript_0x72714
|
||||
@ -111,8 +111,24 @@ UnknownScript_0x7278a: ; 0x7278a
|
||||
end
|
||||
; 0x72790
|
||||
|
||||
; menu data
|
||||
INCBIN "baserom.gbc",$72790,$38
|
||||
|
||||
MenuDataHeader_0x72790: ; 0x72790
|
||||
db $40 ; flags
|
||||
db 02, 00 ; start coords
|
||||
db 11, 15 ; end coords
|
||||
dw MenuData2_0x72798
|
||||
db 1 ; default option
|
||||
; 0x72798
|
||||
|
||||
MenuData2_0x72798: ; 0x72798
|
||||
db $80 ; flags
|
||||
db 4 ; items
|
||||
db "TM32 1500@"
|
||||
db "TM29 3500@"
|
||||
db "TM15 7500@"
|
||||
db "CANCEL@"
|
||||
; 0x727c8
|
||||
|
||||
|
||||
MapCeladonGameCornerPrizeRoomSignpost1Script: ; 0x727c8
|
||||
faceplayer
|
||||
@ -124,7 +140,7 @@ MapCeladonGameCornerPrizeRoomSignpost1Script: ; 0x727c8
|
||||
UnknownScript_0x727d3: ; 0x727d3
|
||||
2writetext UnknownText_0x72974
|
||||
special $004f
|
||||
loadmenudata $6877
|
||||
loadmenudata MenuDataHeader_0x72877
|
||||
interpretmenu2
|
||||
writebackup
|
||||
if_equal $1, UnknownScript_0x727ed
|
||||
@ -190,8 +206,24 @@ UnknownScript_0x72849: ; 0x72849
|
||||
2jump UnknownScript_0x727d3
|
||||
; 0x72877
|
||||
|
||||
; menu data
|
||||
INCBIN "baserom.gbc",$72877,$41
|
||||
|
||||
MenuDataHeader_0x72877: ; 0x72877
|
||||
db $40 ; flags
|
||||
db 02, 00 ; start coords
|
||||
db 11, 17 ; end coords
|
||||
dw MenuData2_0x7287f
|
||||
db 1 ; default option
|
||||
; 0x7287f
|
||||
|
||||
MenuData2_0x7287f: ; 0x7287f
|
||||
db $80 ; flags
|
||||
db 4 ; items
|
||||
db "PIKACHU 2222@"
|
||||
db "PORYGON 5555@"
|
||||
db "LARVITAR 8888@"
|
||||
db "CANCEL@"
|
||||
; 0x728b8
|
||||
|
||||
|
||||
UnknownText_0x728b8: ; 0x728b8
|
||||
db $0, "I wanted PORYGON,", $4f
|
||||
|
@ -29,7 +29,7 @@ UnknownScript_0x18d030: ; 0x18d030
|
||||
setbit1 $0001
|
||||
2writetext UnknownText_0x18d3bc
|
||||
keeptextopen
|
||||
loadmenudata $5215
|
||||
loadmenudata MenuDataHeader_0x18d215
|
||||
interpretmenu2
|
||||
writebackup
|
||||
if_equal $1, UnknownScript_0x18d0a9
|
||||
@ -42,7 +42,7 @@ UnknownScript_0x18d049: ; 0x18d049
|
||||
setbit1 $0002
|
||||
2writetext UnknownText_0x18d3d3
|
||||
keeptextopen
|
||||
loadmenudata $5234
|
||||
loadmenudata MenuDataHeader_0x18d234
|
||||
interpretmenu2
|
||||
writebackup
|
||||
if_equal $1, UnknownScript_0x18d0a9
|
||||
@ -52,7 +52,7 @@ UnknownScript_0x18d061: ; 0x18d061
|
||||
setbit1 $0003
|
||||
2writetext UnknownText_0x18d3f3
|
||||
keeptextopen
|
||||
loadmenudata $5258
|
||||
loadmenudata MenuDataHeader_0x18d258
|
||||
interpretmenu2
|
||||
writebackup
|
||||
if_equal $1, UnknownScript_0x18d0cb
|
||||
@ -62,7 +62,7 @@ UnknownScript_0x18d079: ; 0x18d079
|
||||
setbit1 $0004
|
||||
2writetext UnknownText_0x18d420
|
||||
keeptextopen
|
||||
loadmenudata $5283
|
||||
loadmenudata MenuDataHeader_0x18d283
|
||||
interpretmenu2
|
||||
writebackup
|
||||
if_equal $1, UnknownScript_0x18d0a9
|
||||
@ -72,7 +72,7 @@ UnknownScript_0x18d091: ; 0x18d091
|
||||
setbit1 $0005
|
||||
2writetext UnknownText_0x18d44a
|
||||
keeptextopen
|
||||
loadmenudata $52a5
|
||||
loadmenudata MenuDataHeader_0x18d2a5
|
||||
interpretmenu2
|
||||
writebackup
|
||||
if_equal $1, UnknownScript_0x18d0cb
|
||||
@ -274,7 +274,91 @@ UnknownScript_0x18d20d: ; 0x18d20d
|
||||
end
|
||||
; 0x18d215
|
||||
|
||||
INCBIN "baserom.gbc",$18d215,$aa
|
||||
|
||||
MenuDataHeader_0x18d215: ; 0x18d215
|
||||
db $40 ; flags
|
||||
db 04, 08 ; start coords
|
||||
db 11, 19 ; end coords
|
||||
dw MenuData2_0x18d21d
|
||||
db 1 ; default option
|
||||
; 0x18d21d
|
||||
|
||||
MenuData2_0x18d21d: ; 0x18d21d
|
||||
db $81 ; flags
|
||||
db 3 ; items
|
||||
db "Pal@"
|
||||
db "Underling@"
|
||||
db "Friend@"
|
||||
; 0x18d234
|
||||
|
||||
|
||||
MenuDataHeader_0x18d234: ; 0x18d234
|
||||
db $40 ; flags
|
||||
db 04, 09 ; start coords
|
||||
db 11, 19 ; end coords
|
||||
dw MenuData2_0x18d23c
|
||||
db 1 ; default option
|
||||
; 0x18d23c
|
||||
|
||||
MenuData2_0x18d23c: ; 0x18d23c
|
||||
db $81 ; flags
|
||||
db 3 ; items
|
||||
db "Strategy@"
|
||||
db "Raising@"
|
||||
db "Cheating@"
|
||||
; 0x18d258
|
||||
|
||||
|
||||
MenuDataHeader_0x18d258: ; 0x18d258
|
||||
db $40 ; flags
|
||||
db 04, 05 ; start coords
|
||||
db 11, 19 ; end coords
|
||||
dw MenuData2_0x18d260
|
||||
db 1 ; default option
|
||||
; 0x18d260
|
||||
|
||||
MenuData2_0x18d260: ; 0x18d260
|
||||
db $81 ; flags
|
||||
db 3 ; items
|
||||
db "Weak person@"
|
||||
db "Tough person@"
|
||||
db "Anybody@"
|
||||
; 0x18d283
|
||||
|
||||
|
||||
MenuDataHeader_0x18d283: ; 0x18d283
|
||||
db $40 ; flags
|
||||
db 04, 08 ; start coords
|
||||
db 11, 19 ; end coords
|
||||
dw MenuData2_0x18d28b
|
||||
db 1 ; default option
|
||||
; 0x18d28b
|
||||
|
||||
MenuData2_0x18d28b: ; 0x18d28b
|
||||
db $81 ; flags
|
||||
db 3 ; items
|
||||
db "Love@"
|
||||
db "Violence@"
|
||||
db "Knowledge@"
|
||||
; 0x18d2a5
|
||||
|
||||
|
||||
MenuDataHeader_0x18d2a5: ; 0x18d2a5
|
||||
db $40 ; flags
|
||||
db 04, 12 ; start coords
|
||||
db 11, 19 ; end coords
|
||||
dw MenuData2_0x18d2ad
|
||||
db 1 ; default option
|
||||
; 0x18d2ad
|
||||
|
||||
MenuData2_0x18d2ad: ; 0x18d2ad
|
||||
db $81 ; flags
|
||||
db 3 ; items
|
||||
db "Tough@"
|
||||
db "Both@"
|
||||
db "Weak@"
|
||||
; 0x18d2bf
|
||||
|
||||
|
||||
MovementData_0x18d2bf: ; 0x18d2bf
|
||||
slow_step_up
|
||||
|
@ -143,9 +143,7 @@ CooltrainerfCaraScript: ; 0x18c92a
|
||||
end
|
||||
; 0x18c932
|
||||
|
||||
INCBIN "baserom.gbc",$18c932,$14
|
||||
|
||||
TrainerTwinsLeaandpia1: ; 0x18c946
|
||||
TrainerTwinsLeaandpia1: ; 0x18c932
|
||||
; bit/flag number
|
||||
dw $5bf
|
||||
|
||||
@ -156,17 +154,45 @@ TrainerTwinsLeaandpia1: ; 0x18c946
|
||||
dw TwinsLeaandpia1SeenText
|
||||
|
||||
; text when trainer beaten
|
||||
;dw TwinsLeaandpia1BeatenText
|
||||
dw $4f06
|
||||
dw TwinsLeaandpia1BeatenText
|
||||
|
||||
; script when lost
|
||||
dw $0000
|
||||
|
||||
; script when talk again
|
||||
dw TwinsLeaandpia1Script
|
||||
; 0x18c93e
|
||||
|
||||
TwinsLeaandpia1Script: ; 0x18c93e
|
||||
talkaftercancel
|
||||
loadfont
|
||||
2writetext UnknownText_0x18ced3
|
||||
closetext
|
||||
loadmovesprites
|
||||
end
|
||||
; 0x18c946
|
||||
|
||||
TrainerTwinsLeaandpia2: ; 0x18c946
|
||||
; bit/flag number
|
||||
dw $5bf
|
||||
|
||||
; trainer group && trainer id
|
||||
db TWINS, LEAANDPIA1
|
||||
|
||||
; text when seen
|
||||
dw TwinsLeaandpia2SeenText
|
||||
|
||||
; text when trainer beaten
|
||||
dw TwinsLeaandpia2BeatenText
|
||||
|
||||
; script when lost
|
||||
dw $0000
|
||||
|
||||
; script when talk again
|
||||
dw TwinsLeaandpia2Script
|
||||
; 0x18c952
|
||||
|
||||
TwinsLeaandpia1Script: ; 0x18c952
|
||||
TwinsLeaandpia2Script: ; 0x18c952
|
||||
talkaftercancel
|
||||
loadfont
|
||||
2writetext UnknownText_0x18cf0f
|
||||
@ -395,7 +421,7 @@ UnknownText_0x18ce11: ; 0x18ce11
|
||||
db "approval.", $57
|
||||
; 0x18ceab
|
||||
|
||||
UnknownText_0x18ceab: ; 0x18ceab
|
||||
TwinsLeaandpia1SeenText: ; 0x18ceab
|
||||
db $0, "It's a stranger we", $4f
|
||||
db "don't know.", $57
|
||||
; 0x18cec9
|
||||
@ -409,11 +435,11 @@ UnknownText_0x18ced3: ; 0x18ced3
|
||||
db "to battle LANCE.", $57
|
||||
; 0x18cef8
|
||||
|
||||
TwinsLeaandpia1SeenText: ; 0x18cef8
|
||||
TwinsLeaandpia2SeenText: ; 0x18cef8
|
||||
db $0, "Who are you?", $57
|
||||
; 0x18cf06
|
||||
|
||||
UnknownText_0x18cf06: ; 0x18cf06
|
||||
TwinsLeaandpia2BeatenText: ; 0x18cf06
|
||||
db $0, "Meanie.", $57
|
||||
; 0x18cf0f
|
||||
|
||||
@ -464,7 +490,7 @@ DragonsDenB1F_MapEventHeader: ; 0x18cf73
|
||||
person_event $23, 12, 24, $7, $0, 255, 255, $82, 4, TrainerCooltrainermDarin, $ffff
|
||||
person_event $24, 12, 12, $6, $0, 255, 255, $82, 3, TrainerCooltrainerfCara, $ffff
|
||||
person_event $26, 21, 8, $9, $0, 255, 255, $82, 1, $4932, $ffff
|
||||
person_event $26, 22, 8, $9, $0, 255, 255, $82, 1, TrainerTwinsLeaandpia1, $ffff
|
||||
person_event $26, 22, 8, $9, $0, 255, 255, $82, 1, TrainerTwinsLeaandpia2, $ffff
|
||||
person_event $54, 8, 34, $1, $0, 255, 255, $1, 0, ItemFragment_0x18c9a1, $07bf
|
||||
person_event $54, 24, 9, $1, $0, 255, 255, $1, 0, ItemFragment_0x18c9a3, $07c0
|
||||
; 0x18d014
|
||||
|
@ -65,7 +65,7 @@ MapEarlsPokemonAcademySignpost3Script: ; 0x68a9f
|
||||
loadfont
|
||||
2writetext UnknownText_0x68eb2
|
||||
UnknownScript_0x68aa3: ; 0x68aa3
|
||||
loadmenudata $4ae1
|
||||
loadmenudata MenuDataHeader_0x68ae1
|
||||
interpretmenu
|
||||
writebackup
|
||||
if_equal $1, UnknownScript_0x68abe
|
||||
@ -107,8 +107,32 @@ UnknownScript_0x68ada: ; 0x68ada
|
||||
2jump UnknownScript_0x68aa3
|
||||
; 0x68ae1
|
||||
|
||||
; menu data
|
||||
INCBIN "baserom.gbc",$68ae1,$2a
|
||||
|
||||
MenuDataHeader_0x68ae1: ; 0x68ae1
|
||||
db $40 ; flags
|
||||
db 00, 00 ; start coords
|
||||
db 08, 11 ; end coords
|
||||
dw MenuData2_0x68ae9
|
||||
db 1 ; default option
|
||||
; 0x68ae9
|
||||
|
||||
MenuData2_0x68ae9: ; 0x68ae9
|
||||
db $80 ; flags
|
||||
dn 3, 2 ; rows, columns
|
||||
db 5 ; spacing
|
||||
dbw BANK(UnknownText_0x68af2), UnknownText_0x68af2
|
||||
dbw $1a, $0000
|
||||
; 0x68af2
|
||||
|
||||
UnknownText_0x68af2: ; 0x68af2
|
||||
db "PSN@"
|
||||
db "PAR@"
|
||||
db "SLP@"
|
||||
db "BRN@"
|
||||
db "FRZ@"
|
||||
db "QUIT@"
|
||||
; 0x68b0b
|
||||
|
||||
|
||||
UnknownScript_0x68b0b: ; 0x68b0b
|
||||
loadfont
|
||||
|
@ -56,7 +56,7 @@ UnknownScript_0x198909: ; 0x198909
|
||||
checkcoins 4000
|
||||
if_equal $2, UnknownScript_0x1989dd
|
||||
2writetext UnknownText_0x1990ce
|
||||
loadmenudata $4967
|
||||
loadmenudata MenuDataHeader_0x198967
|
||||
interpretmenu2
|
||||
writebackup
|
||||
if_equal $1, UnknownScript_0x19893a
|
||||
@ -89,7 +89,24 @@ UnknownScript_0x198958: ; 0x198958
|
||||
2jump UnknownScript_0x1989d7
|
||||
; 0x198967
|
||||
|
||||
INCBIN "baserom.gbc",$198967,$33
|
||||
|
||||
MenuDataHeader_0x198967: ; 0x198967
|
||||
db $40 ; flags
|
||||
db 02, 00 ; start coords
|
||||
db 11, 15 ; end coords
|
||||
dw MenuData2_0x19896f
|
||||
db 1 ; default option
|
||||
; 0x19896f
|
||||
|
||||
MenuData2_0x19896f: ; 0x19896f
|
||||
db $80 ; flags
|
||||
db 4 ; items
|
||||
db "FLAMETHROWER@"
|
||||
db "THUNDERBOLT@"
|
||||
db "ICE BEAM@"
|
||||
db "CANCEL@"
|
||||
; 0x19899a
|
||||
|
||||
|
||||
UnknownScript_0x19899a: ; 0x19899a
|
||||
2writetext UnknownText_0x1990b4
|
||||
|
@ -11,7 +11,7 @@ MapGoldenrodDeptStore6FSignpost5Script: ; 0x563f5
|
||||
2writetext UnknownText_0x564cb
|
||||
UnknownScript_0x563f9: ; 0x563f9
|
||||
special $0051
|
||||
loadmenudata $6478
|
||||
loadmenudata MenuDataHeader_0x56478
|
||||
interpretmenu2
|
||||
writebackup
|
||||
if_equal $1, UnknownScript_0x5640f
|
||||
@ -72,8 +72,24 @@ UnknownScript_0x56471: ; 0x56471
|
||||
2jump UnknownScript_0x563f9
|
||||
; 0x56478
|
||||
|
||||
; menu data
|
||||
INCBIN "baserom.gbc",$56478,$564bf - $56478
|
||||
|
||||
MenuDataHeader_0x56478: ; 0x56478
|
||||
db $40 ; flags
|
||||
db 02, 00 ; start coords
|
||||
db 11, 19 ; end coords
|
||||
dw MenuData2_0x56480
|
||||
db 1 ; default option
|
||||
; 0x56480
|
||||
|
||||
MenuData2_0x56480: ; 0x56480
|
||||
db $80 ; flags
|
||||
db 4 ; items
|
||||
db "FRESH WATER ¥200@"
|
||||
db "SODA POP ¥300@"
|
||||
db "LEMONADE ¥350@"
|
||||
db "CANCEL@"
|
||||
; 0x564bf
|
||||
|
||||
|
||||
UnknownScript_0x564bf: ; 0x564bf
|
||||
jumptextfaceplayer UnknownText_0x5654b
|
||||
|
@ -8,7 +8,7 @@ GoldenrodDeptStoreElevator_MapScriptHeader: ; 0x56697
|
||||
|
||||
MapGoldenrodDeptStoreElevatorSignpost0Script: ; 0x56699
|
||||
loadfont
|
||||
elevator $66e0
|
||||
elevator Elevator_0x566e0
|
||||
loadmovesprites
|
||||
iffalse UnknownScript_0x566df
|
||||
pause 5
|
||||
@ -48,7 +48,19 @@ UnknownScript_0x566df: ; 0x566df
|
||||
end
|
||||
; 0x566e0
|
||||
|
||||
INCBIN "baserom.gbc",$566e0,$566fe - $566e0
|
||||
|
||||
Elevator_0x566e0: ; 0x566e0
|
||||
db 7 ; floors
|
||||
db _B1F, 2, GROUP_GOLDENROD_DEPT_STORE_B1F, MAP_GOLDENROD_DEPT_STORE_B1F
|
||||
db _1F, 4, GROUP_GOLDENROD_DEPT_STORE_1F, MAP_GOLDENROD_DEPT_STORE_1F
|
||||
db _2F, 3, GROUP_GOLDENROD_DEPT_STORE_2F, MAP_GOLDENROD_DEPT_STORE_2F
|
||||
db _3F, 3, GROUP_GOLDENROD_DEPT_STORE_3F, MAP_GOLDENROD_DEPT_STORE_3F
|
||||
db _4F, 3, GROUP_GOLDENROD_DEPT_STORE_4F, MAP_GOLDENROD_DEPT_STORE_4F
|
||||
db _5F, 3, GROUP_GOLDENROD_DEPT_STORE_5F, MAP_GOLDENROD_DEPT_STORE_5F
|
||||
db _6F, 2, GROUP_GOLDENROD_DEPT_STORE_6F, MAP_GOLDENROD_DEPT_STORE_6F
|
||||
db $ff ; end
|
||||
; 0x566fe
|
||||
|
||||
|
||||
GoldenrodDeptStoreElevator_MapEventHeader: ; 0x566fe
|
||||
; filler
|
||||
|
@ -55,7 +55,7 @@ UnknownScript_0x56c28: ; 0x56c28
|
||||
2writetext UnknownText_0x56e8b
|
||||
UnknownScript_0x56c36: ; 056c36
|
||||
special $004f
|
||||
loadmenudata $6cc9
|
||||
loadmenudata MenuDataHeader_0x56cc9
|
||||
interpretmenu2
|
||||
writebackup
|
||||
if_equal $1, UnknownScript_0x56c4d
|
||||
@ -142,8 +142,24 @@ UnknownScript_0x56cc3: ; 0x56cc3
|
||||
end
|
||||
; 0x56cc9
|
||||
|
||||
; menu data
|
||||
INCBIN "baserom.gbc",$56cc9,$38
|
||||
|
||||
MenuDataHeader_0x56cc9: ; 0x56cc9
|
||||
db $40 ; flags
|
||||
db 02, 00 ; start coords
|
||||
db 11, 15 ; end coords
|
||||
dw MenuData2_0x56cd1
|
||||
db 1 ; default option
|
||||
; 0x56cd1
|
||||
|
||||
MenuData2_0x56cd1: ; 0x56cd1
|
||||
db $80 ; flags
|
||||
db 4 ; items
|
||||
db "TM25 5500@"
|
||||
db "TM14 5500@"
|
||||
db "TM38 5500@"
|
||||
db "CANCEL@"
|
||||
; 0x56d01
|
||||
|
||||
|
||||
UnknownScript_0x56d01: ; 0x56d01
|
||||
faceplayer
|
||||
@ -155,7 +171,7 @@ UnknownScript_0x56d01: ; 0x56d01
|
||||
UnknownScript_0x56d0c: ; 0x56d0c
|
||||
2writetext UnknownText_0x56e8b
|
||||
special $004f
|
||||
loadmenudata $6db0
|
||||
loadmenudata MenuDataHeader_0x56db0
|
||||
interpretmenu2
|
||||
writebackup
|
||||
if_equal $1, UnknownScript_0x56d26
|
||||
@ -221,8 +237,24 @@ UnknownScript_0x56d82: ; 0x56d82
|
||||
2jump UnknownScript_0x56d0c
|
||||
; 0x56db0
|
||||
|
||||
; menu data
|
||||
INCBIN "baserom.gbc",$56db0,$56df1 - $56db0
|
||||
|
||||
MenuDataHeader_0x56db0: ; 0x56db0
|
||||
db $40 ; flags
|
||||
db 02, 00 ; start coords
|
||||
db 11, 17 ; end coords
|
||||
dw MenuData2_0x56db8
|
||||
db 1 ; default option
|
||||
; 0x56db8
|
||||
|
||||
MenuData2_0x56db8: ; 0x56db8
|
||||
db $80 ; flags
|
||||
db 4 ; items
|
||||
db "ABRA 100@"
|
||||
db "CUBONE 800@"
|
||||
db "WOBBUFFET 1500@"
|
||||
db "CANCEL@"
|
||||
; 0x56df1
|
||||
|
||||
|
||||
UnknownScript_0x56df1: ; 0x56df1
|
||||
faceplayer
|
||||
|
@ -24,7 +24,7 @@ MapGoldenrodPokeComCenter2FMobileSignpost0Script: ; 0x625da
|
||||
closetext
|
||||
UnknownScript_0x625df: ; 0x625df
|
||||
reloadmappart
|
||||
loadmenudata $6602
|
||||
loadmenudata MenuDataHeader_0x62602
|
||||
interpretmenu2
|
||||
writebackup
|
||||
if_equal $1, UnknownScript_0x625f0
|
||||
@ -51,7 +51,23 @@ UnknownScript_0x62600: ; 0x62600
|
||||
end
|
||||
; 0x62602
|
||||
|
||||
INCBIN "baserom.gbc",$62602,$62624 - $62602
|
||||
|
||||
MenuDataHeader_0x62602: ; 0x62602
|
||||
db $40 ; flags
|
||||
db 00, 00 ; start coords
|
||||
db 08, 15 ; end coords
|
||||
dw MenuData2_0x6260a
|
||||
db 1 ; default option
|
||||
; 0x6260a
|
||||
|
||||
MenuData2_0x6260a: ; 0x6260a
|
||||
db $80 ; flags
|
||||
db 3 ; items
|
||||
db "# つうしん クラブ@" ; # COM CLUB
|
||||
db "モバイルセンター@" ; MOBILE CENTER
|
||||
db "やめる@" ; QUIT
|
||||
; 0x62624
|
||||
|
||||
|
||||
MapGoldenrodPokeComCenter2FMobileSignpost1Script: ; 0x62624
|
||||
loadfont
|
||||
@ -86,8 +102,23 @@ UnknownScript_0x6264a: ; 0x6264a
|
||||
end
|
||||
; 0x6264c
|
||||
|
||||
; menu data
|
||||
INCBIN "baserom.gbc",$6264c,$25
|
||||
|
||||
MenuDataHeader_0x6264c: ; 0x6264c
|
||||
db $40 ; flags
|
||||
db 00, 00 ; start coords
|
||||
db 08, 15 ; end coords
|
||||
dw MenuData2_0x62654
|
||||
db 1 ; default option
|
||||
; 0x62654
|
||||
|
||||
MenuData2_0x62654: ; 0x62654
|
||||
db $80 ; flags
|
||||
db 3 ; items
|
||||
db "でんわ",$1f,"つかうとき@" ; Use phone
|
||||
db "でんわ",$4a,"つながらないとき@" ; Don't use phone
|
||||
db "やめる@" ; QUIT
|
||||
; 0x62673
|
||||
|
||||
|
||||
MapGoldenrodPokeComCenter2FMobileSignpost2Script: ; 0x62671
|
||||
jumptext UnknownText_0x62b26
|
||||
|
@ -123,10 +123,6 @@ HallOfFame_MapEventHeader: ; 0x181678
|
||||
; 0x181695
|
||||
|
||||
|
||||
; Pokedex entries I
|
||||
; 001-064
|
||||
|
||||
INCLUDE "stats/pokedex/entries_1.asm"
|
||||
|
||||
|
||||
|
||||
|
@ -11,11 +11,71 @@ IcePathB1F_MapScriptHeader: ; 0x7e4b9
|
||||
; 0x7e4be
|
||||
|
||||
UnknownScript_0x7e4be: ; 0x7e4be
|
||||
writecmdqueue $64c2
|
||||
writecmdqueue CmdQueue_0x7e4c2
|
||||
return
|
||||
; 0x7e4c2
|
||||
|
||||
INCBIN "baserom.gbc",$7e4c2,$7e50a - $7e4c2
|
||||
CmdQueue_0x7e4c2: ; 0x7e4c2
|
||||
dbw 2, StoneTable_0x7e4c7 ; check if any stones are sitting on a warp
|
||||
db 0, 0 ; filler
|
||||
; 0x7e4c7
|
||||
|
||||
StoneTable_0x7e4c7: ; 0x7e4c7
|
||||
db 3, 2 ; warp, person
|
||||
dw UnknownScript_0x7e4d8
|
||||
|
||||
db 4, 3 ; warp, person
|
||||
dw UnknownScript_0x7e4e0
|
||||
|
||||
db 5, 4 ; warp, person
|
||||
dw UnknownScript_0x7e4e8
|
||||
|
||||
db 6, 5 ; warp, person
|
||||
dw UnknownScript_0x7e4f0
|
||||
|
||||
db $ff ; end
|
||||
; 0x7e4d8
|
||||
|
||||
UnknownScript_0x7e4d8: ; 0x7e4d8
|
||||
disappear 2
|
||||
clearbit1 $070d
|
||||
2jump UnknownScript_0x7e4f8
|
||||
; 0x7e4e0
|
||||
|
||||
UnknownScript_0x7e4e0: ; 0x7e4e0
|
||||
disappear 3
|
||||
clearbit1 $070e
|
||||
2jump UnknownScript_0x7e4f8
|
||||
; 0x7e4e8
|
||||
|
||||
UnknownScript_0x7e4e8: ; 0x7e4e8
|
||||
disappear 4
|
||||
clearbit1 $070f
|
||||
2jump UnknownScript_0x7e4f8
|
||||
; 0x7e4f0
|
||||
|
||||
UnknownScript_0x7e4f0: ; 0x7e4f0
|
||||
disappear 5
|
||||
clearbit1 $0710
|
||||
2jump UnknownScript_0x7e4f8
|
||||
; 0x7e4f8
|
||||
|
||||
UnknownScript_0x7e4f8: ; 0x7e4f8
|
||||
pause 30
|
||||
2call UnknownScript_0x7e504
|
||||
loadfont
|
||||
2writetext UnknownText_0x7e512
|
||||
closetext
|
||||
loadmovesprites
|
||||
end
|
||||
; 0x7e504
|
||||
|
||||
UnknownScript_0x7e504: ; 0x7e504
|
||||
playsound $001b
|
||||
earthquake 80
|
||||
end
|
||||
; 0x7e50a
|
||||
|
||||
|
||||
UnknownScript_0x7e50a: ; 0x7e50a
|
||||
jumpstd $000e
|
||||
@ -30,7 +90,12 @@ MapIcePathB1FSignpostItem0: ; 0x7e50f
|
||||
db MAX_POTION
|
||||
; 0x7e512
|
||||
|
||||
INCBIN "baserom.gbc",$7e512,$1b
|
||||
|
||||
UnknownText_0x7e512: ; 0x7e512
|
||||
db $0, "The boulder fell", $4f
|
||||
db "through.", $57
|
||||
; 0x7e52d
|
||||
|
||||
|
||||
IcePathB1F_MapEventHeader: ; 0x7e52d
|
||||
; filler
|
||||
|
@ -34,7 +34,9 @@ UnknownScript_0x7abc5: ; 0x7abc5
|
||||
return
|
||||
; 0x7abc9
|
||||
|
||||
INCBIN "baserom.gbc",$7abc9,$7abcc - $7abc9
|
||||
|
||||
db 0, 0, 0 ; filler
|
||||
|
||||
|
||||
UnknownScript_0x7abcc: ; 0x7abcc
|
||||
describedecoration $1
|
||||
|
@ -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
|
||||
|
@ -141,22 +141,37 @@ PsychicNathanScript: ; 0x58095
|
||||
end
|
||||
; 0x5809d
|
||||
|
||||
UnknownScript_0x5809d: ; 0x5809d
|
||||
musicfadeout $2905, $1
|
||||
; 0x580a2
|
||||
|
||||
; probably not a script?
|
||||
UnknownScript_0x580a2: ; 0x580a2
|
||||
db $e5
|
||||
itemtotext THUNDERSTONE, $42
|
||||
2call $a900
|
||||
pokenamemem EXEGGCUTE, $47
|
||||
TrainerSuperNerdStan: ; 0x5809d
|
||||
; bit/flag number
|
||||
dw $581
|
||||
|
||||
; trainer group && trainer id
|
||||
db SUPER_NERD, STAN
|
||||
|
||||
; text when seen
|
||||
dw UnknownText_0x581e5
|
||||
|
||||
; text when trainer beaten
|
||||
dw UnknownText_0x58217
|
||||
|
||||
; script when lost
|
||||
dw $0000
|
||||
|
||||
; script when talk again
|
||||
dw UnknownScript_0x580a9
|
||||
; 0x580a9
|
||||
|
||||
UnknownScript_0x580a9: ; 0x580a9
|
||||
talkaftercancel
|
||||
loadfont
|
||||
2writetext UnknownText_0x58250
|
||||
closetext
|
||||
loadmovesprites
|
||||
end
|
||||
; 0x580b1
|
||||
|
||||
|
||||
MapRuinsofAlphOutsideSignpost0Script: ; 0x580b1
|
||||
jumptext UnknownText_0x58325
|
||||
; 0x580b4
|
||||
|
@ -1,4 +1,5 @@
|
||||
INCLUDE "wram.asm"
|
||||
INCLUDE "constants.asm"
|
||||
INCLUDE "gbhw.asm"
|
||||
INCLUDE "hram.asm"
|
||||
INCLUDE "main.tx"
|
||||
|
3
pokecrystal.bat
Normal file
3
pokecrystal.bat
Normal file
@ -0,0 +1,3 @@
|
||||
@set PATH=%PATH%;C:\Program Files (x86)\GnuWin32\bin\;C:\Python27\
|
||||
@make winclean && make win
|
||||
@pause
|
@ -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
|
||||
@ -285,6 +287,7 @@ chars = {
|
||||
"é": 0xEA,
|
||||
"→": 0xEB,
|
||||
"▶": 0xED,
|
||||
"▼": 0xEE,
|
||||
"♂": 0xEF,
|
||||
"¥": 0xF0,
|
||||
"×": 0xF1,
|
||||
|
@ -252,7 +252,7 @@ Script_jumptextfaceplayer: ; 0x96e45
|
||||
ld [$d450], a
|
||||
ld b, $25
|
||||
ld hl, $6e79
|
||||
jp $759d
|
||||
jp ScriptJump
|
||||
; 0x96e5f
|
||||
|
||||
Script_jumptext: ; 0x96e5f
|
||||
@ -268,7 +268,7 @@ Script_jumptext: ; 0x96e5f
|
||||
ld [$d450], a
|
||||
ld b, $25
|
||||
ld hl, $6e7a
|
||||
jp $759d
|
||||
jp ScriptJump
|
||||
; 0x96e79
|
||||
|
||||
INCBIN "baserom.gbc",$96e79,$96e81 - $96e79
|
||||
@ -286,7 +286,7 @@ Script_3jumptext: ; 0x96e81
|
||||
ld [$d450], a
|
||||
ld b, $25
|
||||
ld hl, $6e7a
|
||||
jp $759d
|
||||
jp ScriptJump
|
||||
; 0x96e9b
|
||||
|
||||
Script_2writetext: ; 0x96e9b
|
||||
@ -550,13 +550,13 @@ Script_specialsound: ; 0x96fe4
|
||||
ld hl, $543d
|
||||
rst $8
|
||||
ld a, [$d142]
|
||||
cp $4
|
||||
ld de, $009b
|
||||
jr z, .asm_96ff7 ; 0x96ff2 $3
|
||||
ld de, $0001
|
||||
.asm_96ff7
|
||||
cp TM_HM
|
||||
ld de, SFX_GET_TM
|
||||
jr z, .play
|
||||
ld de, SFX_ITEM
|
||||
.play
|
||||
call StartSFX
|
||||
call $3c55
|
||||
call WaitSFX
|
||||
ret
|
||||
; 0x96ffe
|
||||
|
||||
@ -681,7 +681,7 @@ Script_describedecoration: ; 0x970df
|
||||
rst $8
|
||||
ld h, d
|
||||
ld l, e
|
||||
jp $759d
|
||||
jp ScriptJump
|
||||
; 0x970ee
|
||||
|
||||
Script_fruittree: ; 0x970ee
|
||||
@ -690,10 +690,10 @@ Script_fruittree: ; 0x970ee
|
||||
; tree_id (SingleByteParam)
|
||||
|
||||
call GetScriptByte
|
||||
ld [$d03e], a
|
||||
ld b, $11
|
||||
ld hl, $4000
|
||||
jp $759d
|
||||
ld [CurFruitTree], a
|
||||
ld b, BANK(FruitTreeScript)
|
||||
ld hl, FruitTreeScript
|
||||
jp ScriptJump
|
||||
; 0x970fc
|
||||
|
||||
Script_loadwilddata: ; 0x970fc
|
||||
@ -743,7 +743,7 @@ Script_scripttalkafter: ; 0x97125
|
||||
ld l, a
|
||||
ld a, [$d03e]
|
||||
ld b, a
|
||||
jp $759d
|
||||
jp ScriptJump
|
||||
; 0x97132
|
||||
|
||||
Script_trainerstatus: ; 0x97132
|
||||
@ -877,7 +877,7 @@ Script_playsound: ; 0x971b7
|
||||
Script_waitbutton: ; 0x971c3
|
||||
; script command 0x86
|
||||
|
||||
call $3c55
|
||||
call WaitSFX
|
||||
ret
|
||||
; 0x971c7
|
||||
|
||||
@ -1417,7 +1417,7 @@ Script_returnafterbattle: ; 0x97459
|
||||
jr nz, .asm_97470 ; 0x97466 $8
|
||||
ld b, $4
|
||||
ld hl, $64c1
|
||||
jp $759d
|
||||
jp ScriptJump
|
||||
.asm_97470
|
||||
bit 0, d
|
||||
jr z, .asm_9747c ; 0x97472 $8
|
||||
@ -1510,14 +1510,14 @@ ScriptCall: ; 0x974cb
|
||||
ld [hli], a
|
||||
ld a, [ScriptPos]
|
||||
ld [hli], a
|
||||
ld a, [$d43b]
|
||||
ld a, [ScriptPos + 1]
|
||||
ld [hl], a
|
||||
ld a, b
|
||||
ld [ScriptBank], a
|
||||
ld a, e
|
||||
ld [ScriptPos], a
|
||||
ld a, d
|
||||
ld [$d43b], a
|
||||
ld [ScriptPos + 1], a
|
||||
ret
|
||||
; 0x974f3
|
||||
|
||||
@ -1539,7 +1539,7 @@ Script_2jump: ; 0x974fe
|
||||
ld h, a
|
||||
ld a, [ScriptBank]
|
||||
ld b, a
|
||||
jp $759d
|
||||
jp ScriptJump
|
||||
; 0x9750d
|
||||
|
||||
Script_3jump: ; 0x9750d
|
||||
@ -1553,7 +1553,7 @@ Script_3jump: ; 0x9750d
|
||||
ld l, a
|
||||
call GetScriptByte
|
||||
ld h, a
|
||||
jp $759d
|
||||
jp ScriptJump
|
||||
; 0x9751c
|
||||
|
||||
Script_2ptjump: ; 0x9751c
|
||||
@ -1570,7 +1570,7 @@ Script_2ptjump: ; 0x9751c
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
jp $759d
|
||||
jp ScriptJump
|
||||
; 0x9752c
|
||||
|
||||
Script_iffalse: ; 0x9752c
|
||||
@ -1655,7 +1655,7 @@ Script_jumpstd: ; 0x9756e
|
||||
; predefined_script (MultiByteParam)
|
||||
|
||||
call $757b
|
||||
jr Unknown_9759d ; 0x97571 $2a
|
||||
jr ScriptJump ; 0x97571 $2a
|
||||
; 0x97573
|
||||
|
||||
Script_callstd: ; 0x97573
|
||||
@ -1693,13 +1693,13 @@ Unknown_97596: ; 0x97596
|
||||
ret
|
||||
; 0x9759d
|
||||
|
||||
Unknown_9759d: ; 0x9759d
|
||||
ScriptJump: ; 0x9759d
|
||||
ld a, b
|
||||
ld [ScriptBank], a
|
||||
ld a, l
|
||||
ld [ScriptPos], a
|
||||
ld a, h
|
||||
ld [$d43b], a
|
||||
ld [ScriptPos + 1], a
|
||||
ret
|
||||
; 0x975aa
|
||||
|
||||
@ -3041,7 +3041,7 @@ Unknown_0x97b9a: ; 0x97b9a
|
||||
ld [ScriptPos], a
|
||||
ld a, [hl]
|
||||
ld d, a
|
||||
ld [$d43b], a
|
||||
ld [ScriptPos + 1], a
|
||||
and a
|
||||
ret
|
||||
.asm_97bbe
|
||||
|
File diff suppressed because it is too large
Load Diff
502
stats/wild/fish.asm
Normal file
502
stats/wild/fish.asm
Normal file
@ -0,0 +1,502 @@
|
||||
FishAction: ; 92402
|
||||
; Using a fishing rod.
|
||||
; Fish for monsters with rod e in encounter group d.
|
||||
; Return monster e at level d.
|
||||
|
||||
push af
|
||||
push bc
|
||||
push hl
|
||||
|
||||
; Get the fishing group for this map.
|
||||
ld b, e
|
||||
call GetFishGroupHeader
|
||||
|
||||
ld hl, FishGroupHeaders
|
||||
; encounter chance
|
||||
add hl, de
|
||||
; pointer to old rod data
|
||||
add hl, de
|
||||
add hl, de
|
||||
; pointer to good rod data
|
||||
add hl, de
|
||||
add hl, de
|
||||
; pointer to super rod data
|
||||
add hl, de
|
||||
add hl, de
|
||||
|
||||
call Fish
|
||||
|
||||
pop hl
|
||||
pop bc
|
||||
pop af
|
||||
ret
|
||||
; 9241a
|
||||
|
||||
|
||||
Fish: ; 9241a
|
||||
; Grandfathered from Red.
|
||||
|
||||
; Fish for monsters with rod b from encounter data in FishGroup at hl.
|
||||
; Return monster e at level d.
|
||||
|
||||
call RNG
|
||||
|
||||
; Got a bite?
|
||||
cp [hl]
|
||||
jr nc, .NoBite
|
||||
|
||||
; Get encounter data by rod:
|
||||
; 0: Old
|
||||
; 1: Good
|
||||
; 2: Super
|
||||
inc hl
|
||||
ld e, b
|
||||
ld d, 0
|
||||
add hl, de
|
||||
add hl, de
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
|
||||
; Encounter chance for this monster:
|
||||
call RNG
|
||||
|
||||
.CheckEncounter
|
||||
cp [hl]
|
||||
jr z, .ReadMon
|
||||
jr c, .ReadMon
|
||||
|
||||
; Next monster...
|
||||
inc hl
|
||||
inc hl
|
||||
inc hl
|
||||
jr .CheckEncounter
|
||||
|
||||
.ReadMon
|
||||
; We're done with the encounter chance
|
||||
inc hl
|
||||
|
||||
; Species 0 triggers a read from a time-based encounter table.
|
||||
ld a, [hli]
|
||||
ld d, a
|
||||
and a
|
||||
call z, .TimeEncounter
|
||||
|
||||
; Level
|
||||
ld e, [hl]
|
||||
ret
|
||||
|
||||
.NoBite
|
||||
ld de, 0
|
||||
ret
|
||||
|
||||
.TimeEncounter
|
||||
|
||||
; The level byte is repurposed as the index for the new table.
|
||||
ld e, [hl]
|
||||
ld d, 0
|
||||
ld hl, TimeFishGroups
|
||||
add hl, de
|
||||
add hl, de
|
||||
add hl, de
|
||||
add hl, de
|
||||
|
||||
; One nightmon, then one daymon
|
||||
ld a, [TimeOfDay]
|
||||
and 3
|
||||
cp NITE
|
||||
jr c, .TimeSpecies
|
||||
inc hl
|
||||
inc hl
|
||||
|
||||
.TimeSpecies
|
||||
ld d, [hl]
|
||||
inc hl
|
||||
ret
|
||||
; 9245b
|
||||
|
||||
|
||||
|
||||
|
||||
GetFishGroupHeader: ; 9245b
|
||||
; Return fishing encounter group header d in de.
|
||||
|
||||
push hl
|
||||
ld hl, $dc1e
|
||||
bit 2, [hl]
|
||||
pop hl
|
||||
jr z, .end
|
||||
|
||||
; Groups 11 and 12 have special attributes.
|
||||
ld a, d
|
||||
cp 11
|
||||
jr z, .group11
|
||||
cp 12
|
||||
jr z, .group12
|
||||
|
||||
.end
|
||||
dec d
|
||||
ld e, d
|
||||
ld d, 0
|
||||
ret
|
||||
|
||||
.group11
|
||||
ld a, [$dfce]
|
||||
cp 1
|
||||
jr nz, .end
|
||||
ld d, 6
|
||||
jr .end
|
||||
|
||||
.group12
|
||||
ld a, [$dfce]
|
||||
cp 2
|
||||
jr nz, .end
|
||||
ld d, 7
|
||||
jr .end
|
||||
; 92488
|
||||
|
||||
|
||||
FishGroupHeaders:
|
||||
|
||||
FishGroup1Header: ; 92488
|
||||
db $80 ; 50%
|
||||
dw FishGroup1_Old
|
||||
dw FishGroup1_Good
|
||||
dw FishGroup1_Super
|
||||
|
||||
FishGroup2Header: ; 9248f
|
||||
db $80 ; 50%
|
||||
dw FishGroup2_Old
|
||||
dw FishGroup2_Good
|
||||
dw FishGroup2_Super
|
||||
|
||||
FishGroup3Header: ; 92496
|
||||
db $80 ; 50%
|
||||
dw FishGroup3_Old
|
||||
dw FishGroup3_Good
|
||||
dw FishGroup3_Super
|
||||
|
||||
FishGroup4Header: ; 9249d
|
||||
db $80 ; 50%
|
||||
dw FishGroup4_Old
|
||||
dw FishGroup4_Good
|
||||
dw FishGroup4_Super
|
||||
|
||||
FishGroup5Header: ; 924a4
|
||||
db $80 ; 50%
|
||||
dw FishGroup5_Old
|
||||
dw FishGroup5_Good
|
||||
dw FishGroup5_Super
|
||||
|
||||
FishGroup6Header: ; 924ab
|
||||
db $80 ; 50%
|
||||
dw FishGroup6_Old
|
||||
dw FishGroup6_Good
|
||||
dw FishGroup6_Super
|
||||
|
||||
FishGroup7Header: ; 924b2
|
||||
db $80 ; 50%
|
||||
dw FishGroup7_Old
|
||||
dw FishGroup7_Good
|
||||
dw FishGroup7_Super
|
||||
|
||||
FishGroup8Header: ; 924b9
|
||||
db $80 ; 50%
|
||||
dw FishGroup8_Old
|
||||
dw FishGroup8_Good
|
||||
dw FishGroup8_Super
|
||||
|
||||
FishGroup9Header: ; 924c0
|
||||
db $80 ; 50%
|
||||
dw FishGroup9_Old
|
||||
dw FishGroup9_Good
|
||||
dw FishGroup9_Super
|
||||
|
||||
FishGroup10Header: ; 924c7
|
||||
db $80 ; 50%
|
||||
dw FishGroup10_Old
|
||||
dw FishGroup10_Good
|
||||
dw FishGroup10_Super
|
||||
|
||||
FishGroup11Header: ; 924ce
|
||||
db $80 ; 50%
|
||||
dw FishGroup11_Old
|
||||
dw FishGroup11_Good
|
||||
dw FishGroup11_Super
|
||||
|
||||
FishGroup12Header: ; 924d5
|
||||
db $80 ; 50%
|
||||
dw FishGroup12_Old
|
||||
dw FishGroup12_Good
|
||||
dw FishGroup12_Super
|
||||
|
||||
FishGroup13Header: ; 924dc
|
||||
db $80 ; 50%
|
||||
dw FishGroup11_Old
|
||||
dw FishGroup11_Good
|
||||
dw FishGroup11_Super
|
||||
|
||||
FishGroup1:
|
||||
FishGroup1_Old: ; 924e3
|
||||
db $b3, MAGIKARP, 10
|
||||
db $d9, MAGIKARP, 10
|
||||
db $ff, KRABBY, 10
|
||||
FishGroup1_Good: ; 924ec
|
||||
db $59, MAGIKARP, 20
|
||||
db $b2, KRABBY, 20
|
||||
db $e6, KRABBY, 20
|
||||
db $ff, $0, 0
|
||||
FishGroup1_Super: ; 924f8
|
||||
db $66, KRABBY, 40
|
||||
db $b2, $0, 1
|
||||
db $e6, KRABBY, 40
|
||||
db $ff, KINGLER, 40
|
||||
|
||||
FishGroup2:
|
||||
FishGroup2_Old: ; 92504
|
||||
db $b3, MAGIKARP, 10
|
||||
db $d9, MAGIKARP, 10
|
||||
db $ff, TENTACOOL, 10
|
||||
FishGroup2_Good: ; 9250d
|
||||
db $59, MAGIKARP, 20
|
||||
db $b2, TENTACOOL, 20
|
||||
db $e6, CHINCHOU, 20
|
||||
db $ff, $0, 2
|
||||
FishGroup2_Super: ; 92519
|
||||
db $66, CHINCHOU, 40
|
||||
db $b2, $0, 3
|
||||
db $e6, TENTACRUEL, 40
|
||||
db $ff, LANTURN, 40
|
||||
|
||||
FishGroup3:
|
||||
FishGroup3_Old: ; 92525
|
||||
db $b3, MAGIKARP, 10
|
||||
db $d9, MAGIKARP, 10
|
||||
db $ff, GOLDEEN, 10
|
||||
FishGroup3_Good: ; 9252e
|
||||
db $59, MAGIKARP, 20
|
||||
db $b2, GOLDEEN, 20
|
||||
db $e6, GOLDEEN, 20
|
||||
db $ff, $0, 4
|
||||
FishGroup3_Super: ; 9253a
|
||||
db $66, GOLDEEN, 40
|
||||
db $b2, $0, 5
|
||||
db $e6, MAGIKARP, 40
|
||||
db $ff, SEAKING, 40
|
||||
|
||||
FishGroup4:
|
||||
FishGroup4_Old: ; 92546
|
||||
db $b3, MAGIKARP, 10
|
||||
db $d9, MAGIKARP, 10
|
||||
db $ff, POLIWAG, 10
|
||||
FishGroup4_Good: ; 9254f
|
||||
db $59, MAGIKARP, 20
|
||||
db $b2, POLIWAG, 20
|
||||
db $e6, POLIWAG, 20
|
||||
db $ff, $0, 6
|
||||
FishGroup4_Super: ; 9255b
|
||||
db $66, POLIWAG, 40
|
||||
db $b2, $0, 7
|
||||
db $e6, MAGIKARP, 40
|
||||
db $ff, POLIWAG, 40
|
||||
|
||||
FishGroup5:
|
||||
FishGroup5_Old: ; 92567
|
||||
db $b3, MAGIKARP, 10
|
||||
db $d9, MAGIKARP, 10
|
||||
db $ff, MAGIKARP, 10
|
||||
FishGroup5_Good: ; 92570
|
||||
db $59, MAGIKARP, 20
|
||||
db $b2, MAGIKARP, 20
|
||||
db $e6, MAGIKARP, 20
|
||||
db $ff, $0, 8
|
||||
FishGroup5_Super: ; 9257c
|
||||
db $66, MAGIKARP, 40
|
||||
db $b2, $0, 9
|
||||
db $e6, MAGIKARP, 40
|
||||
db $ff, DRAGONAIR, 40
|
||||
|
||||
FishGroup6:
|
||||
FishGroup6_Old: ; 92588
|
||||
db $b3, MAGIKARP, 5
|
||||
db $d9, MAGIKARP, 5
|
||||
db $ff, QWILFISH, 5
|
||||
FishGroup6_Good: ; 92591
|
||||
db $59, MAGIKARP, 20
|
||||
db $b2, QWILFISH, 20
|
||||
db $e6, QWILFISH, 20
|
||||
db $ff, $0, 10
|
||||
FishGroup6_Super: ; 9259d
|
||||
db $66, QWILFISH, 40
|
||||
db $b2, $0, 11
|
||||
db $e6, QWILFISH, 40
|
||||
db $ff, QWILFISH, 40
|
||||
|
||||
FishGroup7:
|
||||
FishGroup7_Old: ; 925a9
|
||||
db $b3, MAGIKARP, 10
|
||||
db $d9, MAGIKARP, 10
|
||||
db $ff, REMORAID, 10
|
||||
FishGroup7_Good: ; 925b2
|
||||
db $59, MAGIKARP, 20
|
||||
db $b2, REMORAID, 20
|
||||
db $e6, REMORAID, 20
|
||||
db $ff, $0, 12
|
||||
FishGroup7_Super: ; 925be
|
||||
db $66, REMORAID, 40
|
||||
db $b2, $0, 13
|
||||
db $e6, REMORAID, 40
|
||||
db $ff, REMORAID, 40
|
||||
|
||||
FishGroup8:
|
||||
FishGroup8_Old: ; 925ca
|
||||
db $b3, MAGIKARP, 10
|
||||
db $d9, MAGIKARP, 10
|
||||
db $ff, MAGIKARP, 10
|
||||
FishGroup8_Good: ; 925d3
|
||||
db $59, MAGIKARP, 20
|
||||
db $b2, MAGIKARP, 20
|
||||
db $e6, MAGIKARP, 20
|
||||
db $ff, $0, 14
|
||||
FishGroup8_Super: ; 925df
|
||||
db $66, MAGIKARP, 40
|
||||
db $b2, $0, 15
|
||||
db $e6, MAGIKARP, 40
|
||||
db $ff, MAGIKARP, 40
|
||||
|
||||
FishGroup9:
|
||||
FishGroup9_Old: ; 925eb
|
||||
db $b3, MAGIKARP, 10
|
||||
db $d9, MAGIKARP, 10
|
||||
db $ff, MAGIKARP, 10
|
||||
FishGroup9_Good: ; 925f4
|
||||
db $59, MAGIKARP, 10
|
||||
db $b2, MAGIKARP, 10
|
||||
db $e6, MAGIKARP, 10
|
||||
db $ff, $0, 16
|
||||
FishGroup9_Super: ; 92600
|
||||
db $66, MAGIKARP, 10
|
||||
db $b2, $0, 17
|
||||
db $e6, MAGIKARP, 10
|
||||
db $ff, DRAGONAIR, 10
|
||||
|
||||
FishGroup10:
|
||||
FishGroup10_Old: ; 9260c
|
||||
db $b3, MAGIKARP, 10
|
||||
db $d9, MAGIKARP, 10
|
||||
db $ff, KRABBY, 10
|
||||
FishGroup10_Good: ; 92615
|
||||
db $59, MAGIKARP, 20
|
||||
db $b2, KRABBY, 20
|
||||
db $e6, KRABBY, 20
|
||||
db $ff, $0, 18
|
||||
FishGroup10_Super: ; 92621
|
||||
db $66, KRABBY, 40
|
||||
db $b2, $0, 19
|
||||
db $e6, KINGLER, 40
|
||||
db $ff, SEADRA, 40
|
||||
|
||||
FishGroup11:
|
||||
FishGroup11_Old: ; 9262d
|
||||
db $b3, MAGIKARP, 10
|
||||
db $d9, MAGIKARP, 10
|
||||
db $ff, TENTACOOL, 10
|
||||
FishGroup11_Good: ; 92636
|
||||
db $59, MAGIKARP, 20
|
||||
db $b2, TENTACOOL, 20
|
||||
db $e6, TENTACOOL, 20
|
||||
db $ff, $0, 20
|
||||
FishGroup11_Super: ; 92642
|
||||
db $66, TENTACOOL, 40
|
||||
db $b2, $0, 21
|
||||
db $e6, MAGIKARP, 40
|
||||
db $ff, QWILFISH, 40
|
||||
|
||||
FishGroup12:
|
||||
FishGroup12_Old: ; 9264e
|
||||
db $b3, MAGIKARP, 10
|
||||
db $d9, MAGIKARP, 10
|
||||
db $ff, POLIWAG, 10
|
||||
FishGroup12_Good: ; 92657
|
||||
db $59, MAGIKARP, 20
|
||||
db $b2, POLIWAG, 20
|
||||
db $e6, POLIWAG, 20
|
||||
db $ff, $0, 6
|
||||
FishGroup12_Super: ; 92663
|
||||
db $66, POLIWAG, 40
|
||||
db $b2, $0, 7
|
||||
db $e6, MAGIKARP, 40
|
||||
db $ff, REMORAID, 40
|
||||
|
||||
; 9266f
|
||||
|
||||
TimeFishGroups: ; 9266f
|
||||
; 0
|
||||
db CORSOLA, 20 ; nite
|
||||
db STARYU, 20 ; day
|
||||
; 1
|
||||
db CORSOLA, 40 ; nite
|
||||
db STARYU, 40 ; day
|
||||
; 2
|
||||
db SHELLDER, 20 ; nite
|
||||
db SHELLDER, 20 ; day
|
||||
; 3
|
||||
db SHELLDER, 40 ; nite
|
||||
db SHELLDER, 40 ; day
|
||||
; 4
|
||||
db GOLDEEN, 20 ; nite
|
||||
db GOLDEEN, 20 ; day
|
||||
; 5
|
||||
db GOLDEEN, 40 ; nite
|
||||
db GOLDEEN, 40 ; day
|
||||
; 6
|
||||
db POLIWAG, 20 ; nite
|
||||
db POLIWAG, 20 ; day
|
||||
; 7
|
||||
db POLIWAG, 40 ; nite
|
||||
db POLIWAG, 40 ; day
|
||||
; 8
|
||||
db DRATINI, 20 ; nite
|
||||
db DRATINI, 20 ; day
|
||||
; 9
|
||||
db DRATINI, 40 ; nite
|
||||
db DRATINI, 40 ; day
|
||||
; 10
|
||||
db QWILFISH, 20 ; nite
|
||||
db QWILFISH, 20 ; day
|
||||
; 11
|
||||
db QWILFISH, 40 ; nite
|
||||
db QWILFISH, 40 ; day
|
||||
; 12
|
||||
db REMORAID, 20 ; nite
|
||||
db REMORAID, 20 ; day
|
||||
; 13
|
||||
db REMORAID, 40 ; nite
|
||||
db REMORAID, 40 ; day
|
||||
; 14
|
||||
db GYARADOS, 20 ; nite
|
||||
db GYARADOS, 20 ; day
|
||||
; 15
|
||||
db GYARADOS, 40 ; nite
|
||||
db GYARADOS, 40 ; day
|
||||
; 16
|
||||
db DRATINI, 10 ; nite
|
||||
db DRATINI, 10 ; day
|
||||
; 17
|
||||
db DRATINI, 10 ; nite
|
||||
db DRATINI, 10 ; day
|
||||
; 18
|
||||
db HORSEA, 20 ; nite
|
||||
db HORSEA, 20 ; day
|
||||
; 19
|
||||
db HORSEA, 40 ; nite
|
||||
db HORSEA, 40 ; day
|
||||
; 20
|
||||
db TENTACOOL, 20 ; nite
|
||||
db TENTACOOL, 20 ; day
|
||||
; 21
|
||||
db TENTACOOL, 40 ; nite
|
||||
db TENTACOOL, 40 ; day
|
||||
|
||||
; 926c7
|
||||
|
BIN
tilesets/00_collision.bin
Normal file
BIN
tilesets/00_collision.bin
Normal file
Binary file not shown.
BIN
tilesets/00_metatiles.bin
Normal file
BIN
tilesets/00_metatiles.bin
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user