mirror of
https://github.com/thornAvery/kep-hack.git
synced 2025-12-24 19:36:48 +13:00
Merge branch 'master' of https://github.com/iimarckus/pokered
This commit is contained in:
commit
dac95cb42b
113
Makefile
113
Makefile
|
|
@ -1,12 +1,52 @@
|
||||||
PYTHON := python
|
# Build Red/Blue. Yellow is WIP.
|
||||||
MD5 := md5sum -c --quiet
|
roms := pokered.gbc pokeblue.gbc
|
||||||
|
|
||||||
|
|
||||||
.SUFFIXES:
|
|
||||||
.SUFFIXES: .asm .tx .o .gbc
|
|
||||||
.PHONY: all clean red blue yellow compare
|
.PHONY: all clean red blue yellow compare
|
||||||
.PRECIOUS: %.2bpp
|
|
||||||
|
all: $(roms)
|
||||||
|
red: pokered.gbc
|
||||||
|
blue: pokeblue.gbc
|
||||||
|
yellow: pokeyellow.gbc
|
||||||
|
|
||||||
|
versions := red blue yellow
|
||||||
|
|
||||||
|
|
||||||
|
# Header options for rgbfix.
|
||||||
|
dmg_opt = -jsv -k 01 -l 0x33 -m 0x13 -p 0 -r 03
|
||||||
|
cgb_opt = -cjsv -k 01 -l 0x33 -m 0x1b -p 0 -r 03
|
||||||
|
|
||||||
|
red_opt = $(dmg_opt) -t "POKEMON RED"
|
||||||
|
blue_opt = $(dmg_opt) -t "POKEMON BLUE"
|
||||||
|
yellow_opt = $(cgb_opt) -t "POKEMON YELLOW"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# If your default python is 3, you may want to change this to python27.
|
||||||
|
PYTHON := python
|
||||||
|
|
||||||
|
# md5sum -c is used to compare rom hashes. The options may vary across platforms.
|
||||||
|
MD5 := md5sum -c --quiet
|
||||||
|
|
||||||
|
|
||||||
|
# The compare target is a shortcut to check that the build matches the original roms exactly.
|
||||||
|
# This is for contributors to make sure a change didn't affect the contents of the rom.
|
||||||
|
# More thorough comparison can be made by diffing the output of hexdump -C against both roms.
|
||||||
|
compare:
|
||||||
|
@$(MD5) roms.md5
|
||||||
|
|
||||||
|
|
||||||
|
# Clear the default suffixes.
|
||||||
|
.SUFFIXES:
|
||||||
|
.SUFFIXES: .asm .tx .o .gbc .png .2bpp .1bpp .pic
|
||||||
|
|
||||||
|
# Secondary expansion is required for dependency variables in object rules.
|
||||||
.SECONDEXPANSION:
|
.SECONDEXPANSION:
|
||||||
|
|
||||||
|
# Suppress annoying intermediate file deletion messages.
|
||||||
|
.PRECIOUS: %.2bpp
|
||||||
|
|
||||||
|
# Filepath shortcuts to avoid overly long recipes.
|
||||||
poketools := extras/pokemontools
|
poketools := extras/pokemontools
|
||||||
gfx := $(PYTHON) $(poketools)/gfx.py
|
gfx := $(PYTHON) $(poketools)/gfx.py
|
||||||
pic := $(PYTHON) $(poketools)/pic.py
|
pic := $(PYTHON) $(poketools)/pic.py
|
||||||
|
|
@ -14,8 +54,9 @@ includes := $(PYTHON) $(poketools)/scan_includes.py
|
||||||
pre := $(PYTHON) prequeue.py
|
pre := $(PYTHON) prequeue.py
|
||||||
|
|
||||||
|
|
||||||
versions := red blue yellow
|
|
||||||
|
|
||||||
|
# Collect file dependencies for objects in red/, blue/ and yellow/.
|
||||||
|
# These aren't provided by rgbds by default, so we have to look for file includes ourselves.
|
||||||
$(foreach ver, $(versions), \
|
$(foreach ver, $(versions), \
|
||||||
$(eval $(ver)_asm := $(shell find $(ver) -iname '*.asm')) \
|
$(eval $(ver)_asm := $(shell find $(ver) -iname '*.asm')) \
|
||||||
$(eval $(ver)_obj := $($(ver)_asm:.asm=.o)) \
|
$(eval $(ver)_obj := $($(ver)_asm:.asm=.o)) \
|
||||||
|
|
@ -26,25 +67,22 @@ $(foreach obj, $(all_obj), \
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
roms := pokered.gbc pokeblue.gbc
|
# Image files are added to a queue to reduce build time. They're converted when building parent objects.
|
||||||
|
%.png: ;
|
||||||
all: $(roms)
|
%.2bpp: %.png ; $(eval 2bppq += $<) @rm -f $@
|
||||||
red: pokered.gbc
|
%.1bpp: %.png ; $(eval 1bppq += $<) @rm -f $@
|
||||||
blue: pokeblue.gbc
|
%.pic: %.2bpp ; $(eval picq += $<) @rm -f $@
|
||||||
yellow: pokeyellow.gbc
|
|
||||||
|
|
||||||
compare:
|
|
||||||
@$(MD5) roms.md5
|
|
||||||
clean:
|
|
||||||
rm -f $(roms) $(all_obj)
|
|
||||||
find . \( -iname '*.tx' -o -iname '*.1bpp' -o -iname '*.2bpp' -o -iname '*.pic' \) -exec rm {} +
|
|
||||||
|
|
||||||
|
|
||||||
|
# Source files are not fed directly into rgbasm.
|
||||||
|
# A python preprocessor runs over them first, replacing ascii strings with correct character codes.
|
||||||
|
# It spits out the new file with extension .tx.
|
||||||
|
# The text preprocessor also uses a queue.
|
||||||
%.asm: ;
|
%.asm: ;
|
||||||
%.tx: %.asm
|
%.tx: %.asm ; $(eval txq += $<) @rm -f $@
|
||||||
$(eval txq += $<)
|
|
||||||
@rm -f $@
|
|
||||||
|
|
||||||
|
# Assemble source files into objects.
|
||||||
|
# Queue payloads are here. These are made silent since there may be hundreds of targets.
|
||||||
|
# Use rgbasm -h to use halts without nops.
|
||||||
$(all_obj): $$*.tx $$(patsubst %.asm, %.tx, $$($$*_dep))
|
$(all_obj): $$*.tx $$(patsubst %.asm, %.tx, $$($$*_dep))
|
||||||
@$(pre) $(txq); $(eval txq :=)
|
@$(pre) $(txq); $(eval txq :=)
|
||||||
@$(gfx) 2bpp $(2bppq); $(eval 2bppq :=)
|
@$(gfx) 2bpp $(2bppq); $(eval 2bppq :=)
|
||||||
|
|
@ -53,29 +91,16 @@ $(all_obj): $$*.tx $$(patsubst %.asm, %.tx, $$($$*_dep))
|
||||||
rgbasm -h -o $@ $*.tx
|
rgbasm -h -o $@ $*.tx
|
||||||
|
|
||||||
|
|
||||||
link = rgblink -n $*.sym -m $*.map
|
# Link objects together to build a rom.
|
||||||
dmg_opt := -jsv -k 01 -l 0x33 -m 0x13 -p 0 -r 03
|
|
||||||
cgb_opt := -cjsv -k 01 -l 0x33 -m 0x1b -p 0 -r 03
|
|
||||||
|
|
||||||
pokered.gbc: $(red_obj)
|
# Make a symfile for debugging. rgblink will segfault if a mapfile isn't made too.
|
||||||
|
link = rgblink -n poke$*.sym -m poke$*.map
|
||||||
|
|
||||||
|
poke%.gbc: $$(%_obj)
|
||||||
$(link) -o $@ $^
|
$(link) -o $@ $^
|
||||||
rgbfix $(dmg_opt) -t "POKEMON RED" $@
|
rgbfix $($*_opt) $@
|
||||||
|
|
||||||
pokeblue.gbc: $(blue_obj)
|
|
||||||
$(link) -o $@ $^
|
|
||||||
rgbfix $(dmg_opt) -t "POKEMON BLUE" $@
|
|
||||||
|
|
||||||
pokeyellow.gbc: $(yellow_obj)
|
|
||||||
$(link) -o $@ $^
|
|
||||||
rgbfix $(cgb_opt) -t "POKEMON YELLOW" $@
|
|
||||||
|
|
||||||
|
|
||||||
%.2bpp: %.png
|
clean:
|
||||||
$(eval 2bppq += $<)
|
rm -f $(roms) $(all_obj)
|
||||||
@rm -f $@
|
find . \( -iname '*.tx' -o -iname '*.1bpp' -o -iname '*.2bpp' -o -iname '*.pic' \) -exec rm {} +
|
||||||
%.1bpp: %.png
|
|
||||||
$(eval 1bppq += $<)
|
|
||||||
@rm -f $@
|
|
||||||
%.pic: %.2bpp
|
|
||||||
$(eval picq += $<)
|
|
||||||
@rm -f $@
|
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,3 @@
|
||||||
A_BUTTON EQU %00000001
|
|
||||||
B_BUTTON EQU %00000010
|
|
||||||
SELECT EQU %00000100
|
|
||||||
START EQU %00001000
|
|
||||||
D_RIGHT EQU %00010000
|
|
||||||
D_LEFT EQU %00100000
|
|
||||||
D_UP EQU %01000000
|
|
||||||
D_DOWN EQU %10000000
|
|
||||||
|
|
||||||
MAX_LEVEL EQU 100
|
MAX_LEVEL EQU 100
|
||||||
NUM_MOVES EQU 4
|
NUM_MOVES EQU 4
|
||||||
|
|
||||||
|
|
@ -18,3 +9,16 @@ NUM_BOXES EQU 12
|
||||||
HOF_MON EQU $10
|
HOF_MON EQU $10
|
||||||
HOF_TEAM EQU PARTY_LENGTH * HOF_MON
|
HOF_TEAM EQU PARTY_LENGTH * HOF_MON
|
||||||
NUM_HOF_TEAMS EQU 50
|
NUM_HOF_TEAMS EQU 50
|
||||||
|
|
||||||
|
|
||||||
|
A_BUTTON EQU %00000001
|
||||||
|
B_BUTTON EQU %00000010
|
||||||
|
SELECT EQU %00000100
|
||||||
|
START EQU %00001000
|
||||||
|
D_RIGHT EQU %00010000
|
||||||
|
D_LEFT EQU %00100000
|
||||||
|
D_UP EQU %01000000
|
||||||
|
D_DOWN EQU %10000000
|
||||||
|
|
||||||
|
SCREEN_WIDTH EQU 20
|
||||||
|
SCREEN_HEIGHT EQU 18
|
||||||
|
|
|
||||||
|
|
@ -1,184 +1,210 @@
|
||||||
NUM_ATTACKS EQU $A4
|
const_value = 1
|
||||||
|
|
||||||
POUND EQU $01
|
const POUND
|
||||||
KARATE_CHOP EQU $02
|
const KARATE_CHOP
|
||||||
DOUBLESLAP EQU $03
|
const DOUBLESLAP
|
||||||
COMET_PUNCH EQU $04
|
const COMET_PUNCH
|
||||||
MEGA_PUNCH EQU $05
|
const MEGA_PUNCH
|
||||||
PAY_DAY EQU $06
|
const PAY_DAY
|
||||||
FIRE_PUNCH EQU $07
|
const FIRE_PUNCH
|
||||||
ICE_PUNCH EQU $08
|
const ICE_PUNCH
|
||||||
THUNDERPUNCH EQU $09
|
const THUNDERPUNCH
|
||||||
SCRATCH EQU $0A
|
const SCRATCH
|
||||||
VICEGRIP EQU $0B
|
const VICEGRIP
|
||||||
GUILLOTINE EQU $0C
|
const GUILLOTINE
|
||||||
RAZOR_WIND EQU $0D
|
const RAZOR_WIND
|
||||||
SWORDS_DANCE EQU $0E
|
const SWORDS_DANCE
|
||||||
CUT EQU $0F
|
const CUT
|
||||||
GUST EQU $10
|
const GUST
|
||||||
WING_ATTACK EQU $11
|
const WING_ATTACK
|
||||||
WHIRLWIND EQU $12
|
const WHIRLWIND
|
||||||
FLY EQU $13
|
const FLY
|
||||||
BIND EQU $14
|
const BIND
|
||||||
SLAM EQU $15
|
const SLAM
|
||||||
VINE_WHIP EQU $16
|
const VINE_WHIP
|
||||||
STOMP EQU $17
|
const STOMP
|
||||||
DOUBLE_KICK EQU $18
|
const DOUBLE_KICK
|
||||||
MEGA_KICK EQU $19
|
const MEGA_KICK
|
||||||
JUMP_KICK EQU $1A
|
const JUMP_KICK
|
||||||
ROLLING_KICK EQU $1B
|
const ROLLING_KICK
|
||||||
SAND_ATTACK EQU $1C
|
const SAND_ATTACK
|
||||||
HEADBUTT EQU $1D
|
const HEADBUTT
|
||||||
HORN_ATTACK EQU $1E
|
const HORN_ATTACK
|
||||||
FURY_ATTACK EQU $1F
|
const FURY_ATTACK
|
||||||
HORN_DRILL EQU $20
|
const HORN_DRILL
|
||||||
TACKLE EQU $21
|
const TACKLE
|
||||||
BODY_SLAM EQU $22
|
const BODY_SLAM
|
||||||
WRAP EQU $23
|
const WRAP
|
||||||
TAKE_DOWN EQU $24
|
const TAKE_DOWN
|
||||||
THRASH EQU $25
|
const THRASH
|
||||||
DOUBLE_EDGE EQU $26
|
const DOUBLE_EDGE
|
||||||
TAIL_WHIP EQU $27
|
const TAIL_WHIP
|
||||||
POISON_STING EQU $28
|
const POISON_STING
|
||||||
TWINEEDLE EQU $29
|
const TWINEEDLE
|
||||||
PIN_MISSILE EQU $2A
|
const PIN_MISSILE
|
||||||
LEER EQU $2B
|
const LEER
|
||||||
BITE EQU $2C
|
const BITE
|
||||||
GROWL EQU $2D
|
const GROWL
|
||||||
ROAR EQU $2E
|
const ROAR
|
||||||
SING EQU $2F
|
const SING
|
||||||
SUPERSONIC EQU $30
|
const SUPERSONIC
|
||||||
SONICBOOM EQU $31
|
const SONICBOOM
|
||||||
DISABLE EQU $32
|
const DISABLE
|
||||||
ACID EQU $33
|
const ACID
|
||||||
EMBER EQU $34
|
const EMBER
|
||||||
FLAMETHROWER EQU $35
|
const FLAMETHROWER
|
||||||
MIST EQU $36
|
const MIST
|
||||||
WATER_GUN EQU $37
|
const WATER_GUN
|
||||||
HYDRO_PUMP EQU $38
|
const HYDRO_PUMP
|
||||||
SURF EQU $39
|
const SURF
|
||||||
ICE_BEAM EQU $3A
|
const ICE_BEAM
|
||||||
BLIZZARD EQU $3B
|
const BLIZZARD
|
||||||
PSYBEAM EQU $3C
|
const PSYBEAM
|
||||||
BUBBLEBEAM EQU $3D
|
const BUBBLEBEAM
|
||||||
AURORA_BEAM EQU $3E
|
const AURORA_BEAM
|
||||||
HYPER_BEAM EQU $3F
|
const HYPER_BEAM
|
||||||
PECK EQU $40
|
const PECK
|
||||||
DRILL_PECK EQU $41
|
const DRILL_PECK
|
||||||
SUBMISSION EQU $42
|
const SUBMISSION
|
||||||
LOW_KICK EQU $43
|
const LOW_KICK
|
||||||
COUNTER EQU $44
|
const COUNTER
|
||||||
SEISMIC_TOSS EQU $45
|
const SEISMIC_TOSS
|
||||||
STRENGTH EQU $46
|
const STRENGTH
|
||||||
ABSORB EQU $47
|
const ABSORB
|
||||||
MEGA_DRAIN EQU $48
|
const MEGA_DRAIN
|
||||||
LEECH_SEED EQU $49
|
const LEECH_SEED
|
||||||
GROWTH EQU $4A
|
const GROWTH
|
||||||
RAZOR_LEAF EQU $4B
|
const RAZOR_LEAF
|
||||||
SOLARBEAM EQU $4C
|
const SOLARBEAM
|
||||||
POISONPOWDER EQU $4D
|
const POISONPOWDER
|
||||||
STUN_SPORE EQU $4E
|
const STUN_SPORE
|
||||||
SLEEP_POWDER EQU $4F
|
const SLEEP_POWDER
|
||||||
PETAL_DANCE EQU $50
|
const PETAL_DANCE
|
||||||
STRING_SHOT EQU $51
|
const STRING_SHOT
|
||||||
DRAGON_RAGE EQU $52
|
const DRAGON_RAGE
|
||||||
FIRE_SPIN EQU $53
|
const FIRE_SPIN
|
||||||
THUNDERSHOCK EQU $54
|
const THUNDERSHOCK
|
||||||
THUNDERBOLT EQU $55
|
const THUNDERBOLT
|
||||||
THUNDER_WAVE EQU $56
|
const THUNDER_WAVE
|
||||||
THUNDER EQU $57
|
const THUNDER
|
||||||
ROCK_THROW EQU $58
|
const ROCK_THROW
|
||||||
EARTHQUAKE EQU $59
|
const EARTHQUAKE
|
||||||
FISSURE EQU $5A
|
const FISSURE
|
||||||
DIG EQU $5B
|
const DIG
|
||||||
TOXIC EQU $5C
|
const TOXIC
|
||||||
CONFUSION EQU $5D
|
const CONFUSION
|
||||||
PSYCHIC_M EQU $5E
|
const PSYCHIC_M
|
||||||
HYPNOSIS EQU $5F
|
const HYPNOSIS
|
||||||
MEDITATE EQU $60
|
const MEDITATE
|
||||||
AGILITY EQU $61
|
const AGILITY
|
||||||
QUICK_ATTACK EQU $62
|
const QUICK_ATTACK
|
||||||
RAGE EQU $63
|
const RAGE
|
||||||
TELEPORT EQU $64
|
const TELEPORT
|
||||||
NIGHT_SHADE EQU $65
|
const NIGHT_SHADE
|
||||||
MIMIC EQU $66
|
const MIMIC
|
||||||
SCREECH EQU $67
|
const SCREECH
|
||||||
DOUBLE_TEAM EQU $68
|
const DOUBLE_TEAM
|
||||||
RECOVER EQU $69
|
const RECOVER
|
||||||
HARDEN EQU $6A
|
const HARDEN
|
||||||
MINIMIZE EQU $6B
|
const MINIMIZE
|
||||||
SMOKESCREEN EQU $6C
|
const SMOKESCREEN
|
||||||
CONFUSE_RAY EQU $6D
|
const CONFUSE_RAY
|
||||||
WITHDRAW EQU $6E
|
const WITHDRAW
|
||||||
DEFENSE_CURL EQU $6F
|
const DEFENSE_CURL
|
||||||
BARRIER EQU $70
|
const BARRIER
|
||||||
LIGHT_SCREEN EQU $71
|
const LIGHT_SCREEN
|
||||||
HAZE EQU $72
|
const HAZE
|
||||||
REFLECT EQU $73
|
const REFLECT
|
||||||
FOCUS_ENERGY EQU $74
|
const FOCUS_ENERGY
|
||||||
BIDE EQU $75
|
const BIDE
|
||||||
METRONOME EQU $76
|
const METRONOME
|
||||||
MIRROR_MOVE EQU $77
|
const MIRROR_MOVE
|
||||||
SELFDESTRUCT EQU $78
|
const SELFDESTRUCT
|
||||||
EGG_BOMB EQU $79
|
const EGG_BOMB
|
||||||
LICK EQU $7A
|
const LICK
|
||||||
SMOG EQU $7B
|
const SMOG
|
||||||
SLUDGE EQU $7C
|
const SLUDGE
|
||||||
BONE_CLUB EQU $7D
|
const BONE_CLUB
|
||||||
FIRE_BLAST EQU $7E
|
const FIRE_BLAST
|
||||||
WATERFALL EQU $7F
|
const WATERFALL
|
||||||
CLAMP EQU $80
|
const CLAMP
|
||||||
SWIFT EQU $81
|
const SWIFT
|
||||||
SKULL_BASH EQU $82
|
const SKULL_BASH
|
||||||
SPIKE_CANNON EQU $83
|
const SPIKE_CANNON
|
||||||
CONSTRICT EQU $84
|
const CONSTRICT
|
||||||
AMNESIA EQU $85
|
const AMNESIA
|
||||||
KINESIS EQU $86
|
const KINESIS
|
||||||
SOFTBOILED EQU $87
|
const SOFTBOILED
|
||||||
HI_JUMP_KICK EQU $88
|
const HI_JUMP_KICK
|
||||||
GLARE EQU $89
|
const GLARE
|
||||||
DREAM_EATER EQU $8A
|
const DREAM_EATER
|
||||||
POISON_GAS EQU $8B
|
const POISON_GAS
|
||||||
BARRAGE EQU $8C
|
const BARRAGE
|
||||||
LEECH_LIFE EQU $8D
|
const LEECH_LIFE
|
||||||
LOVELY_KISS EQU $8E
|
const LOVELY_KISS
|
||||||
SKY_ATTACK EQU $8F
|
const SKY_ATTACK
|
||||||
TRANSFORM EQU $90
|
const TRANSFORM
|
||||||
BUBBLE EQU $91
|
const BUBBLE
|
||||||
DIZZY_PUNCH EQU $92
|
const DIZZY_PUNCH
|
||||||
SPORE EQU $93
|
const SPORE
|
||||||
FLASH EQU $94
|
const FLASH
|
||||||
PSYWAVE EQU $95
|
const PSYWAVE
|
||||||
SPLASH EQU $96
|
const SPLASH
|
||||||
ACID_ARMOR EQU $97
|
const ACID_ARMOR
|
||||||
CRABHAMMER EQU $98
|
const CRABHAMMER
|
||||||
EXPLOSION EQU $99
|
const EXPLOSION
|
||||||
FURY_SWIPES EQU $9A
|
const FURY_SWIPES
|
||||||
BONEMERANG EQU $9B
|
const BONEMERANG
|
||||||
REST EQU $9C
|
const REST
|
||||||
ROCK_SLIDE EQU $9D
|
const ROCK_SLIDE
|
||||||
HYPER_FANG EQU $9E
|
const HYPER_FANG
|
||||||
SHARPEN EQU $9F
|
const SHARPEN
|
||||||
CONVERSION EQU $A0
|
const CONVERSION
|
||||||
TRI_ATTACK EQU $A1
|
const TRI_ATTACK
|
||||||
SUPER_FANG EQU $A2
|
const SUPER_FANG
|
||||||
SLASH EQU $A3
|
const SLASH
|
||||||
SUBSTITUTE EQU $A4
|
const SUBSTITUTE
|
||||||
STRUGGLE EQU $A5
|
|
||||||
|
|
||||||
; these do double duty as animation identifiers
|
NUM_ATTACKS EQU const_value + -1
|
||||||
SHOWPIC_ANIM EQU $A6 ; redraw monster pic
|
|
||||||
STATUS_AFFECTED_ANIM EQU $A7 ; effect when monster receives a status aliment
|
const STRUGGLE
|
||||||
XSTATITEM_ANIM EQU $AE ; use X Attack/Defense/Speed/Special
|
|
||||||
BURN_PSN_ANIM EQU $BA ; Plays when a monster is burned or poisoned
|
; Moves do double duty as animation identifiers.
|
||||||
SLP_ANIM EQU $BD ; sleeping monster
|
|
||||||
CONF_ANIM EQU $BF ; confused monster
|
const SHOWPIC_ANIM
|
||||||
TOSS_ANIM EQU $C1 ; toss Poké Ball
|
const STATUS_AFFECTED_ANIM
|
||||||
SHAKE_ANIM EQU $C2 ; shaking Poké Ball when catching monster
|
const ANIM_A8
|
||||||
POOF_ANIM EQU $C3 ; puff of smoke
|
const ANIM_A9
|
||||||
BLOCKBALL_ANIM EQU $C4 ; trainer knocks away Poké Ball
|
const ANIM_AA
|
||||||
GREATTOSS_ANIM EQU $C5 ; toss Great Ball
|
const ANIM_AB
|
||||||
ULTRATOSS_ANIM EQU $C6 ; toss Ultra Ball or Master Ball
|
const ANIM_AC
|
||||||
HIDEPIC_ANIM EQU $C8 ; monster disappears
|
const ANIM_AD
|
||||||
ROCK_ANIM EQU $C9 ; throw rock
|
const XSTATITEM_ANIM ; use X Attack/Defense/Speed/Special
|
||||||
BAIT_ANIM EQU $CA ; throw bait
|
const ANIM_AF
|
||||||
|
const ANIM_B0
|
||||||
|
const ANIM_B1
|
||||||
|
const ANIM_B2
|
||||||
|
const ANIM_B3
|
||||||
|
const ANIM_B4
|
||||||
|
const ANIM_B5
|
||||||
|
const ANIM_B6
|
||||||
|
const ANIM_B7
|
||||||
|
const ANIM_B8
|
||||||
|
const ANIM_B9
|
||||||
|
const BURN_PSN_ANIM ; Plays when a monster is burned or poisoned
|
||||||
|
const ANIM_BB
|
||||||
|
const ANIM_BC
|
||||||
|
const SLP_ANIM ; sleeping monster
|
||||||
|
const ANIM_BE
|
||||||
|
const CONF_ANIM ; confused monster
|
||||||
|
const ANIM_C0
|
||||||
|
const TOSS_ANIM ; toss Poké Ball
|
||||||
|
const SHAKE_ANIM ; shaking Poké Ball when catching monster
|
||||||
|
const POOF_ANIM ; puff of smoke
|
||||||
|
const BLOCKBALL_ANIM ; trainer knocks away Poké Ball
|
||||||
|
const GREATTOSS_ANIM ; toss Great Ball
|
||||||
|
const ULTRATOSS_ANIM ; toss Ultra Ball or Master Ball
|
||||||
|
const ANIM_C7
|
||||||
|
const HIDEPIC_ANIM ; monster disappears
|
||||||
|
const ROCK_ANIM ; throw rock
|
||||||
|
const BAIT_ANIM ; throw bait
|
||||||
|
|
|
||||||
345
data/moves.asm
345
data/moves.asm
|
|
@ -1,168 +1,177 @@
|
||||||
Moves: ; 38000 (e:4000)
|
Moves:
|
||||||
; characteristics of each move
|
; Characteristics of each move.
|
||||||
; animation, effect, power, type, accuracy, PP
|
|
||||||
db POUND ,NO_ADDITIONAL_EFFECT ,$28,NORMAL, $FF,35
|
move: macro
|
||||||
db KARATE_CHOP ,NO_ADDITIONAL_EFFECT ,$32,NORMAL, $FF,25
|
db \1 ; animation (interchangeable with move id)
|
||||||
db DOUBLESLAP ,TWO_TO_FIVE_ATTACKS_EFFECT,$0F,NORMAL, $D8,10
|
db \2 ; effect
|
||||||
db COMET_PUNCH ,TWO_TO_FIVE_ATTACKS_EFFECT,$12,NORMAL, $D8,15
|
db \3 ; power
|
||||||
db MEGA_PUNCH ,NO_ADDITIONAL_EFFECT ,$50,NORMAL, $D8,20
|
db \4 ; type
|
||||||
db PAY_DAY ,PAY_DAY_EFFECT ,$28,NORMAL, $FF,20
|
db \5 percent ; accuracy
|
||||||
db FIRE_PUNCH ,BURN_SIDE_EFFECT1 ,$4B,FIRE, $FF,15
|
db \6 ; pp
|
||||||
db ICE_PUNCH ,FREEZE_SIDE_EFFECT ,$4B,ICE, $FF,15
|
endm
|
||||||
db THUNDERPUNCH,PARALYZE_SIDE_EFFECT1 ,$4B,ELECTRIC,$FF,15
|
|
||||||
db SCRATCH ,NO_ADDITIONAL_EFFECT ,$28,NORMAL, $FF,35
|
move POUND, NO_ADDITIONAL_EFFECT, 40, NORMAL, 100, 35
|
||||||
db VICEGRIP ,NO_ADDITIONAL_EFFECT ,$37,NORMAL, $FF,30
|
move KARATE_CHOP, NO_ADDITIONAL_EFFECT, 50, NORMAL, 100, 25
|
||||||
db GUILLOTINE ,OHKO_EFFECT ,$01,NORMAL, $4C,5
|
move DOUBLESLAP, TWO_TO_FIVE_ATTACKS_EFFECT, 15, NORMAL, 85, 10
|
||||||
db RAZOR_WIND ,CHARGE_EFFECT ,$50,NORMAL, $BF,10
|
move COMET_PUNCH, TWO_TO_FIVE_ATTACKS_EFFECT, 18, NORMAL, 85, 15
|
||||||
db SWORDS_DANCE,ATTACK_UP2_EFFECT ,$00,NORMAL, $FF,30
|
move MEGA_PUNCH, NO_ADDITIONAL_EFFECT, 80, NORMAL, 85, 20
|
||||||
db CUT ,NO_ADDITIONAL_EFFECT ,$32,NORMAL, $F2,30
|
move PAY_DAY, PAY_DAY_EFFECT, 40, NORMAL, 100, 20
|
||||||
db GUST ,NO_ADDITIONAL_EFFECT ,$28,NORMAL, $FF,35
|
move FIRE_PUNCH, BURN_SIDE_EFFECT1, 75, FIRE, 100, 15
|
||||||
db WING_ATTACK ,NO_ADDITIONAL_EFFECT ,$23,FLYING, $FF,35
|
move ICE_PUNCH, FREEZE_SIDE_EFFECT, 75, ICE, 100, 15
|
||||||
db WHIRLWIND ,SWITCH_AND_TELEPORT_EFFECT,$00,NORMAL, $D8,20
|
move THUNDERPUNCH, PARALYZE_SIDE_EFFECT1, 75, ELECTRIC, 100, 15
|
||||||
db FLY ,FLY_EFFECT ,$46,FLYING, $F2,15
|
move SCRATCH, NO_ADDITIONAL_EFFECT, 40, NORMAL, 100, 35
|
||||||
db BIND ,TRAPPING_EFFECT ,$0F,NORMAL, $BF,20
|
move VICEGRIP, NO_ADDITIONAL_EFFECT, 55, NORMAL, 100, 30
|
||||||
db SLAM ,NO_ADDITIONAL_EFFECT ,$50,NORMAL, $BF,20
|
move GUILLOTINE, OHKO_EFFECT, 1, NORMAL, 30, 5
|
||||||
db VINE_WHIP ,NO_ADDITIONAL_EFFECT ,$23,GRASS, $FF,10
|
move RAZOR_WIND, CHARGE_EFFECT, 80, NORMAL, 75, 10
|
||||||
db STOMP ,FLINCH_SIDE_EFFECT2 ,$41,NORMAL, $FF,20
|
move SWORDS_DANCE, ATTACK_UP2_EFFECT, 0, NORMAL, 100, 30
|
||||||
db DOUBLE_KICK ,ATTACK_TWICE_EFFECT ,$1E,FIGHTING,$FF,30
|
move CUT, NO_ADDITIONAL_EFFECT, 50, NORMAL, 95, 30
|
||||||
db MEGA_KICK ,NO_ADDITIONAL_EFFECT ,$78,NORMAL, $BF,5
|
move GUST, NO_ADDITIONAL_EFFECT, 40, NORMAL, 100, 35
|
||||||
db JUMP_KICK ,JUMP_KICK_EFFECT ,$46,FIGHTING,$F2,25
|
move WING_ATTACK, NO_ADDITIONAL_EFFECT, 35, FLYING, 100, 35
|
||||||
db ROLLING_KICK,FLINCH_SIDE_EFFECT2 ,$3C,FIGHTING,$D8,15
|
move WHIRLWIND, SWITCH_AND_TELEPORT_EFFECT, 0, NORMAL, 85, 20
|
||||||
db SAND_ATTACK ,ACCURACY_DOWN1_EFFECT ,$00,NORMAL, $FF,15
|
move FLY, FLY_EFFECT, 70, FLYING, 95, 15
|
||||||
db HEADBUTT ,FLINCH_SIDE_EFFECT2 ,$46,NORMAL, $FF,15
|
move BIND, TRAPPING_EFFECT, 15, NORMAL, 75, 20
|
||||||
db HORN_ATTACK ,NO_ADDITIONAL_EFFECT ,$41,NORMAL, $FF,25
|
move SLAM, NO_ADDITIONAL_EFFECT, 80, NORMAL, 75, 20
|
||||||
db FURY_ATTACK ,TWO_TO_FIVE_ATTACKS_EFFECT,$0F,NORMAL, $D8,20
|
move VINE_WHIP, NO_ADDITIONAL_EFFECT, 35, GRASS, 100, 10
|
||||||
db HORN_DRILL ,OHKO_EFFECT ,$01,NORMAL, $4C,5
|
move STOMP, FLINCH_SIDE_EFFECT2, 65, NORMAL, 100, 20
|
||||||
db TACKLE ,NO_ADDITIONAL_EFFECT ,$23,NORMAL, $F2,35
|
move DOUBLE_KICK, ATTACK_TWICE_EFFECT, 30, FIGHTING, 100, 30
|
||||||
db BODY_SLAM ,PARALYZE_SIDE_EFFECT2 ,$55,NORMAL, $FF,15
|
move MEGA_KICK, NO_ADDITIONAL_EFFECT, 120, NORMAL, 75, 5
|
||||||
db WRAP ,TRAPPING_EFFECT ,$0F,NORMAL, $D8,20
|
move JUMP_KICK, JUMP_KICK_EFFECT, 70, FIGHTING, 95, 25
|
||||||
db TAKE_DOWN ,RECOIL_EFFECT ,$5A,NORMAL, $D8,20
|
move ROLLING_KICK, FLINCH_SIDE_EFFECT2, 60, FIGHTING, 85, 15
|
||||||
db THRASH ,THRASH_PETAL_DANCE_EFFECT ,$5A,NORMAL, $FF,20
|
move SAND_ATTACK, ACCURACY_DOWN1_EFFECT, 0, NORMAL, 100, 15
|
||||||
db DOUBLE_EDGE ,RECOIL_EFFECT ,$64,NORMAL, $FF,15
|
move HEADBUTT, FLINCH_SIDE_EFFECT2, 70, NORMAL, 100, 15
|
||||||
db TAIL_WHIP ,DEFENSE_DOWN1_EFFECT ,$00,NORMAL, $FF,30
|
move HORN_ATTACK, NO_ADDITIONAL_EFFECT, 65, NORMAL, 100, 25
|
||||||
db POISON_STING,POISON_SIDE_EFFECT1 ,$0F,POISON, $FF,35
|
move FURY_ATTACK, TWO_TO_FIVE_ATTACKS_EFFECT, 15, NORMAL, 85, 20
|
||||||
db TWINEEDLE ,TWINEEDLE_EFFECT ,$19,BUG, $FF,20
|
move HORN_DRILL, OHKO_EFFECT, 1, NORMAL, 30, 5
|
||||||
db PIN_MISSILE ,TWO_TO_FIVE_ATTACKS_EFFECT,$0E,BUG, $D8,20
|
move TACKLE, NO_ADDITIONAL_EFFECT, 35, NORMAL, 95, 35
|
||||||
db LEER ,DEFENSE_DOWN1_EFFECT ,$00,NORMAL, $FF,30
|
move BODY_SLAM, PARALYZE_SIDE_EFFECT2, 85, NORMAL, 100, 15
|
||||||
db BITE ,FLINCH_SIDE_EFFECT1 ,$3C,NORMAL, $FF,25
|
move WRAP, TRAPPING_EFFECT, 15, NORMAL, 85, 20
|
||||||
db GROWL ,ATTACK_DOWN1_EFFECT ,$00,NORMAL, $FF,40
|
move TAKE_DOWN, RECOIL_EFFECT, 90, NORMAL, 85, 20
|
||||||
db ROAR ,SWITCH_AND_TELEPORT_EFFECT,$00,NORMAL, $FF,20
|
move THRASH, THRASH_PETAL_DANCE_EFFECT, 90, NORMAL, 100, 20
|
||||||
db SING ,SLEEP_EFFECT ,$00,NORMAL, $8C,15
|
move DOUBLE_EDGE, RECOIL_EFFECT, 100, NORMAL, 100, 15
|
||||||
db SUPERSONIC ,CONFUSION_EFFECT ,$00,NORMAL, $8C,20
|
move TAIL_WHIP, DEFENSE_DOWN1_EFFECT, 0, NORMAL, 100, 30
|
||||||
db SONICBOOM ,SPECIAL_DAMAGE_EFFECT ,$01,NORMAL, $E5,20
|
move POISON_STING, POISON_SIDE_EFFECT1, 15, POISON, 100, 35
|
||||||
db DISABLE ,DISABLE_EFFECT ,$00,NORMAL, $8C,20
|
move TWINEEDLE, TWINEEDLE_EFFECT, 25, BUG, 100, 20
|
||||||
db ACID ,DEFENSE_DOWN_SIDE_EFFECT ,$28,POISON, $FF,30
|
move PIN_MISSILE, TWO_TO_FIVE_ATTACKS_EFFECT, 14, BUG, 85, 20
|
||||||
db EMBER ,BURN_SIDE_EFFECT1 ,$28,FIRE, $FF,25
|
move LEER, DEFENSE_DOWN1_EFFECT, 0, NORMAL, 100, 30
|
||||||
db FLAMETHROWER,BURN_SIDE_EFFECT1 ,$5F,FIRE, $FF,15
|
move BITE, FLINCH_SIDE_EFFECT1, 60, NORMAL, 100, 25
|
||||||
db MIST ,MIST_EFFECT ,$00,ICE, $FF,30
|
move GROWL, ATTACK_DOWN1_EFFECT, 0, NORMAL, 100, 40
|
||||||
db WATER_GUN ,NO_ADDITIONAL_EFFECT ,$28,WATER, $FF,25
|
move ROAR, SWITCH_AND_TELEPORT_EFFECT, 0, NORMAL, 100, 20
|
||||||
db HYDRO_PUMP ,NO_ADDITIONAL_EFFECT ,$78,WATER, $CC,5
|
move SING, SLEEP_EFFECT, 0, NORMAL, 55, 15
|
||||||
db SURF ,NO_ADDITIONAL_EFFECT ,$5F,WATER, $FF,15
|
move SUPERSONIC, CONFUSION_EFFECT, 0, NORMAL, 55, 20
|
||||||
db ICE_BEAM ,FREEZE_SIDE_EFFECT ,$5F,ICE, $FF,10
|
move SONICBOOM, SPECIAL_DAMAGE_EFFECT, 1, NORMAL, 90, 20
|
||||||
db BLIZZARD ,FREEZE_SIDE_EFFECT ,$78,ICE, $E5,5
|
move DISABLE, DISABLE_EFFECT, 0, NORMAL, 55, 20
|
||||||
db PSYBEAM ,CONFUSION_SIDE_EFFECT ,$41,PSYCHIC, $FF,20
|
move ACID, DEFENSE_DOWN_SIDE_EFFECT, 40, POISON, 100, 30
|
||||||
db BUBBLEBEAM ,SPEED_DOWN_SIDE_EFFECT ,$41,WATER, $FF,20
|
move EMBER, BURN_SIDE_EFFECT1, 40, FIRE, 100, 25
|
||||||
db AURORA_BEAM ,ATTACK_DOWN_SIDE_EFFECT ,$41,ICE, $FF,20
|
move FLAMETHROWER, BURN_SIDE_EFFECT1, 95, FIRE, 100, 15
|
||||||
db HYPER_BEAM ,HYPER_BEAM_EFFECT ,$96,NORMAL, $E5,5
|
move MIST, MIST_EFFECT, 0, ICE, 100, 30
|
||||||
db PECK ,NO_ADDITIONAL_EFFECT ,$23,FLYING, $FF,35
|
move WATER_GUN, NO_ADDITIONAL_EFFECT, 40, WATER, 100, 25
|
||||||
db DRILL_PECK ,NO_ADDITIONAL_EFFECT ,$50,FLYING, $FF,20
|
move HYDRO_PUMP, NO_ADDITIONAL_EFFECT, 120, WATER, 80, 5
|
||||||
db SUBMISSION ,RECOIL_EFFECT ,$50,FIGHTING,$CC,25
|
move SURF, NO_ADDITIONAL_EFFECT, 95, WATER, 100, 15
|
||||||
db LOW_KICK ,FLINCH_SIDE_EFFECT2 ,$32,FIGHTING,$E5,20
|
move ICE_BEAM, FREEZE_SIDE_EFFECT, 95, ICE, 100, 10
|
||||||
db COUNTER ,NO_ADDITIONAL_EFFECT ,$01,FIGHTING,$FF,20
|
move BLIZZARD, FREEZE_SIDE_EFFECT, 120, ICE, 90, 5
|
||||||
db SEISMIC_TOSS,SPECIAL_DAMAGE_EFFECT ,$01,FIGHTING,$FF,20
|
move PSYBEAM, CONFUSION_SIDE_EFFECT, 65, PSYCHIC, 100, 20
|
||||||
db STRENGTH ,NO_ADDITIONAL_EFFECT ,$50,NORMAL, $FF,15
|
move BUBBLEBEAM, SPEED_DOWN_SIDE_EFFECT, 65, WATER, 100, 20
|
||||||
db ABSORB ,DRAIN_HP_EFFECT ,$14,GRASS, $FF,20
|
move AURORA_BEAM, ATTACK_DOWN_SIDE_EFFECT, 65, ICE, 100, 20
|
||||||
db MEGA_DRAIN ,DRAIN_HP_EFFECT ,$28,GRASS, $FF,10
|
move HYPER_BEAM, HYPER_BEAM_EFFECT, 150, NORMAL, 90, 5
|
||||||
db LEECH_SEED ,LEECH_SEED_EFFECT ,$00,GRASS, $E5,10
|
move PECK, NO_ADDITIONAL_EFFECT, 35, FLYING, 100, 35
|
||||||
db GROWTH ,SPECIAL_UP1_EFFECT ,$00,NORMAL, $FF,40
|
move DRILL_PECK, NO_ADDITIONAL_EFFECT, 80, FLYING, 100, 20
|
||||||
db RAZOR_LEAF ,NO_ADDITIONAL_EFFECT ,$37,GRASS, $F2,25
|
move SUBMISSION, RECOIL_EFFECT, 80, FIGHTING, 80, 25
|
||||||
db SOLARBEAM ,CHARGE_EFFECT ,$78,GRASS, $FF,10
|
move LOW_KICK, FLINCH_SIDE_EFFECT2, 50, FIGHTING, 90, 20
|
||||||
db POISONPOWDER,POISON_EFFECT ,$00,POISON, $BF,35
|
move COUNTER, NO_ADDITIONAL_EFFECT, 1, FIGHTING, 100, 20
|
||||||
db STUN_SPORE ,PARALYZE_EFFECT ,$00,GRASS, $BF,30
|
move SEISMIC_TOSS, SPECIAL_DAMAGE_EFFECT, 1, FIGHTING, 100, 20
|
||||||
db SLEEP_POWDER,SLEEP_EFFECT ,$00,GRASS, $BF,15
|
move STRENGTH, NO_ADDITIONAL_EFFECT, 80, NORMAL, 100, 15
|
||||||
db PETAL_DANCE ,THRASH_PETAL_DANCE_EFFECT ,$46,GRASS, $FF,20
|
move ABSORB, DRAIN_HP_EFFECT, 20, GRASS, 100, 20
|
||||||
db STRING_SHOT ,SPEED_DOWN1_EFFECT ,$00,BUG, $F2,40
|
move MEGA_DRAIN, DRAIN_HP_EFFECT, 40, GRASS, 100, 10
|
||||||
db DRAGON_RAGE ,SPECIAL_DAMAGE_EFFECT ,$01,DRAGON, $FF,10
|
move LEECH_SEED, LEECH_SEED_EFFECT, 0, GRASS, 90, 10
|
||||||
db FIRE_SPIN ,TRAPPING_EFFECT ,$0F,FIRE, $B2,15
|
move GROWTH, SPECIAL_UP1_EFFECT, 0, NORMAL, 100, 40
|
||||||
db THUNDERSHOCK,PARALYZE_SIDE_EFFECT1 ,$28,ELECTRIC,$FF,30
|
move RAZOR_LEAF, NO_ADDITIONAL_EFFECT, 55, GRASS, 95, 25
|
||||||
db THUNDERBOLT ,PARALYZE_SIDE_EFFECT1 ,$5F,ELECTRIC,$FF,15
|
move SOLARBEAM, CHARGE_EFFECT, 120, GRASS, 100, 10
|
||||||
db THUNDER_WAVE,PARALYZE_EFFECT ,$00,ELECTRIC,$FF,20
|
move POISONPOWDER, POISON_EFFECT, 0, POISON, 75, 35
|
||||||
db THUNDER ,PARALYZE_SIDE_EFFECT1 ,$78,ELECTRIC,$B2,10
|
move STUN_SPORE, PARALYZE_EFFECT, 0, GRASS, 75, 30
|
||||||
db ROCK_THROW ,NO_ADDITIONAL_EFFECT ,$32,ROCK, $A5,15
|
move SLEEP_POWDER, SLEEP_EFFECT, 0, GRASS, 75, 15
|
||||||
db EARTHQUAKE ,NO_ADDITIONAL_EFFECT ,$64,GROUND, $FF,10
|
move PETAL_DANCE, THRASH_PETAL_DANCE_EFFECT, 70, GRASS, 100, 20
|
||||||
db FISSURE ,OHKO_EFFECT ,$01,GROUND, $4C,5
|
move STRING_SHOT, SPEED_DOWN1_EFFECT, 0, BUG, 95, 40
|
||||||
db DIG ,CHARGE_EFFECT ,$64,GROUND, $FF,10
|
move DRAGON_RAGE, SPECIAL_DAMAGE_EFFECT, 1, DRAGON, 100, 10
|
||||||
db TOXIC ,POISON_EFFECT ,$00,POISON, $D8,10
|
move FIRE_SPIN, TRAPPING_EFFECT, 15, FIRE, 70, 15
|
||||||
db CONFUSION ,CONFUSION_SIDE_EFFECT ,$32,PSYCHIC, $FF,25
|
move THUNDERSHOCK, PARALYZE_SIDE_EFFECT1, 40, ELECTRIC, 100, 30
|
||||||
db PSYCHIC_M ,SPECIAL_DOWN_SIDE_EFFECT ,$5A,PSYCHIC, $FF,10
|
move THUNDERBOLT, PARALYZE_SIDE_EFFECT1, 95, ELECTRIC, 100, 15
|
||||||
db HYPNOSIS ,SLEEP_EFFECT ,$00,PSYCHIC, $99,20
|
move THUNDER_WAVE, PARALYZE_EFFECT, 0, ELECTRIC, 100, 20
|
||||||
db MEDITATE ,ATTACK_UP1_EFFECT ,$00,PSYCHIC, $FF,40
|
move THUNDER, PARALYZE_SIDE_EFFECT1, 120, ELECTRIC, 70, 10
|
||||||
db AGILITY ,SPEED_UP2_EFFECT ,$00,PSYCHIC, $FF,30
|
move ROCK_THROW, NO_ADDITIONAL_EFFECT, 50, ROCK, 65, 15
|
||||||
db QUICK_ATTACK,NO_ADDITIONAL_EFFECT ,$28,NORMAL, $FF,30
|
move EARTHQUAKE, NO_ADDITIONAL_EFFECT, 100, GROUND, 100, 10
|
||||||
db RAGE ,RAGE_EFFECT ,$14,NORMAL, $FF,20
|
move FISSURE, OHKO_EFFECT, 1, GROUND, 30, 5
|
||||||
db TELEPORT ,SWITCH_AND_TELEPORT_EFFECT,$00,PSYCHIC, $FF,20
|
move DIG, CHARGE_EFFECT, 100, GROUND, 100, 10
|
||||||
db NIGHT_SHADE ,SPECIAL_DAMAGE_EFFECT ,$00,GHOST, $FF,15
|
move TOXIC, POISON_EFFECT, 0, POISON, 85, 10
|
||||||
db MIMIC ,MIMIC_EFFECT ,$00,NORMAL, $FF,10
|
move CONFUSION, CONFUSION_SIDE_EFFECT, 50, PSYCHIC, 100, 25
|
||||||
db SCREECH ,DEFENSE_DOWN2_EFFECT ,$00,NORMAL, $D8,40
|
move PSYCHIC_M, SPECIAL_DOWN_SIDE_EFFECT, 90, PSYCHIC, 100, 10
|
||||||
db DOUBLE_TEAM ,EVASION_UP1_EFFECT ,$00,NORMAL, $FF,15
|
move HYPNOSIS, SLEEP_EFFECT, 0, PSYCHIC, 60, 20
|
||||||
db RECOVER ,HEAL_EFFECT ,$00,NORMAL, $FF,20
|
move MEDITATE, ATTACK_UP1_EFFECT, 0, PSYCHIC, 100, 40
|
||||||
db HARDEN ,DEFENSE_UP1_EFFECT ,$00,NORMAL, $FF,30
|
move AGILITY, SPEED_UP2_EFFECT, 0, PSYCHIC, 100, 30
|
||||||
db MINIMIZE ,EVASION_UP1_EFFECT ,$00,NORMAL, $FF,20
|
move QUICK_ATTACK, NO_ADDITIONAL_EFFECT, 40, NORMAL, 100, 30
|
||||||
db SMOKESCREEN ,ACCURACY_DOWN1_EFFECT ,$00,NORMAL, $FF,20
|
move RAGE, RAGE_EFFECT, 20, NORMAL, 100, 20
|
||||||
db CONFUSE_RAY ,CONFUSION_EFFECT ,$00,GHOST, $FF,10
|
move TELEPORT, SWITCH_AND_TELEPORT_EFFECT, 0, PSYCHIC, 100, 20
|
||||||
db WITHDRAW ,DEFENSE_UP1_EFFECT ,$00,WATER, $FF,40
|
move NIGHT_SHADE, SPECIAL_DAMAGE_EFFECT, 0, GHOST, 100, 15
|
||||||
db DEFENSE_CURL,DEFENSE_UP1_EFFECT ,$00,NORMAL, $FF,40
|
move MIMIC, MIMIC_EFFECT, 0, NORMAL, 100, 10
|
||||||
db BARRIER ,DEFENSE_UP2_EFFECT ,$00,PSYCHIC, $FF,30
|
move SCREECH, DEFENSE_DOWN2_EFFECT, 0, NORMAL, 85, 40
|
||||||
db LIGHT_SCREEN,LIGHT_SCREEN_EFFECT ,$00,PSYCHIC, $FF,30
|
move DOUBLE_TEAM, EVASION_UP1_EFFECT, 0, NORMAL, 100, 15
|
||||||
db HAZE ,HAZE_EFFECT ,$00,ICE, $FF,30
|
move RECOVER, HEAL_EFFECT, 0, NORMAL, 100, 20
|
||||||
db REFLECT ,REFLECT_EFFECT ,$00,PSYCHIC, $FF,20
|
move HARDEN, DEFENSE_UP1_EFFECT, 0, NORMAL, 100, 30
|
||||||
db FOCUS_ENERGY,FOCUS_ENERGY_EFFECT ,$00,NORMAL, $FF,30
|
move MINIMIZE, EVASION_UP1_EFFECT, 0, NORMAL, 100, 20
|
||||||
db BIDE ,BIDE_EFFECT ,$00,NORMAL, $FF,10
|
move SMOKESCREEN, ACCURACY_DOWN1_EFFECT, 0, NORMAL, 100, 20
|
||||||
db METRONOME ,METRONOME_EFFECT ,$00,NORMAL, $FF,10
|
move CONFUSE_RAY, CONFUSION_EFFECT, 0, GHOST, 100, 10
|
||||||
db MIRROR_MOVE ,MIRROR_MOVE_EFFECT ,$00,FLYING, $FF,20
|
move WITHDRAW, DEFENSE_UP1_EFFECT, 0, WATER, 100, 40
|
||||||
db SELFDESTRUCT,EXPLODE_EFFECT ,$82,NORMAL, $FF,5
|
move DEFENSE_CURL, DEFENSE_UP1_EFFECT, 0, NORMAL, 100, 40
|
||||||
db EGG_BOMB ,NO_ADDITIONAL_EFFECT ,$64,NORMAL, $BF,10
|
move BARRIER, DEFENSE_UP2_EFFECT, 0, PSYCHIC, 100, 30
|
||||||
db LICK ,PARALYZE_SIDE_EFFECT2 ,$14,GHOST, $FF,30
|
move LIGHT_SCREEN, LIGHT_SCREEN_EFFECT, 0, PSYCHIC, 100, 30
|
||||||
db SMOG ,POISON_SIDE_EFFECT2 ,$14,POISON, $B2,20
|
move HAZE, HAZE_EFFECT, 0, ICE, 100, 30
|
||||||
db SLUDGE ,POISON_SIDE_EFFECT2 ,$41,POISON, $FF,20
|
move REFLECT, REFLECT_EFFECT, 0, PSYCHIC, 100, 20
|
||||||
db BONE_CLUB ,FLINCH_SIDE_EFFECT1 ,$41,GROUND, $D8,20
|
move FOCUS_ENERGY, FOCUS_ENERGY_EFFECT, 0, NORMAL, 100, 30
|
||||||
db FIRE_BLAST ,BURN_SIDE_EFFECT2 ,$78,FIRE, $D8,5
|
move BIDE, BIDE_EFFECT, 0, NORMAL, 100, 10
|
||||||
db WATERFALL ,NO_ADDITIONAL_EFFECT ,$50,WATER, $FF,15
|
move METRONOME, METRONOME_EFFECT, 0, NORMAL, 100, 10
|
||||||
db CLAMP ,TRAPPING_EFFECT ,$23,WATER, $BF,10
|
move MIRROR_MOVE, MIRROR_MOVE_EFFECT, 0, FLYING, 100, 20
|
||||||
db SWIFT ,SWIFT_EFFECT ,$3C,NORMAL, $FF,20
|
move SELFDESTRUCT, EXPLODE_EFFECT, 130, NORMAL, 100, 5
|
||||||
db SKULL_BASH ,CHARGE_EFFECT ,$64,NORMAL, $FF,15
|
move EGG_BOMB, NO_ADDITIONAL_EFFECT, 100, NORMAL, 75, 10
|
||||||
db SPIKE_CANNON,TWO_TO_FIVE_ATTACKS_EFFECT,$14,NORMAL, $FF,15
|
move LICK, PARALYZE_SIDE_EFFECT2, 20, GHOST, 100, 30
|
||||||
db CONSTRICT ,SPEED_DOWN_SIDE_EFFECT ,$0A,NORMAL, $FF,35
|
move SMOG, POISON_SIDE_EFFECT2, 20, POISON, 70, 20
|
||||||
db AMNESIA ,SPECIAL_UP2_EFFECT ,$00,PSYCHIC, $FF,20
|
move SLUDGE, POISON_SIDE_EFFECT2, 65, POISON, 100, 20
|
||||||
db KINESIS ,ACCURACY_DOWN1_EFFECT ,$00,PSYCHIC, $CC,15
|
move BONE_CLUB, FLINCH_SIDE_EFFECT1, 65, GROUND, 85, 20
|
||||||
db SOFTBOILED ,HEAL_EFFECT ,$00,NORMAL, $FF,10
|
move FIRE_BLAST, BURN_SIDE_EFFECT2, 120, FIRE, 85, 5
|
||||||
db HI_JUMP_KICK,JUMP_KICK_EFFECT ,$55,FIGHTING,$E5,20
|
move WATERFALL, NO_ADDITIONAL_EFFECT, 80, WATER, 100, 15
|
||||||
db GLARE ,PARALYZE_EFFECT ,$00,NORMAL, $BF,30
|
move CLAMP, TRAPPING_EFFECT, 35, WATER, 75, 10
|
||||||
db DREAM_EATER ,DREAM_EATER_EFFECT ,$64,PSYCHIC, $FF,15
|
move SWIFT, SWIFT_EFFECT, 60, NORMAL, 100, 20
|
||||||
db POISON_GAS ,POISON_EFFECT ,$00,POISON, $8C,40
|
move SKULL_BASH, CHARGE_EFFECT, 100, NORMAL, 100, 15
|
||||||
db BARRAGE ,TWO_TO_FIVE_ATTACKS_EFFECT,$0F,NORMAL, $D8,20
|
move SPIKE_CANNON, TWO_TO_FIVE_ATTACKS_EFFECT, 20, NORMAL, 100, 15
|
||||||
db LEECH_LIFE ,DRAIN_HP_EFFECT ,$14,BUG, $FF,15
|
move CONSTRICT, SPEED_DOWN_SIDE_EFFECT, 10, NORMAL, 100, 35
|
||||||
db LOVELY_KISS ,SLEEP_EFFECT ,$00,NORMAL, $BF,10
|
move AMNESIA, SPECIAL_UP2_EFFECT, 0, PSYCHIC, 100, 20
|
||||||
db SKY_ATTACK ,CHARGE_EFFECT ,$8C,FLYING, $E5,5
|
move KINESIS, ACCURACY_DOWN1_EFFECT, 0, PSYCHIC, 80, 15
|
||||||
db TRANSFORM ,TRANSFORM_EFFECT ,$00,NORMAL, $FF,10
|
move SOFTBOILED, HEAL_EFFECT, 0, NORMAL, 100, 10
|
||||||
db BUBBLE ,SPEED_DOWN_SIDE_EFFECT ,$14,WATER, $FF,30
|
move HI_JUMP_KICK, JUMP_KICK_EFFECT, 85, FIGHTING, 90, 20
|
||||||
db DIZZY_PUNCH ,NO_ADDITIONAL_EFFECT ,$46,NORMAL, $FF,10
|
move GLARE, PARALYZE_EFFECT, 0, NORMAL, 75, 30
|
||||||
db SPORE ,SLEEP_EFFECT ,$00,GRASS, $FF,15
|
move DREAM_EATER, DREAM_EATER_EFFECT, 100, PSYCHIC, 100, 15
|
||||||
db FLASH ,ACCURACY_DOWN1_EFFECT ,$00,NORMAL, $B2,20
|
move POISON_GAS, POISON_EFFECT, 0, POISON, 55, 40
|
||||||
db PSYWAVE ,SPECIAL_DAMAGE_EFFECT ,$01,PSYCHIC, $CC,15
|
move BARRAGE, TWO_TO_FIVE_ATTACKS_EFFECT, 15, NORMAL, 85, 20
|
||||||
db SPLASH ,SPLASH_EFFECT ,$00,NORMAL, $FF,40
|
move LEECH_LIFE, DRAIN_HP_EFFECT, 20, BUG, 100, 15
|
||||||
db ACID_ARMOR ,DEFENSE_UP2_EFFECT ,$00,POISON, $FF,40
|
move LOVELY_KISS, SLEEP_EFFECT, 0, NORMAL, 75, 10
|
||||||
db CRABHAMMER ,NO_ADDITIONAL_EFFECT ,$5A,WATER, $D8,10
|
move SKY_ATTACK, CHARGE_EFFECT, 140, FLYING, 90, 5
|
||||||
db EXPLOSION ,EXPLODE_EFFECT ,$AA,NORMAL, $FF,5
|
move TRANSFORM, TRANSFORM_EFFECT, 0, NORMAL, 100, 10
|
||||||
db FURY_SWIPES ,TWO_TO_FIVE_ATTACKS_EFFECT,$12,NORMAL, $CC,15
|
move BUBBLE, SPEED_DOWN_SIDE_EFFECT, 20, WATER, 100, 30
|
||||||
db BONEMERANG ,ATTACK_TWICE_EFFECT ,$32,GROUND, $E5,10
|
move DIZZY_PUNCH, NO_ADDITIONAL_EFFECT, 70, NORMAL, 100, 10
|
||||||
db REST ,HEAL_EFFECT ,$00,PSYCHIC, $FF,10
|
move SPORE, SLEEP_EFFECT, 0, GRASS, 100, 15
|
||||||
db ROCK_SLIDE ,NO_ADDITIONAL_EFFECT ,$4B,ROCK, $E5,10
|
move FLASH, ACCURACY_DOWN1_EFFECT, 0, NORMAL, 70, 20
|
||||||
db HYPER_FANG ,FLINCH_SIDE_EFFECT1 ,$50,NORMAL, $E5,15
|
move PSYWAVE, SPECIAL_DAMAGE_EFFECT, 1, PSYCHIC, 80, 15
|
||||||
db SHARPEN ,ATTACK_UP1_EFFECT ,$00,NORMAL, $FF,30
|
move SPLASH, SPLASH_EFFECT, 0, NORMAL, 100, 40
|
||||||
db CONVERSION ,CONVERSION_EFFECT ,$00,NORMAL, $FF,30
|
move ACID_ARMOR, DEFENSE_UP2_EFFECT, 0, POISON, 100, 40
|
||||||
db TRI_ATTACK ,NO_ADDITIONAL_EFFECT ,$50,NORMAL, $FF,10
|
move CRABHAMMER, NO_ADDITIONAL_EFFECT, 90, WATER, 85, 10
|
||||||
db SUPER_FANG ,SUPER_FANG_EFFECT ,$01,NORMAL, $E5,10
|
move EXPLOSION, EXPLODE_EFFECT, 170, NORMAL, 100, 5
|
||||||
db SLASH ,NO_ADDITIONAL_EFFECT ,$46,NORMAL, $FF,20
|
move FURY_SWIPES, TWO_TO_FIVE_ATTACKS_EFFECT, 18, NORMAL, 80, 15
|
||||||
db SUBSTITUTE ,SUBSTITUTE_EFFECT ,$00,NORMAL, $FF,10
|
move BONEMERANG, ATTACK_TWICE_EFFECT, 50, GROUND, 90, 10
|
||||||
db STRUGGLE ,RECOIL_EFFECT ,$32,NORMAL, $FF,10
|
move REST, HEAL_EFFECT, 0, PSYCHIC, 100, 10
|
||||||
|
move ROCK_SLIDE, NO_ADDITIONAL_EFFECT, 75, ROCK, 90, 10
|
||||||
|
move HYPER_FANG, FLINCH_SIDE_EFFECT1, 80, NORMAL, 90, 15
|
||||||
|
move SHARPEN, ATTACK_UP1_EFFECT, 0, NORMAL, 100, 30
|
||||||
|
move CONVERSION, CONVERSION_EFFECT, 0, NORMAL, 100, 30
|
||||||
|
move TRI_ATTACK, NO_ADDITIONAL_EFFECT, 80, NORMAL, 100, 10
|
||||||
|
move SUPER_FANG, SUPER_FANG_EFFECT, 1, NORMAL, 90, 10
|
||||||
|
move SLASH, NO_ADDITIONAL_EFFECT, 70, NORMAL, 100, 20
|
||||||
|
move SUBSTITUTE, SUBSTITUTE_EFFECT, 0, NORMAL, 100, 10
|
||||||
|
move STRUGGLE, RECOIL_EFFECT, 50, NORMAL, 100, 10
|
||||||
|
|
|
||||||
|
|
@ -391,7 +391,7 @@ GetTrainerName_: ; 13a58 (4:7a58)
|
||||||
ld [wd0b5], a
|
ld [wd0b5], a
|
||||||
ld a, TRAINER_NAME
|
ld a, TRAINER_NAME
|
||||||
ld [W_LISTTYPE], a
|
ld [W_LISTTYPE], a
|
||||||
ld a, $e
|
ld a, BANK(TrainerNames)
|
||||||
ld [wPredefBank], a
|
ld [wPredefBank], a
|
||||||
call GetName
|
call GetName
|
||||||
ld hl, wcd6d
|
ld hl, wcd6d
|
||||||
|
|
|
||||||
|
|
@ -525,9 +525,9 @@ Func_78e23: ; 78e23 (1e:4e23)
|
||||||
ld [wcc79], a
|
ld [wcc79], a
|
||||||
ld b, $e4
|
ld b, $e4
|
||||||
ld a, [W_ANIMATIONID] ; W_ANIMATIONID
|
ld a, [W_ANIMATIONID] ; W_ANIMATIONID
|
||||||
cp $aa
|
cp ANIM_AA
|
||||||
jr c, .asm_78e3f
|
jr c, .asm_78e3f
|
||||||
cp $ae
|
cp ANIM_AD + 1
|
||||||
jr nc, .asm_78e3f
|
jr nc, .asm_78e3f
|
||||||
ld b, $f0
|
ld b, $f0
|
||||||
.asm_78e3f
|
.asm_78e3f
|
||||||
|
|
@ -697,13 +697,13 @@ AnimationIdSpecialEffects: ; 78ef5 (1e:4ef5)
|
||||||
db ROCK_SLIDE
|
db ROCK_SLIDE
|
||||||
dw DoRockSlideSpecialEffects
|
dw DoRockSlideSpecialEffects
|
||||||
|
|
||||||
db $AA
|
db ANIM_AA
|
||||||
dw Func_79041
|
dw Func_79041
|
||||||
|
|
||||||
db $AB
|
db ANIM_AB
|
||||||
dw Func_7904c
|
dw Func_7904c
|
||||||
|
|
||||||
db $AC
|
db ANIM_AC
|
||||||
dw Func_7907c
|
dw Func_7907c
|
||||||
|
|
||||||
db TOSS_ANIM
|
db TOSS_ANIM
|
||||||
|
|
@ -2855,10 +2855,10 @@ TossBallAnimation: ; 79e16 (1e:5e16)
|
||||||
|
|
||||||
.PokeBallAnimations: ; 79e50 (1e:5e50)
|
.PokeBallAnimations: ; 79e50 (1e:5e50)
|
||||||
; sequence of animations that make up the Poké Ball toss
|
; sequence of animations that make up the Poké Ball toss
|
||||||
db POOF_ANIM,HIDEPIC_ANIM,$C2,POOF_ANIM,SHOWPIC_ANIM
|
db POOF_ANIM,HIDEPIC_ANIM,SHAKE_ANIM,POOF_ANIM,SHOWPIC_ANIM
|
||||||
|
|
||||||
.BlockBall ; 5E55
|
.BlockBall ; 5E55
|
||||||
ld a,$C1
|
ld a,TOSS_ANIM
|
||||||
ld [W_ANIMATIONID],a
|
ld [W_ANIMATIONID],a
|
||||||
call PlayAnimation
|
call PlayAnimation
|
||||||
ld a,(SFX_08_43 - SFX_Headers_08) / 3
|
ld a,(SFX_08_43 - SFX_Headers_08) / 3
|
||||||
|
|
|
||||||
|
|
@ -2184,7 +2184,9 @@ asm_3d00e: ; 3d00e (f:500e)
|
||||||
jr Func_3d03c
|
jr Func_3d03c
|
||||||
|
|
||||||
OldManItemList: ; 3d02d (f:502d)
|
OldManItemList: ; 3d02d (f:502d)
|
||||||
db $01, POKE_BALL, 50, $ff
|
db 1 ; # items
|
||||||
|
db POKE_BALL, 50
|
||||||
|
db -1
|
||||||
|
|
||||||
Func_3d031
|
Func_3d031
|
||||||
ld hl, wNumBagItems ; wNumBagItems
|
ld hl, wNumBagItems ; wNumBagItems
|
||||||
|
|
@ -5471,7 +5473,7 @@ asm_3e70b: ; 3e70b (f:670b)
|
||||||
res 6, [hl] ; no longer invulnerable to typcial attacks
|
res 6, [hl] ; no longer invulnerable to typcial attacks
|
||||||
ld a, [W_ENEMYMOVENUM] ; W_ENEMYMOVENUM
|
ld a, [W_ENEMYMOVENUM] ; W_ENEMYMOVENUM
|
||||||
ld [wd0b5], a
|
ld [wd0b5], a
|
||||||
ld a, $2c
|
ld a, BANK(MoveNames)
|
||||||
ld [wPredefBank], a
|
ld [wPredefBank], a
|
||||||
ld a, MOVE_NAME
|
ld a, MOVE_NAME
|
||||||
ld [W_LISTTYPE], a
|
ld [W_LISTTYPE], a
|
||||||
|
|
@ -5950,10 +5952,11 @@ GetCurrentMove: ; 3eabe (f:6abe)
|
||||||
call AddNTimes
|
call AddNTimes
|
||||||
ld a, BANK(Moves)
|
ld a, BANK(Moves)
|
||||||
call FarCopyData
|
call FarCopyData
|
||||||
ld a, $2c
|
|
||||||
|
ld a, BANK(MoveNames)
|
||||||
ld [wPredefBank], a
|
ld [wPredefBank], a
|
||||||
ld a, $2
|
ld a, MOVE_NAME
|
||||||
ld [W_LISTTYPE], a ; list type 2 = move name
|
ld [W_LISTTYPE], a
|
||||||
call GetName
|
call GetName
|
||||||
ld de, wcd6d
|
ld de, wcd6d
|
||||||
jp CopyStringToCF4B
|
jp CopyStringToCF4B
|
||||||
|
|
@ -7059,16 +7062,16 @@ PoisonEffect: ; 3f24f (f:724f)
|
||||||
dec de
|
dec de
|
||||||
ld a, [H_WHOSETURN] ; $fff3
|
ld a, [H_WHOSETURN] ; $fff3
|
||||||
and a
|
and a
|
||||||
ld b, $c7
|
ld b, ANIM_C7
|
||||||
ld hl, W_PLAYERBATTSTATUS3 ; W_PLAYERBATTSTATUS3
|
ld hl, W_PLAYERBATTSTATUS3 ; W_PLAYERBATTSTATUS3
|
||||||
ld a, [de]
|
ld a, [de]
|
||||||
ld de, W_PLAYERTOXICCOUNTER ; wd06c
|
ld de, W_PLAYERTOXICCOUNTER ; wd06c
|
||||||
jr nz, .asm_3f2b0
|
jr nz, .asm_3f2b0
|
||||||
ld b, $a9
|
ld b, ANIM_A9
|
||||||
ld hl, W_ENEMYBATTSTATUS3 ; W_ENEMYBATTSTATUS3
|
ld hl, W_ENEMYBATTSTATUS3 ; W_ENEMYBATTSTATUS3
|
||||||
ld de, W_ENEMYTOXICCOUNTER ; wd071
|
ld de, W_ENEMYTOXICCOUNTER ; wd071
|
||||||
.asm_3f2b0
|
.asm_3f2b0
|
||||||
cp $5c
|
cp TOXIC
|
||||||
jr nz, .asm_3f2bd
|
jr nz, .asm_3f2bd
|
||||||
set 0, [hl]
|
set 0, [hl]
|
||||||
xor a
|
xor a
|
||||||
|
|
@ -7170,14 +7173,14 @@ FreezeBurnParalyzeEffect: ; 3f30c (f:730c)
|
||||||
ld a, 1 << PAR
|
ld a, 1 << PAR
|
||||||
ld [wEnemyMonStatus], a
|
ld [wEnemyMonStatus], a
|
||||||
call Func_3ed27 ;quarter speed of affected monster
|
call Func_3ed27 ;quarter speed of affected monster
|
||||||
ld a, $a9
|
ld a, ANIM_A9
|
||||||
call Func_3fbb9 ;animation
|
call Func_3fbb9 ;animation
|
||||||
jp PrintMayNotAttackText ;print paralysis text
|
jp PrintMayNotAttackText ;print paralysis text
|
||||||
.burn
|
.burn
|
||||||
ld a, 1 << BRN
|
ld a, 1 << BRN
|
||||||
ld [wEnemyMonStatus], a
|
ld [wEnemyMonStatus], a
|
||||||
call Func_3ed64
|
call Func_3ed64
|
||||||
ld a, $a9
|
ld a, ANIM_A9
|
||||||
call Func_3fbb9 ;animation
|
call Func_3fbb9 ;animation
|
||||||
ld hl, BurnedText
|
ld hl, BurnedText
|
||||||
jp PrintText
|
jp PrintText
|
||||||
|
|
@ -7185,7 +7188,7 @@ FreezeBurnParalyzeEffect: ; 3f30c (f:730c)
|
||||||
call Func_3f9cf ;resets bit 5 of the D063/D068 flags
|
call Func_3f9cf ;resets bit 5 of the D063/D068 flags
|
||||||
ld a, 1 << FRZ
|
ld a, 1 << FRZ
|
||||||
ld [wEnemyMonStatus], a
|
ld [wEnemyMonStatus], a
|
||||||
ld a, $a9
|
ld a, ANIM_A9
|
||||||
call Func_3fbb9 ;animation
|
call Func_3fbb9 ;animation
|
||||||
ld hl, FrozenText
|
ld hl, FrozenText
|
||||||
jp PrintText
|
jp PrintText
|
||||||
|
|
@ -7723,7 +7726,7 @@ BideEffect: ; 3f6e5 (f:76e5)
|
||||||
inc a
|
inc a
|
||||||
ld [bc], a
|
ld [bc], a
|
||||||
ld a, [H_WHOSETURN]
|
ld a, [H_WHOSETURN]
|
||||||
add $ae
|
add XSTATITEM_ANIM
|
||||||
jp Func_3fb96
|
jp Func_3fb96
|
||||||
|
|
||||||
ThrashPetalDanceEffect: ; 3f717 (f:7717)
|
ThrashPetalDanceEffect: ; 3f717 (f:7717)
|
||||||
|
|
@ -7742,7 +7745,7 @@ ThrashPetalDanceEffect: ; 3f717 (f:7717)
|
||||||
inc a
|
inc a
|
||||||
ld [de], a
|
ld [de], a
|
||||||
ld a, [H_WHOSETURN] ; $fff3
|
ld a, [H_WHOSETURN] ; $fff3
|
||||||
add $b0
|
add ANIM_B0
|
||||||
jp Func_3fb96
|
jp Func_3fb96
|
||||||
|
|
||||||
SwitchAndTeleportEffect: ; 3f739 (f:7739)
|
SwitchAndTeleportEffect: ; 3f739 (f:7739)
|
||||||
|
|
@ -7938,11 +7941,11 @@ ChargeEffect: ; 3f88c (f:788c)
|
||||||
ld de, W_PLAYERMOVEEFFECT ; wcfd3
|
ld de, W_PLAYERMOVEEFFECT ; wcfd3
|
||||||
ld a, [H_WHOSETURN] ; $fff3
|
ld a, [H_WHOSETURN] ; $fff3
|
||||||
and a
|
and a
|
||||||
ld b, $ae
|
ld b, XSTATITEM_ANIM
|
||||||
jr z, .asm_3f8a1
|
jr z, .asm_3f8a1
|
||||||
ld hl, W_ENEMYBATTSTATUS1 ; W_ENEMYBATTSTATUS1
|
ld hl, W_ENEMYBATTSTATUS1 ; W_ENEMYBATTSTATUS1
|
||||||
ld de, W_ENEMYMOVEEFFECT ; W_ENEMYMOVEEFFECT
|
ld de, W_ENEMYMOVEEFFECT ; W_ENEMYMOVEEFFECT
|
||||||
ld b, $af
|
ld b, ANIM_AF
|
||||||
.asm_3f8a1
|
.asm_3f8a1
|
||||||
set 4, [hl]
|
set 4, [hl]
|
||||||
ld a, [de]
|
ld a, [de]
|
||||||
|
|
@ -7950,13 +7953,13 @@ ChargeEffect: ; 3f88c (f:788c)
|
||||||
cp FLY_EFFECT
|
cp FLY_EFFECT
|
||||||
jr nz, .asm_3f8ad
|
jr nz, .asm_3f8ad
|
||||||
set 6, [hl] ; mon is now invulnerable to typical attacks (fly/dig)
|
set 6, [hl] ; mon is now invulnerable to typical attacks (fly/dig)
|
||||||
ld b, $64
|
ld b, TELEPORT
|
||||||
.asm_3f8ad
|
.asm_3f8ad
|
||||||
ld a, [de]
|
ld a, [de]
|
||||||
cp DIG
|
cp DIG
|
||||||
jr nz, .asm_3f8b6
|
jr nz, .asm_3f8b6
|
||||||
set 6, [hl] ; mon is now invulnerable to typical attacks (fly/dig)
|
set 6, [hl] ; mon is now invulnerable to typical attacks (fly/dig)
|
||||||
ld b, $c0
|
ld b, ANIM_C0
|
||||||
.asm_3f8b6
|
.asm_3f8b6
|
||||||
xor a
|
xor a
|
||||||
ld [wcc5b], a
|
ld [wcc5b], a
|
||||||
|
|
|
||||||
|
|
@ -587,7 +587,7 @@ Func_39b87: ; 39b87 (e:5b87)
|
||||||
jr z, .asm_39bc1
|
jr z, .asm_39bc1
|
||||||
push hl
|
push hl
|
||||||
ld [wd0b5], a
|
ld [wd0b5], a
|
||||||
ld a, $2c
|
ld a, BANK(MoveNames)
|
||||||
ld [wPredefBank], a
|
ld [wPredefBank], a
|
||||||
ld a, MOVE_NAME
|
ld a, MOVE_NAME
|
||||||
ld [W_LISTTYPE], a
|
ld [W_LISTTYPE], a
|
||||||
|
|
@ -1407,14 +1407,14 @@ SetupEnemyPartyPokeballs: ; 3a887 (e:6887)
|
||||||
ld [hl], $20
|
ld [hl], $20
|
||||||
ld a, $f8
|
ld a, $f8
|
||||||
ld [wTrainerEngageDistance], a
|
ld [wTrainerEngageDistance], a
|
||||||
ld hl, wOAMBuffer + $18
|
ld hl, wOAMBuffer + PARTY_LENGTH * 4
|
||||||
jp Func_3a8e1
|
jp Func_3a8e1
|
||||||
|
|
||||||
SetupPokeballs: ; 0x3a8a6
|
SetupPokeballs: ; 0x3a8a6
|
||||||
ld a, [de]
|
ld a, [de]
|
||||||
push af
|
push af
|
||||||
ld de, wBuffer
|
ld de, wBuffer
|
||||||
ld c, $6 ; max num of partymons
|
ld c, PARTY_LENGTH
|
||||||
ld a, $34 ; empty pokeball
|
ld a, $34 ; empty pokeball
|
||||||
.emptyloop
|
.emptyloop
|
||||||
ld [de], a
|
ld [de], a
|
||||||
|
|
@ -1462,7 +1462,7 @@ PickPokeball: ; 3a8c2 (e:68c2)
|
||||||
|
|
||||||
Func_3a8e1: ; 3a8e1 (e:68e1)
|
Func_3a8e1: ; 3a8e1 (e:68e1)
|
||||||
ld de, wHPBarMaxHP
|
ld de, wHPBarMaxHP
|
||||||
ld c, $6
|
ld c, PARTY_LENGTH
|
||||||
.asm_3a8e6
|
.asm_3a8e6
|
||||||
ld a, [W_BASECOORDY] ; wd082
|
ld a, [W_BASECOORDY] ; wd082
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
|
|
|
||||||
|
|
@ -537,7 +537,7 @@ TradeCenter_SelectMon:
|
||||||
ld [wTileMap + $141], a
|
ld [wTileMap + $141], a
|
||||||
.asm_574a
|
.asm_574a
|
||||||
call JoypadLowSensitivity
|
call JoypadLowSensitivity
|
||||||
ld a, [$ffb5]
|
ld a, [hJoy5]
|
||||||
and a
|
and a
|
||||||
jr z, .asm_574a ; 0x5750 $f8
|
jr z, .asm_574a ; 0x5750 $f8
|
||||||
bit 0, a
|
bit 0, a
|
||||||
|
|
@ -896,7 +896,7 @@ Func_5a5f: ; 5a5f (1:5a5f)
|
||||||
ld [W_GRASSRATE], a ; W_GRASSRATE
|
ld [W_GRASSRATE], a ; W_GRASSRATE
|
||||||
inc a
|
inc a
|
||||||
ld [W_ISLINKBATTLE], a ; W_ISLINKBATTLE
|
ld [W_ISLINKBATTLE], a ; W_ISLINKBATTLE
|
||||||
ld [$ffb5], a
|
ld [hJoy5], a
|
||||||
ld a, $a
|
ld a, $a
|
||||||
ld [wMusicHeaderPointer], a
|
ld [wMusicHeaderPointer], a
|
||||||
ld a, BANK(Music_Celadon)
|
ld a, BANK(Music_Celadon)
|
||||||
|
|
|
||||||
|
|
@ -140,7 +140,7 @@ asm_7befa: ; 7befa (1e:7efa)
|
||||||
call DelayFrame
|
call DelayFrame
|
||||||
push bc
|
push bc
|
||||||
call JoypadLowSensitivity
|
call JoypadLowSensitivity
|
||||||
ld a, [$ffb5]
|
ld a, [hJoy5]
|
||||||
pop bc
|
pop bc
|
||||||
and $2
|
and $2
|
||||||
jr nz, .asm_7bf0d
|
jr nz, .asm_7bf0d
|
||||||
|
|
|
||||||
|
|
@ -135,7 +135,7 @@ Func_3ad71: ; 3ad71 (e:6d71)
|
||||||
ld [wHPBarMaxHP + 1], a
|
ld [wHPBarMaxHP + 1], a
|
||||||
ld a, MONSTER_NAME
|
ld a, MONSTER_NAME
|
||||||
ld [W_LISTTYPE], a
|
ld [W_LISTTYPE], a
|
||||||
ld a, $e
|
ld a, BANK(TrainerNames) ; bank is not used for monster names
|
||||||
ld [wPredefBank], a
|
ld [wPredefBank], a
|
||||||
call GetName
|
call GetName
|
||||||
push hl
|
push hl
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,10 @@ _GivePokemon: ; 4fda5 (13:7da5)
|
||||||
xor a
|
xor a
|
||||||
ld [wccd3], a
|
ld [wccd3], a
|
||||||
ld a, [wPartyCount] ; wPartyCount
|
ld a, [wPartyCount] ; wPartyCount
|
||||||
cp $6
|
cp PARTY_LENGTH
|
||||||
jr c, .asm_4fe01
|
jr c, .asm_4fe01
|
||||||
ld a, [W_NUMINBOX] ; wda80
|
ld a, [W_NUMINBOX] ; wda80
|
||||||
cp $14
|
cp MONS_PER_BOX
|
||||||
jr nc, .asm_4fdf9
|
jr nc, .asm_4fdf9
|
||||||
xor a
|
xor a
|
||||||
ld [W_ENEMYBATTSTATUS3], a ; W_ENEMYBATTSTATUS3
|
ld [W_ENEMYBATTSTATUS3], a ; W_ENEMYBATTSTATUS3
|
||||||
|
|
@ -18,18 +18,18 @@ _GivePokemon: ; 4fda5 (13:7da5)
|
||||||
ld hl, wcf4b
|
ld hl, wcf4b
|
||||||
ld a, [wd5a0]
|
ld a, [wd5a0]
|
||||||
and $7f
|
and $7f
|
||||||
cp $9
|
cp 9
|
||||||
jr c, .asm_4fdec
|
jr c, .asm_4fdec
|
||||||
sub $9
|
sub 9
|
||||||
ld [hl], $f7
|
ld [hl], "1"
|
||||||
inc hl
|
inc hl
|
||||||
add $f6
|
add "0"
|
||||||
jr .asm_4fdee
|
jr .asm_4fdee
|
||||||
.asm_4fdec
|
.asm_4fdec
|
||||||
add $f7
|
add "1"
|
||||||
.asm_4fdee
|
.asm_4fdee
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
ld [hl], $50
|
ld [hl], "@"
|
||||||
ld hl, SetToBoxText
|
ld hl, SetToBoxText
|
||||||
call PrintText
|
call PrintText
|
||||||
scf
|
scf
|
||||||
|
|
|
||||||
|
|
@ -110,10 +110,10 @@ ItemUseBall: ; d687 (3:5687)
|
||||||
dec a
|
dec a
|
||||||
jr z,.UseBall
|
jr z,.UseBall
|
||||||
ld a,[wPartyCount] ;is Party full?
|
ld a,[wPartyCount] ;is Party full?
|
||||||
cp a,6
|
cp a,PARTY_LENGTH
|
||||||
jr nz,.UseBall
|
jr nz,.UseBall
|
||||||
ld a,[W_NUMINBOX] ;is Box full?
|
ld a,[W_NUMINBOX] ;is Box full?
|
||||||
cp a,20
|
cp a,MONS_PER_BOX
|
||||||
jp z,BoxFullCannotThrowBall
|
jp z,BoxFullCannotThrowBall
|
||||||
.UseBall ;$56a7
|
.UseBall ;$56a7
|
||||||
;ok, you can use a ball
|
;ok, you can use a ball
|
||||||
|
|
@ -421,7 +421,7 @@ ItemUseBall: ; d687 (3:5687)
|
||||||
predef ShowPokedexData
|
predef ShowPokedexData
|
||||||
.checkParty ;$58f4
|
.checkParty ;$58f4
|
||||||
ld a,[wPartyCount]
|
ld a,[wPartyCount]
|
||||||
cp a,6 ;is party full?
|
cp a,PARTY_LENGTH ;is party full?
|
||||||
jr z,.sendToBox
|
jr z,.sendToBox
|
||||||
xor a
|
xor a
|
||||||
ld [wcc49],a
|
ld [wcc49],a
|
||||||
|
|
|
||||||
|
|
@ -88,25 +88,13 @@ Func_213c8:: ; 213c8 (8:53c8)
|
||||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||||
ret
|
ret
|
||||||
|
|
||||||
SomeonesPCText: ; 2148b (8:548b)
|
SomeonesPCText: db "SOMEONE's PC@"
|
||||||
db "SOMEONE's PC@"
|
BillsPCText: db "BILL's PC@"
|
||||||
|
PlayersPCText: db "'s PC@"
|
||||||
|
OaksPCText: db "PROF.OAK's PC@"
|
||||||
|
PKMNLeaguePCText: db $4a, "LEAGUE@"
|
||||||
|
LogOffPCText: db "LOG OFF@"
|
||||||
|
|
||||||
BillsPCText: ; 21497 (8:5497)
|
|
||||||
db "BILL's PC@"
|
|
||||||
|
|
||||||
PlayersPCText: ; 214a0 (8:54a0)
|
|
||||||
db "'s PC@"
|
|
||||||
|
|
||||||
OaksPCText: ; 214a5 (8:54a5)
|
|
||||||
db "PROF.OAK's PC@"
|
|
||||||
|
|
||||||
PKMNLeaguePCText: ; 214b2 (8:54b2)
|
|
||||||
db $4a,"LEAGUE@"
|
|
||||||
|
|
||||||
LogOffPCText: ; 214ba (8:54ba)
|
|
||||||
db "LOG OFF@"
|
|
||||||
|
|
||||||
Func_214c2:: ; 214c2 (8:54c2)
|
|
||||||
BillsPC_:: ; 0x214c2
|
BillsPC_:: ; 0x214c2
|
||||||
ld hl, wd730
|
ld hl, wd730
|
||||||
set 6, [hl]
|
set 6, [hl]
|
||||||
|
|
@ -167,15 +155,15 @@ BillsPCMenu:
|
||||||
call TextBoxBorder
|
call TextBoxBorder
|
||||||
ld a, [wd5a0]
|
ld a, [wd5a0]
|
||||||
and $7f
|
and $7f
|
||||||
cp $9
|
cp 9
|
||||||
jr c, .asm_2154f
|
jr c, .asm_2154f
|
||||||
sub $9
|
sub 9
|
||||||
hlCoord 17, 16
|
hlCoord 17, 16
|
||||||
ld [hl], $f7
|
ld [hl], "1"
|
||||||
add $f6
|
add "0"
|
||||||
jr .asm_21551
|
jr .asm_21551
|
||||||
.asm_2154f
|
.asm_2154f
|
||||||
add $f7
|
add "1"
|
||||||
.asm_21551
|
.asm_21551
|
||||||
Coorda 18, 16
|
Coorda 18, 16
|
||||||
hlCoord 10, 16
|
hlCoord 10, 16
|
||||||
|
|
@ -227,7 +215,7 @@ BillsPCDeposit:
|
||||||
jp BillsPCMenu
|
jp BillsPCMenu
|
||||||
.asm_215bb
|
.asm_215bb
|
||||||
ld a, [W_NUMINBOX] ; wda80
|
ld a, [W_NUMINBOX] ; wda80
|
||||||
cp $14
|
cp MONS_PER_BOX
|
||||||
jr nz, .asm_215cb
|
jr nz, .asm_215cb
|
||||||
ld hl, BoxFullText ; $5802
|
ld hl, BoxFullText ; $5802
|
||||||
call PrintText
|
call PrintText
|
||||||
|
|
@ -251,15 +239,15 @@ BillsPCDeposit:
|
||||||
ld hl, wWhichTrade ; wWhichTrade
|
ld hl, wWhichTrade ; wWhichTrade
|
||||||
ld a, [wd5a0]
|
ld a, [wd5a0]
|
||||||
and $7f
|
and $7f
|
||||||
cp $9
|
cp 9
|
||||||
jr c, .asm_2160a
|
jr c, .asm_2160a
|
||||||
sub $9
|
sub 9
|
||||||
ld [hl], $f7
|
ld [hl], "1"
|
||||||
inc hl
|
inc hl
|
||||||
add $f6
|
add "0"
|
||||||
jr .asm_2160c
|
jr .asm_2160c
|
||||||
.asm_2160a
|
.asm_2160a
|
||||||
add $f7
|
add "1"
|
||||||
.asm_2160c
|
.asm_2160c
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
ld [hl], $50
|
ld [hl], $50
|
||||||
|
|
@ -276,7 +264,7 @@ Func_21618: ; 21618 (8:5618)
|
||||||
jp Func_214e8
|
jp Func_214e8
|
||||||
.asm_21627
|
.asm_21627
|
||||||
ld a, [wPartyCount] ; wPartyCount
|
ld a, [wPartyCount] ; wPartyCount
|
||||||
cp $6
|
cp PARTY_LENGTH
|
||||||
jr nz, .asm_21637
|
jr nz, .asm_21637
|
||||||
ld hl, CantTakeMonText ; $5811
|
ld hl, CantTakeMonText ; $5811
|
||||||
call PrintText
|
call PrintText
|
||||||
|
|
@ -353,7 +341,12 @@ Func_216be: ; 216be (8:56be)
|
||||||
ret
|
ret
|
||||||
|
|
||||||
BillsPCMenuText: ; 216e1 (8:56e1)
|
BillsPCMenuText: ; 216e1 (8:56e1)
|
||||||
db "WITHDRAW ",$4a,$4e,"DEPOSIT ",$4a,$4e,"RELEASE ",$4a,$4e,"CHANGE BOX",$4e,"SEE YA!@"
|
db "WITHDRAW ", $4a
|
||||||
|
next "DEPOSIT ", $4a
|
||||||
|
next "RELEASE ", $4a
|
||||||
|
next "CHANGE BOX"
|
||||||
|
next "SEE YA!"
|
||||||
|
db "@"
|
||||||
|
|
||||||
BoxNoPCText: ; 21713 (8:5713)
|
BoxNoPCText: ; 21713 (8:5713)
|
||||||
db "BOX No.@"
|
db "BOX No.@"
|
||||||
|
|
@ -389,7 +382,7 @@ HMMoveArray: ; 21745 (8:5745)
|
||||||
db SURF
|
db SURF
|
||||||
db STRENGTH
|
db STRENGTH
|
||||||
db FLASH
|
db FLASH
|
||||||
db $ff
|
db -1
|
||||||
|
|
||||||
Func_2174b: ; 2174b (8:574b)
|
Func_2174b: ; 2174b (8:574b)
|
||||||
hlCoord 9, 10
|
hlCoord 9, 10
|
||||||
|
|
@ -458,14 +451,11 @@ Func_2174b: ; 2174b (8:574b)
|
||||||
call LoadGBPal
|
call LoadGBPal
|
||||||
jr .asm_2178f
|
jr .asm_2178f
|
||||||
|
|
||||||
DepositPCText: ; 217cb (8:57cb)
|
DepositPCText: db "DEPOSIT@"
|
||||||
db "DEPOSIT@"
|
WithdrawPCText: db "WITHDRAW@"
|
||||||
|
StatsCancelPCText:
|
||||||
WithdrawPCText: ; 217d3 (8:57d3)
|
db "STATS"
|
||||||
db "WITHDRAW@"
|
next "CANCEL@"
|
||||||
|
|
||||||
StatsCancelPCText: ; 217dc (8:57dc)
|
|
||||||
db "STATS",$4e,"CANCEL@"
|
|
||||||
|
|
||||||
SwitchOnText: ; 0x217e9
|
SwitchOnText: ; 0x217e9
|
||||||
TX_FAR _SwitchOnText
|
TX_FAR _SwitchOnText
|
||||||
|
|
@ -523,7 +513,7 @@ PrintJustAMomentText1:: ; 5824 (8:5825)
|
||||||
cp $c
|
cp $c
|
||||||
ret nz
|
ret nz
|
||||||
ld a, [W_CURMAP]
|
ld a, [W_CURMAP]
|
||||||
cp $ef
|
cp BATTLE_CENTER
|
||||||
ld a, $2
|
ld a, $2
|
||||||
jr z, .asm_2183a
|
jr z, .asm_2183a
|
||||||
inc a
|
inc a
|
||||||
|
|
@ -541,7 +531,7 @@ PrintJustAMomentText2:: ; 5845 (8:5845)
|
||||||
cp $8
|
cp $8
|
||||||
ret nz
|
ret nz
|
||||||
ld a, [W_CURMAP]
|
ld a, [W_CURMAP]
|
||||||
cp $ef
|
cp BATTLE_CENTER
|
||||||
ld a, $2
|
ld a, $2
|
||||||
jr z, .asm_2185a
|
jr z, .asm_2185a
|
||||||
inc a
|
inc a
|
||||||
|
|
|
||||||
|
|
@ -307,7 +307,7 @@ Func_5d5f: ; 5d5f (1:5d5f)
|
||||||
xor a
|
xor a
|
||||||
ld [hJoyPressed], a
|
ld [hJoyPressed], a
|
||||||
ld [hJoyHeld], a
|
ld [hJoyHeld], a
|
||||||
ld [$ffb5], a
|
ld [hJoy5], a
|
||||||
ld [wd72d], a
|
ld [wd72d], a
|
||||||
ld hl, wd732
|
ld hl, wd732
|
||||||
set 0, [hl]
|
set 0, [hl]
|
||||||
|
|
@ -461,7 +461,7 @@ DisplayOptionMenu: ; 5e8a (1:5e8a)
|
||||||
call SetOptionsFromCursorPositions
|
call SetOptionsFromCursorPositions
|
||||||
.getJoypadStateLoop
|
.getJoypadStateLoop
|
||||||
call JoypadLowSensitivity
|
call JoypadLowSensitivity
|
||||||
ld a,[$ffb5]
|
ld a,[hJoy5]
|
||||||
ld b,a
|
ld b,a
|
||||||
and a,%11111011 ; any key besides select pressed?
|
and a,%11111011 ; any key besides select pressed?
|
||||||
jr z,.getJoypadStateLoop
|
jr z,.getJoypadStateLoop
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ ShowPokedexMenu: ; 40000 (10:4000)
|
||||||
ld [wLastMenuItem],a
|
ld [wLastMenuItem],a
|
||||||
inc a
|
inc a
|
||||||
ld [wd11e],a
|
ld [wd11e],a
|
||||||
ld [$ffb7],a
|
ld [hJoy7],a
|
||||||
.setUpGraphics
|
.setUpGraphics
|
||||||
ld b,$08
|
ld b,$08
|
||||||
call GoPAL_SET
|
call GoPAL_SET
|
||||||
|
|
@ -35,7 +35,7 @@ ShowPokedexMenu: ; 40000 (10:4000)
|
||||||
ld [wcc37],a
|
ld [wcc37],a
|
||||||
ld [wCurrentMenuItem],a
|
ld [wCurrentMenuItem],a
|
||||||
ld [wLastMenuItem],a
|
ld [wLastMenuItem],a
|
||||||
ld [$ffb7],a
|
ld [hJoy7],a
|
||||||
ld [wcd3a],a
|
ld [wcd3a],a
|
||||||
ld [wcd3b],a
|
ld [wcd3b],a
|
||||||
pop af
|
pop af
|
||||||
|
|
@ -550,7 +550,7 @@ ShowPokedexDataInternal: ; 402e2 (10:42e2)
|
||||||
ld [$fff4],a
|
ld [$fff4],a
|
||||||
.waitForButtonPress
|
.waitForButtonPress
|
||||||
call JoypadLowSensitivity
|
call JoypadLowSensitivity
|
||||||
ld a,[$ffb5]
|
ld a,[hJoy5]
|
||||||
and a,%00000011 ; A button and B button
|
and a,%00000011 ; A button and B button
|
||||||
jr z,.waitForButtonPress
|
jr z,.waitForButtonPress
|
||||||
pop af
|
pop af
|
||||||
|
|
|
||||||
|
|
@ -445,15 +445,15 @@ Func_7393f: ; 7393f (1c:793f)
|
||||||
res 2, [hl]
|
res 2, [hl]
|
||||||
ld a, [wd5a0]
|
ld a, [wd5a0]
|
||||||
and $7f
|
and $7f
|
||||||
cp $9
|
cp 9
|
||||||
jr c, .asm_739a6
|
jr c, .asm_739a6
|
||||||
sub $9
|
sub 9
|
||||||
hlCoord 8, 2
|
hlCoord 8, 2
|
||||||
ld [hl], $f7
|
ld [hl], "1"
|
||||||
add $f6
|
add "0"
|
||||||
jr .asm_739a8
|
jr .asm_739a8
|
||||||
.asm_739a6
|
.asm_739a6
|
||||||
add $f7
|
add "1"
|
||||||
.asm_739a8
|
.asm_739a8
|
||||||
Coorda 9, 2
|
Coorda 9, 2
|
||||||
hlCoord 1, 2
|
hlCoord 1, 2
|
||||||
|
|
|
||||||
|
|
@ -797,7 +797,7 @@ SlotMachine_3784e: ; 3784e (d:784e)
|
||||||
SlotMachine_37882: ; 37882 (d:7882)
|
SlotMachine_37882: ; 37882 (d:7882)
|
||||||
call DelayFrame
|
call DelayFrame
|
||||||
call JoypadLowSensitivity
|
call JoypadLowSensitivity
|
||||||
ld a, [$ffb5]
|
ld a, [hJoy5]
|
||||||
and $1
|
and $1
|
||||||
ret z
|
ret z
|
||||||
ld hl, wTrainerSpriteOffset
|
ld hl, wTrainerSpriteOffset
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ DisplayTownMap: ; 70e3e (1c:4e3e)
|
||||||
ld [hl], $ff
|
ld [hl], $ff
|
||||||
push hl
|
push hl
|
||||||
ld a, $1
|
ld a, $1
|
||||||
ld [$ffb7], a
|
ld [hJoy7], a
|
||||||
ld a, [W_CURMAP] ; W_CURMAP
|
ld a, [W_CURMAP] ; W_CURMAP
|
||||||
push af
|
push af
|
||||||
ld b, $0
|
ld b, $0
|
||||||
|
|
@ -66,7 +66,7 @@ Func_70e92: ; 70e92 (1c:4e92)
|
||||||
.asm_70ec8
|
.asm_70ec8
|
||||||
call Func_716c6
|
call Func_716c6
|
||||||
call JoypadLowSensitivity
|
call JoypadLowSensitivity
|
||||||
ld a, [$ffb5]
|
ld a, [hJoy5]
|
||||||
ld b, a
|
ld b, a
|
||||||
and $c3
|
and $c3
|
||||||
jr z, .asm_70ec8
|
jr z, .asm_70ec8
|
||||||
|
|
@ -78,7 +78,7 @@ Func_70e92: ; 70e92 (1c:4e92)
|
||||||
jr nz, .asm_70f01
|
jr nz, .asm_70f01
|
||||||
xor a
|
xor a
|
||||||
ld [wd09b], a
|
ld [wd09b], a
|
||||||
ld [$ffb7], a
|
ld [hJoy7], a
|
||||||
ld [W_SUBANIMTRANSFORM], a ; W_SUBANIMTRANSFORM
|
ld [W_SUBANIMTRANSFORM], a ; W_SUBANIMTRANSFORM
|
||||||
call Func_711ab
|
call Func_711ab
|
||||||
pop hl
|
pop hl
|
||||||
|
|
@ -188,7 +188,7 @@ LoadTownMap_Fly: ; 70f90 (1c:4f90)
|
||||||
push hl
|
push hl
|
||||||
call DelayFrame
|
call DelayFrame
|
||||||
call JoypadLowSensitivity
|
call JoypadLowSensitivity
|
||||||
ld a, [$ffb5]
|
ld a, [hJoy5]
|
||||||
ld b, a
|
ld b, a
|
||||||
pop hl
|
pop hl
|
||||||
and $c3
|
and $c3
|
||||||
|
|
|
||||||
|
|
@ -203,9 +203,9 @@ Func_41245: ; 41245 (10:5245)
|
||||||
and a
|
and a
|
||||||
jr nz, .asm_41273
|
jr nz, .asm_41273
|
||||||
call Delay50
|
call Delay50
|
||||||
ld a, $ad
|
ld a, ANIM_AD
|
||||||
call Func_41676
|
call Func_41676
|
||||||
ld a, $aa
|
ld a, ANIM_AA
|
||||||
call Func_41676
|
call Func_41676
|
||||||
ld a, [wWhichTrade] ; wWhichTrade
|
ld a, [wWhichTrade] ; wWhichTrade
|
||||||
call PlayCry
|
call PlayCry
|
||||||
|
|
@ -242,9 +242,9 @@ Func_41298: ; 41298 (10:5298)
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Func_412d2: ; 412d2 (10:52d2)
|
Func_412d2: ; 412d2 (10:52d2)
|
||||||
ld a, $ab
|
ld a, ANIM_AB
|
||||||
call Func_41676
|
call Func_41676
|
||||||
ld c, $a
|
ld c, 10
|
||||||
call DelayFrames
|
call DelayFrames
|
||||||
ld a, $e4
|
ld a, $e4
|
||||||
ld [rOBP0], a ; $ff48
|
ld [rOBP0], a ; $ff48
|
||||||
|
|
@ -295,7 +295,7 @@ UnknownOAM_4132e: ; 4132e (10:532e)
|
||||||
db $7E,$40,$7E,$60
|
db $7E,$40,$7E,$60
|
||||||
|
|
||||||
Func_41336: ; 41336 (10:5336)
|
Func_41336: ; 41336 (10:5336)
|
||||||
ld a, $ac
|
ld a, ANIM_AC
|
||||||
call Func_41676
|
call Func_41676
|
||||||
call Func_415c8
|
call Func_415c8
|
||||||
hlCoord 4, 10
|
hlCoord 4, 10
|
||||||
|
|
@ -308,7 +308,7 @@ Func_41336: ; 41336 (10:5336)
|
||||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||||
ld a, [wTrainerEngageDistance]
|
ld a, [wTrainerEngageDistance]
|
||||||
call Func_415a4
|
call Func_415a4
|
||||||
ld a, $ad
|
ld a, ANIM_AD
|
||||||
call Func_41676
|
call Func_41676
|
||||||
ld a, $1
|
ld a, $1
|
||||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||||
|
|
|
||||||
24
home/copy.asm
Normal file
24
home/copy.asm
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
FarCopyData::
|
||||||
|
; Copy bc bytes from a:hl to de.
|
||||||
|
ld [wBuffer], a
|
||||||
|
ld a, [H_LOADEDROMBANK]
|
||||||
|
push af
|
||||||
|
ld a, [wBuffer]
|
||||||
|
ld [H_LOADEDROMBANK], a
|
||||||
|
ld [MBC3RomBank], a
|
||||||
|
call CopyData
|
||||||
|
pop af
|
||||||
|
ld [H_LOADEDROMBANK], a
|
||||||
|
ld [MBC3RomBank], a
|
||||||
|
ret
|
||||||
|
|
||||||
|
CopyData::
|
||||||
|
; Copy bc bytes from hl to de.
|
||||||
|
ld a, [hli]
|
||||||
|
ld [de], a
|
||||||
|
inc de
|
||||||
|
dec bc
|
||||||
|
ld a, c
|
||||||
|
or b
|
||||||
|
jr nz, CopyData
|
||||||
|
ret
|
||||||
228
home/copy2.asm
Normal file
228
home/copy2.asm
Normal file
|
|
@ -0,0 +1,228 @@
|
||||||
|
FarCopyData2::
|
||||||
|
; Identical to FarCopyData, but uses $ff8b
|
||||||
|
; as temp space instead of wBuffer.
|
||||||
|
ld [$ff8b],a
|
||||||
|
ld a,[H_LOADEDROMBANK]
|
||||||
|
push af
|
||||||
|
ld a,[$ff8b]
|
||||||
|
ld [H_LOADEDROMBANK],a
|
||||||
|
ld [MBC3RomBank],a
|
||||||
|
call CopyData
|
||||||
|
pop af
|
||||||
|
ld [H_LOADEDROMBANK],a
|
||||||
|
ld [MBC3RomBank],a
|
||||||
|
ret
|
||||||
|
|
||||||
|
FarCopyData3::
|
||||||
|
; Copy bc bytes from a:de to hl.
|
||||||
|
ld [$ff8b],a
|
||||||
|
ld a,[H_LOADEDROMBANK]
|
||||||
|
push af
|
||||||
|
ld a,[$ff8b]
|
||||||
|
ld [H_LOADEDROMBANK],a
|
||||||
|
ld [MBC3RomBank],a
|
||||||
|
push hl
|
||||||
|
push de
|
||||||
|
push de
|
||||||
|
ld d,h
|
||||||
|
ld e,l
|
||||||
|
pop hl
|
||||||
|
call CopyData
|
||||||
|
pop de
|
||||||
|
pop hl
|
||||||
|
pop af
|
||||||
|
ld [H_LOADEDROMBANK],a
|
||||||
|
ld [MBC3RomBank],a
|
||||||
|
ret
|
||||||
|
|
||||||
|
FarCopyDataDouble::
|
||||||
|
; Expand bc bytes of 1bpp image data
|
||||||
|
; from a:hl to 2bpp data at de.
|
||||||
|
ld [$ff8b],a
|
||||||
|
ld a,[H_LOADEDROMBANK]
|
||||||
|
push af
|
||||||
|
ld a,[$ff8b]
|
||||||
|
ld [H_LOADEDROMBANK],a
|
||||||
|
ld [MBC3RomBank],a
|
||||||
|
.loop
|
||||||
|
ld a,[hli]
|
||||||
|
ld [de],a
|
||||||
|
inc de
|
||||||
|
ld [de],a
|
||||||
|
inc de
|
||||||
|
dec bc
|
||||||
|
ld a,c
|
||||||
|
or b
|
||||||
|
jr nz,.loop
|
||||||
|
pop af
|
||||||
|
ld [H_LOADEDROMBANK],a
|
||||||
|
ld [MBC3RomBank],a
|
||||||
|
ret
|
||||||
|
|
||||||
|
CopyVideoData::
|
||||||
|
; Wait for the next VBlank, then copy c 2bpp
|
||||||
|
; tiles from b:de to hl, 8 tiles at a time.
|
||||||
|
; This takes c/8 frames.
|
||||||
|
|
||||||
|
ld a, [H_AUTOBGTRANSFERENABLED]
|
||||||
|
push af
|
||||||
|
xor a ; disable auto-transfer while copying
|
||||||
|
ld [H_AUTOBGTRANSFERENABLED], a
|
||||||
|
|
||||||
|
ld a, [H_LOADEDROMBANK]
|
||||||
|
ld [$ff8b], a
|
||||||
|
|
||||||
|
ld a, b
|
||||||
|
ld [H_LOADEDROMBANK], a
|
||||||
|
ld [MBC3RomBank], a
|
||||||
|
|
||||||
|
ld a, e
|
||||||
|
ld [H_VBCOPYSRC], a
|
||||||
|
ld a, d
|
||||||
|
ld [H_VBCOPYSRC + 1], a
|
||||||
|
|
||||||
|
ld a, l
|
||||||
|
ld [H_VBCOPYDEST], a
|
||||||
|
ld a, h
|
||||||
|
ld [H_VBCOPYDEST + 1], a
|
||||||
|
|
||||||
|
.loop
|
||||||
|
ld a, c
|
||||||
|
cp 8
|
||||||
|
jr nc, .keepgoing
|
||||||
|
|
||||||
|
.done
|
||||||
|
ld [H_VBCOPYSIZE], a
|
||||||
|
call DelayFrame
|
||||||
|
ld a, [$ff8b]
|
||||||
|
ld [H_LOADEDROMBANK], a
|
||||||
|
ld [MBC3RomBank], a
|
||||||
|
pop af
|
||||||
|
ld [H_AUTOBGTRANSFERENABLED], a
|
||||||
|
ret
|
||||||
|
|
||||||
|
.keepgoing
|
||||||
|
ld a, 8
|
||||||
|
ld [H_VBCOPYSIZE], a
|
||||||
|
call DelayFrame
|
||||||
|
ld a, c
|
||||||
|
sub 8
|
||||||
|
ld c, a
|
||||||
|
jr .loop
|
||||||
|
|
||||||
|
CopyVideoDataDouble::
|
||||||
|
; Wait for the next VBlank, then copy c 1bpp
|
||||||
|
; tiles from b:de to hl, 8 tiles at a time.
|
||||||
|
; This takes c/8 frames.
|
||||||
|
ld a, [H_AUTOBGTRANSFERENABLED]
|
||||||
|
push af
|
||||||
|
xor a ; disable auto-transfer while copying
|
||||||
|
ld [H_AUTOBGTRANSFERENABLED], a
|
||||||
|
ld a, [H_LOADEDROMBANK]
|
||||||
|
ld [$ff8b], a
|
||||||
|
|
||||||
|
ld a, b
|
||||||
|
ld [H_LOADEDROMBANK], a
|
||||||
|
ld [MBC3RomBank], a
|
||||||
|
|
||||||
|
ld a, e
|
||||||
|
ld [H_VBCOPYDOUBLESRC], a
|
||||||
|
ld a, d
|
||||||
|
ld [H_VBCOPYDOUBLESRC + 1], a
|
||||||
|
|
||||||
|
ld a, l
|
||||||
|
ld [H_VBCOPYDOUBLEDEST], a
|
||||||
|
ld a, h
|
||||||
|
ld [H_VBCOPYDOUBLEDEST + 1], a
|
||||||
|
|
||||||
|
.loop
|
||||||
|
ld a, c
|
||||||
|
cp 8
|
||||||
|
jr nc, .keepgoing
|
||||||
|
|
||||||
|
.done
|
||||||
|
ld [H_VBCOPYDOUBLESIZE], a
|
||||||
|
call DelayFrame
|
||||||
|
ld a, [$ff8b]
|
||||||
|
ld [H_LOADEDROMBANK], a
|
||||||
|
ld [MBC3RomBank], a
|
||||||
|
pop af
|
||||||
|
ld [H_AUTOBGTRANSFERENABLED], a
|
||||||
|
ret
|
||||||
|
|
||||||
|
.keepgoing
|
||||||
|
ld a, 8
|
||||||
|
ld [H_VBCOPYDOUBLESIZE], a
|
||||||
|
call DelayFrame
|
||||||
|
ld a, c
|
||||||
|
sub 8
|
||||||
|
ld c, a
|
||||||
|
jr .loop
|
||||||
|
|
||||||
|
ClearScreenArea::
|
||||||
|
; Clear tilemap area cxb at hl.
|
||||||
|
ld a, $7f ; blank tile
|
||||||
|
ld de, 20 ; screen width
|
||||||
|
.y
|
||||||
|
push hl
|
||||||
|
push bc
|
||||||
|
.x
|
||||||
|
ld [hli], a
|
||||||
|
dec c
|
||||||
|
jr nz, .x
|
||||||
|
pop bc
|
||||||
|
pop hl
|
||||||
|
add hl, de
|
||||||
|
dec b
|
||||||
|
jr nz, .y
|
||||||
|
ret
|
||||||
|
|
||||||
|
CopyScreenTileBufferToVRAM::
|
||||||
|
; Copy wTileMap to the BG Map starting at b * $100.
|
||||||
|
; This is done in thirds of 6 rows, so it takes 3 frames.
|
||||||
|
|
||||||
|
ld c, 6
|
||||||
|
|
||||||
|
ld hl, $600 * 0
|
||||||
|
ld de, wTileMap + 20 * 6 * 0
|
||||||
|
call .setup
|
||||||
|
call DelayFrame
|
||||||
|
|
||||||
|
ld hl, $600 * 1
|
||||||
|
ld de, wTileMap + 20 * 6 * 1
|
||||||
|
call .setup
|
||||||
|
call DelayFrame
|
||||||
|
|
||||||
|
ld hl, $600 * 2
|
||||||
|
ld de, wTileMap + 20 * 6 * 2
|
||||||
|
call .setup
|
||||||
|
jp DelayFrame
|
||||||
|
|
||||||
|
.setup
|
||||||
|
ld a, d
|
||||||
|
ld [H_VBCOPYBGSRC+1], a
|
||||||
|
call GetRowColAddressBgMap
|
||||||
|
ld a, l
|
||||||
|
ld [H_VBCOPYBGDEST], a
|
||||||
|
ld a, h
|
||||||
|
ld [H_VBCOPYBGDEST+1], a
|
||||||
|
ld a, c
|
||||||
|
ld [H_VBCOPYBGNUMROWS], a
|
||||||
|
ld a, e
|
||||||
|
ld [H_VBCOPYBGSRC], a
|
||||||
|
ret
|
||||||
|
|
||||||
|
ClearScreen::
|
||||||
|
; Clear wTileMap, then wait
|
||||||
|
; for the bg map to update.
|
||||||
|
ld bc, 20 * 18
|
||||||
|
inc b
|
||||||
|
ld hl, wTileMap
|
||||||
|
ld a, $7f
|
||||||
|
.loop
|
||||||
|
ld [hli], a
|
||||||
|
dec c
|
||||||
|
jr nz, .loop
|
||||||
|
dec b
|
||||||
|
jr nz, .loop
|
||||||
|
jp Delay3
|
||||||
304
home/serial.asm
Normal file
304
home/serial.asm
Normal file
|
|
@ -0,0 +1,304 @@
|
||||||
|
Serial:: ; 2125 (0:2125)
|
||||||
|
push af
|
||||||
|
push bc
|
||||||
|
push de
|
||||||
|
push hl
|
||||||
|
ld a, [$ffaa]
|
||||||
|
inc a
|
||||||
|
jr z, .asm_2142
|
||||||
|
ld a, [$ff01]
|
||||||
|
ld [$ffad], a
|
||||||
|
ld a, [$ffac]
|
||||||
|
ld [$ff01], a
|
||||||
|
ld a, [$ffaa]
|
||||||
|
cp $2
|
||||||
|
jr z, .asm_2162
|
||||||
|
ld a, $80
|
||||||
|
ld [$ff02], a
|
||||||
|
jr .asm_2162
|
||||||
|
.asm_2142
|
||||||
|
ld a, [$ff01]
|
||||||
|
ld [$ffad], a
|
||||||
|
ld [$ffaa], a
|
||||||
|
cp $2
|
||||||
|
jr z, .asm_215f
|
||||||
|
xor a
|
||||||
|
ld [$ff01], a
|
||||||
|
ld a, $3
|
||||||
|
ld [rDIV], a ; $ff04
|
||||||
|
.asm_2153
|
||||||
|
ld a, [rDIV] ; $ff04
|
||||||
|
bit 7, a
|
||||||
|
jr nz, .asm_2153
|
||||||
|
ld a, $80
|
||||||
|
ld [$ff02], a
|
||||||
|
jr .asm_2162
|
||||||
|
.asm_215f
|
||||||
|
xor a
|
||||||
|
ld [$ff01], a
|
||||||
|
.asm_2162
|
||||||
|
ld a, $1
|
||||||
|
ld [$ffa9], a
|
||||||
|
ld a, $fe
|
||||||
|
ld [$ffac], a
|
||||||
|
pop hl
|
||||||
|
pop de
|
||||||
|
pop bc
|
||||||
|
pop af
|
||||||
|
reti
|
||||||
|
|
||||||
|
Func_216f:: ; 216f (0:216f)
|
||||||
|
ld a, $1
|
||||||
|
ld [$ffab], a
|
||||||
|
.asm_2173
|
||||||
|
ld a, [hl]
|
||||||
|
ld [$ffac], a
|
||||||
|
call Func_219a
|
||||||
|
push bc
|
||||||
|
ld b, a
|
||||||
|
inc hl
|
||||||
|
ld a, $30
|
||||||
|
.asm_217e
|
||||||
|
dec a
|
||||||
|
jr nz, .asm_217e
|
||||||
|
ld a, [$ffab]
|
||||||
|
and a
|
||||||
|
ld a, b
|
||||||
|
pop bc
|
||||||
|
jr z, .asm_2192
|
||||||
|
dec hl
|
||||||
|
cp $fd
|
||||||
|
jr nz, .asm_2173
|
||||||
|
xor a
|
||||||
|
ld [$ffab], a
|
||||||
|
jr .asm_2173
|
||||||
|
.asm_2192
|
||||||
|
ld [de], a
|
||||||
|
inc de
|
||||||
|
dec bc
|
||||||
|
ld a, b
|
||||||
|
or c
|
||||||
|
jr nz, .asm_2173
|
||||||
|
ret
|
||||||
|
|
||||||
|
Func_219a:: ; 219a (0:219a)
|
||||||
|
xor a
|
||||||
|
ld [$ffa9], a
|
||||||
|
ld a, [$ffaa]
|
||||||
|
cp $2
|
||||||
|
jr nz, .asm_21a7
|
||||||
|
ld a, $81
|
||||||
|
ld [$ff02], a
|
||||||
|
.asm_21a7
|
||||||
|
ld a, [$ffa9]
|
||||||
|
and a
|
||||||
|
jr nz, .asm_21f1
|
||||||
|
ld a, [$ffaa]
|
||||||
|
cp $1
|
||||||
|
jr nz, .asm_21cc
|
||||||
|
call Func_2237
|
||||||
|
jr z, .asm_21cc
|
||||||
|
call Func_2231
|
||||||
|
push hl
|
||||||
|
ld hl, wcc48
|
||||||
|
inc [hl]
|
||||||
|
jr nz, .asm_21c3
|
||||||
|
dec hl
|
||||||
|
inc [hl]
|
||||||
|
.asm_21c3
|
||||||
|
pop hl
|
||||||
|
call Func_2237
|
||||||
|
jr nz, .asm_21a7
|
||||||
|
jp Func_223f
|
||||||
|
.asm_21cc
|
||||||
|
ld a, [rIE] ; $ffff
|
||||||
|
and $f
|
||||||
|
cp $8
|
||||||
|
jr nz, .asm_21a7
|
||||||
|
ld a, [W_NUMHITS] ; wd074
|
||||||
|
dec a
|
||||||
|
ld [W_NUMHITS], a ; wd074
|
||||||
|
jr nz, .asm_21a7
|
||||||
|
ld a, [wd075]
|
||||||
|
dec a
|
||||||
|
ld [wd075], a
|
||||||
|
jr nz, .asm_21a7
|
||||||
|
ld a, [$ffaa]
|
||||||
|
cp $1
|
||||||
|
jr z, .asm_21f1
|
||||||
|
ld a, $ff
|
||||||
|
.asm_21ee
|
||||||
|
dec a
|
||||||
|
jr nz, .asm_21ee
|
||||||
|
.asm_21f1
|
||||||
|
xor a
|
||||||
|
ld [$ffa9], a
|
||||||
|
ld a, [rIE] ; $ffff
|
||||||
|
and $f
|
||||||
|
sub $8
|
||||||
|
jr nz, .asm_2204
|
||||||
|
ld [W_NUMHITS], a ; wd074
|
||||||
|
ld a, $50
|
||||||
|
ld [wd075], a
|
||||||
|
.asm_2204
|
||||||
|
ld a, [$ffad]
|
||||||
|
cp $fe
|
||||||
|
ret nz
|
||||||
|
call Func_2237
|
||||||
|
jr z, .asm_221f
|
||||||
|
push hl
|
||||||
|
ld hl, wcc48
|
||||||
|
ld a, [hl]
|
||||||
|
dec a
|
||||||
|
ld [hld], a
|
||||||
|
inc a
|
||||||
|
jr nz, .asm_2219
|
||||||
|
dec [hl]
|
||||||
|
.asm_2219
|
||||||
|
pop hl
|
||||||
|
call Func_2237
|
||||||
|
jr z, Func_223f
|
||||||
|
.asm_221f
|
||||||
|
ld a, [rIE] ; $ffff
|
||||||
|
and $f
|
||||||
|
cp $8
|
||||||
|
ld a, $fe
|
||||||
|
ret z
|
||||||
|
ld a, [hl]
|
||||||
|
ld [$ffac], a
|
||||||
|
call DelayFrame
|
||||||
|
jp Func_219a
|
||||||
|
|
||||||
|
Func_2231:: ; 2231 (0:2231)
|
||||||
|
ld a, $f
|
||||||
|
.asm_2233
|
||||||
|
dec a
|
||||||
|
jr nz, .asm_2233
|
||||||
|
ret
|
||||||
|
|
||||||
|
Func_2237:: ; 2237 (0:2237)
|
||||||
|
push hl
|
||||||
|
ld hl, wcc47
|
||||||
|
ld a, [hli]
|
||||||
|
or [hl]
|
||||||
|
pop hl
|
||||||
|
ret
|
||||||
|
|
||||||
|
Func_223f:: ; 223f (0:223f)
|
||||||
|
dec a
|
||||||
|
ld [wcc47], a
|
||||||
|
ld [wcc48], a
|
||||||
|
ret
|
||||||
|
|
||||||
|
Func_2247:: ; 2247 (0:2247)
|
||||||
|
ld hl, wcc42
|
||||||
|
ld de, wcc3d
|
||||||
|
ld c, $2
|
||||||
|
ld a, $1
|
||||||
|
ld [$ffab], a
|
||||||
|
.asm_2253
|
||||||
|
call DelayFrame
|
||||||
|
ld a, [hl]
|
||||||
|
ld [$ffac], a
|
||||||
|
call Func_219a
|
||||||
|
ld b, a
|
||||||
|
inc hl
|
||||||
|
ld a, [$ffab]
|
||||||
|
and a
|
||||||
|
ld a, $0
|
||||||
|
ld [$ffab], a
|
||||||
|
jr nz, .asm_2253
|
||||||
|
ld a, b
|
||||||
|
ld [de], a
|
||||||
|
inc de
|
||||||
|
dec c
|
||||||
|
jr nz, .asm_2253
|
||||||
|
ret
|
||||||
|
|
||||||
|
Func_226e:: ; 226e (0:226e)
|
||||||
|
call SaveScreenTilesToBuffer1
|
||||||
|
callab PrintWaitingText
|
||||||
|
call Func_227f
|
||||||
|
jp LoadScreenTilesFromBuffer1
|
||||||
|
|
||||||
|
Func_227f:: ; 227f (0:227f)
|
||||||
|
ld a, $ff
|
||||||
|
ld [wcc3e], a
|
||||||
|
.asm_2284
|
||||||
|
call Func_22c3
|
||||||
|
call DelayFrame
|
||||||
|
call Func_2237
|
||||||
|
jr z, .asm_22a0
|
||||||
|
push hl
|
||||||
|
ld hl, wcc48
|
||||||
|
dec [hl]
|
||||||
|
jr nz, .asm_229f
|
||||||
|
dec hl
|
||||||
|
dec [hl]
|
||||||
|
jr nz, .asm_229f
|
||||||
|
pop hl
|
||||||
|
xor a
|
||||||
|
jp Func_223f
|
||||||
|
.asm_229f
|
||||||
|
pop hl
|
||||||
|
.asm_22a0
|
||||||
|
ld a, [wcc3e]
|
||||||
|
inc a
|
||||||
|
jr z, .asm_2284
|
||||||
|
ld b, $a
|
||||||
|
.asm_22a8
|
||||||
|
call DelayFrame
|
||||||
|
call Func_22c3
|
||||||
|
dec b
|
||||||
|
jr nz, .asm_22a8
|
||||||
|
ld b, $a
|
||||||
|
.asm_22b3
|
||||||
|
call DelayFrame
|
||||||
|
call Func_22ed
|
||||||
|
dec b
|
||||||
|
jr nz, .asm_22b3
|
||||||
|
ld a, [wcc3e]
|
||||||
|
ld [wcc3d], a
|
||||||
|
ret
|
||||||
|
|
||||||
|
Func_22c3:: ; 22c3 (0:22c3)
|
||||||
|
call asm_22d7
|
||||||
|
ld a, [wcc42]
|
||||||
|
add $60
|
||||||
|
ld [$ffac], a
|
||||||
|
ld a, [$ffaa]
|
||||||
|
cp $2
|
||||||
|
jr nz, asm_22d7
|
||||||
|
ld a, $81
|
||||||
|
ld [$ff02], a
|
||||||
|
asm_22d7:: ; 22d7 (0:22d7)
|
||||||
|
ld a, [$ffad]
|
||||||
|
ld [wcc3d], a
|
||||||
|
and $f0
|
||||||
|
cp $60
|
||||||
|
ret nz
|
||||||
|
xor a
|
||||||
|
ld [$ffad], a
|
||||||
|
ld a, [wcc3d]
|
||||||
|
and $f
|
||||||
|
ld [wcc3e], a
|
||||||
|
ret
|
||||||
|
|
||||||
|
Func_22ed:: ; 22ed (0:22ed)
|
||||||
|
xor a
|
||||||
|
ld [$ffac], a
|
||||||
|
ld a, [$ffaa]
|
||||||
|
cp $2
|
||||||
|
ret nz
|
||||||
|
ld a, $81
|
||||||
|
ld [$ff02], a
|
||||||
|
ret
|
||||||
|
|
||||||
|
Func_22fa:: ; 22fa (0:22fa)
|
||||||
|
ld a, $2
|
||||||
|
ld [$ff01], a
|
||||||
|
xor a
|
||||||
|
ld [$ffad], a
|
||||||
|
ld a, $80
|
||||||
|
ld [$ff02], a
|
||||||
|
ret
|
||||||
3
home/timer.asm
Normal file
3
home/timer.asm
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
; timer interrupt is apparently not invoked anyway
|
||||||
|
Timer:: ; 2306 (0:2306)
|
||||||
|
reti
|
||||||
39
hram.asm
39
hram.asm
|
|
@ -1,8 +1,8 @@
|
||||||
|
|
||||||
H_SPRITEWIDTH EQU $FF8B ; in bytes
|
H_SPRITEWIDTH EQU $FF8B ; in tiles
|
||||||
H_SPRITEINTERLACECOUNTER EQU $FF8B
|
H_SPRITEINTERLACECOUNTER EQU $FF8B
|
||||||
H_SPRITEHEIGHT EQU $FF8C ; in bytes
|
H_SPRITEHEIGHT EQU $FF8C ; in tiles
|
||||||
H_SPRITEOFFSET EQU $FF8D
|
H_SPRITEOFFSET EQU $FF8D
|
||||||
|
|
||||||
hSoftReset EQU $FF8A
|
hSoftReset EQU $FF8A
|
||||||
; Initialized to 16.
|
; Initialized to 16.
|
||||||
|
|
@ -14,28 +14,31 @@ hSoftReset EQU $FF8A
|
||||||
H_DOWNARROWBLINKCNT1 EQU $FF8B
|
H_DOWNARROWBLINKCNT1 EQU $FF8B
|
||||||
H_DOWNARROWBLINKCNT2 EQU $FF8C
|
H_DOWNARROWBLINKCNT2 EQU $FF8C
|
||||||
|
|
||||||
; Note: the following multiplication and division addresses are used for multiple purposes
|
; Multiplcation and division variables are meant
|
||||||
; and so they overlap with each other
|
; to overlap for back-to-back usage. Big endian.
|
||||||
|
|
||||||
H_MULTIPLICAND EQU $FF96 ; 3 bytes, big endian order
|
H_MULTIPLICAND EQU $FF96 ; 3 bytes
|
||||||
H_MULTIPLIER EQU $FF99 ; 1 byte
|
H_MULTIPLIER EQU $FF99 ; 1 byte
|
||||||
H_PRODUCT EQU $FF95 ; 4 bytes, big endian order
|
H_PRODUCT EQU $FF95 ; 4 bytes
|
||||||
|
|
||||||
H_DIVIDEND EQU $FF95 ; 4 bytes, big endian order
|
H_DIVIDEND EQU $FF95 ; 4 bytes
|
||||||
H_DIVISOR EQU $FF99 ; 1 byte
|
H_DIVISOR EQU $FF99 ; 1 byte
|
||||||
H_QUOTIENT EQU $FF95 ; 4 bytes, big endian order
|
H_QUOTIENT EQU $FF95 ; 4 bytes
|
||||||
H_REMAINDER EQU $FF99 ; 1 byte
|
H_REMAINDER EQU $FF99 ; 1 byte
|
||||||
|
|
||||||
; used to convert numbers to decimal
|
; PrintNumber (big endian).
|
||||||
H_PASTLEADINGZEROES EQU $FF95 ; flag to indicate that a nonzero digit has been printed
|
H_PASTLEADINGZEROES EQU $FF95 ; last char printed
|
||||||
H_NUMTOPRINT EQU $FF96 ; 3 bytes, big endian order
|
H_NUMTOPRINT EQU $FF96 ; 3 bytes
|
||||||
H_POWEROFTEN EQU $FF99 ; 3 bytes, big endian order
|
H_POWEROFTEN EQU $FF99 ; 3 bytes
|
||||||
H_SAVEDNUMTOPRINT EQU $FF9C ; 3 bytes, big endian order (to back out of a subtraction)
|
H_SAVEDNUMTOPRINT EQU $FF9C ; 3 bytes
|
||||||
|
|
||||||
hJoyHeldLast EQU $FFB1
|
hJoyHeldLast EQU $FFB1
|
||||||
hJoyReleased EQU $FFB2
|
hJoyReleased EQU $FFB2
|
||||||
hJoyPressed EQU $FFB3
|
hJoyPressed EQU $FFB3
|
||||||
hJoyHeld EQU $FFB4
|
hJoyHeld EQU $FFB4
|
||||||
|
hJoy5 EQU $FFB5
|
||||||
|
hJoy6 EQU $FFB6
|
||||||
|
hJoy7 EQU $FFB7
|
||||||
|
|
||||||
H_LOADEDROMBANK EQU $FFB8
|
H_LOADEDROMBANK EQU $FFB8
|
||||||
|
|
||||||
|
|
|
||||||
32
macros.asm
32
macros.asm
|
|
@ -11,6 +11,20 @@ page EQUS "db $49," ; Start a new Pokedex page.
|
||||||
dex EQUS "db $5f, $50" ; End a Pokedex entry.
|
dex EQUS "db $5f, $50" ; End a Pokedex entry.
|
||||||
|
|
||||||
|
|
||||||
|
percent EQUS "* $ff / 100"
|
||||||
|
|
||||||
|
|
||||||
|
; Constant enumeration is useful for monsters, items, moves, etc.
|
||||||
|
const_def: MACRO
|
||||||
|
const_value = 0
|
||||||
|
ENDM
|
||||||
|
|
||||||
|
const: MACRO
|
||||||
|
\1 EQU const_value
|
||||||
|
const_value = const_value + 1
|
||||||
|
ENDM
|
||||||
|
|
||||||
|
|
||||||
homecall: MACRO
|
homecall: MACRO
|
||||||
ld a, [H_LOADEDROMBANK]
|
ld a, [H_LOADEDROMBANK]
|
||||||
push af
|
push af
|
||||||
|
|
@ -189,6 +203,24 @@ predef_jump: MACRO
|
||||||
ENDM
|
ENDM
|
||||||
|
|
||||||
|
|
||||||
|
add_tx_pre: MACRO
|
||||||
|
\1_id:: dw \1
|
||||||
|
ENDM
|
||||||
|
|
||||||
|
tx_pre_id: MACRO
|
||||||
|
ld a, (\1_id - TextPredefs) / 2
|
||||||
|
ENDM
|
||||||
|
|
||||||
|
tx_pre: MACRO
|
||||||
|
tx_pre_id \1
|
||||||
|
call PrintPredefTextID
|
||||||
|
ENDM
|
||||||
|
|
||||||
|
tx_pre_jump: MACRO
|
||||||
|
tx_pre_id \1
|
||||||
|
jp PrintPredefTextID
|
||||||
|
ENDM
|
||||||
|
|
||||||
|
|
||||||
;1_channel EQU $00
|
;1_channel EQU $00
|
||||||
;2_channels EQU $40
|
;2_channels EQU $40
|
||||||
|
|
|
||||||
10
main.asm
10
main.asm
|
|
@ -3419,7 +3419,7 @@ _AddPartyMon: ; f2e5 (3:72e5)
|
||||||
.asm_f2f2
|
.asm_f2f2
|
||||||
ld a, [de]
|
ld a, [de]
|
||||||
inc a
|
inc a
|
||||||
cp $7
|
cp PARTY_LENGTH + 1
|
||||||
ret nc
|
ret nc
|
||||||
ld [de], a
|
ld [de], a
|
||||||
ld a, [de]
|
ld a, [de]
|
||||||
|
|
@ -3681,7 +3681,7 @@ AddPartyMon_WriteMovePP: ; f476 (3:7476)
|
||||||
_AddEnemyMonToPlayerParty: ; f49d (3:749d)
|
_AddEnemyMonToPlayerParty: ; f49d (3:749d)
|
||||||
ld hl, wPartyCount
|
ld hl, wPartyCount
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
cp $6
|
cp PARTY_LENGTH
|
||||||
scf
|
scf
|
||||||
ret z ; party full, return failure
|
ret z ; party full, return failure
|
||||||
inc a
|
inc a
|
||||||
|
|
@ -3750,13 +3750,13 @@ Func_f51e: ; f51e (3:751e)
|
||||||
jr z, .asm_f575
|
jr z, .asm_f575
|
||||||
ld hl, W_NUMINBOX ; wda80
|
ld hl, W_NUMINBOX ; wda80
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
cp $14
|
cp MONS_PER_BOX
|
||||||
jr nz, .partyOrBoxNotFull
|
jr nz, .partyOrBoxNotFull
|
||||||
jr .boxFull
|
jr .boxFull
|
||||||
.checkPartyMonSlots
|
.checkPartyMonSlots
|
||||||
ld hl, wPartyCount ; wPartyCount
|
ld hl, wPartyCount ; wPartyCount
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
cp $6
|
cp PARTY_LENGTH
|
||||||
jr nz, .partyOrBoxNotFull
|
jr nz, .partyOrBoxNotFull
|
||||||
.boxFull
|
.boxFull
|
||||||
scf
|
scf
|
||||||
|
|
@ -3899,7 +3899,7 @@ Func_f51e: ; f51e (3:751e)
|
||||||
ld a, d
|
ld a, d
|
||||||
ld [W_CURENEMYLVL], a ; W_CURENEMYLVL
|
ld [W_CURENEMYLVL], a ; W_CURENEMYLVL
|
||||||
pop hl
|
pop hl
|
||||||
ld bc, $21
|
ld bc, wBoxMon2 - wBoxMon1
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
ld d, h
|
ld d, h
|
||||||
|
|
|
||||||
|
|
@ -67,9 +67,9 @@ DayCareMScript_562e1: ; 562e1 (15:62e1)
|
||||||
call LoadMonData
|
call LoadMonData
|
||||||
callab Func_58f43
|
callab Func_58f43
|
||||||
ld a, d
|
ld a, d
|
||||||
cp $64
|
cp MAX_LEVEL
|
||||||
jr c, .asm_56315
|
jr c, .asm_56315
|
||||||
ld d, $64
|
ld d, MAX_LEVEL
|
||||||
callab CalcExperience
|
callab CalcExperience
|
||||||
ld hl, wDayCareMonExp
|
ld hl, wDayCareMonExp
|
||||||
ld a, [H_NUMTOPRINT]
|
ld a, [H_NUMTOPRINT]
|
||||||
|
|
@ -78,7 +78,7 @@ DayCareMScript_562e1: ; 562e1 (15:62e1)
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
ld a, [$ff98]
|
ld a, [$ff98]
|
||||||
ld [hl], a
|
ld [hl], a
|
||||||
ld d, $64
|
ld d, MAX_LEVEL
|
||||||
|
|
||||||
.asm_56315
|
.asm_56315
|
||||||
xor a
|
xor a
|
||||||
|
|
@ -100,7 +100,7 @@ DayCareMScript_562e1: ; 562e1 (15:62e1)
|
||||||
.asm_56333
|
.asm_56333
|
||||||
call PrintText
|
call PrintText
|
||||||
ld a, [wPartyCount]
|
ld a, [wPartyCount]
|
||||||
cp $6
|
cp PARTY_LENGTH
|
||||||
ld hl, DayCareMText_56440
|
ld hl, DayCareMText_56440
|
||||||
jp z, .asm_56403
|
jp z, .asm_56403
|
||||||
ld de, wTrainerFacingDirection
|
ld de, wTrainerFacingDirection
|
||||||
|
|
|
||||||
|
|
@ -27,11 +27,11 @@ Route5GateScript0: ; 1df50 (7:5f50)
|
||||||
xor a
|
xor a
|
||||||
ld [hJoyHeld], a
|
ld [hJoyHeld], a
|
||||||
callba RemoveGuardDrink
|
callba RemoveGuardDrink
|
||||||
ld a, [$ff00+$db]
|
ld a, [$ffdb]
|
||||||
and a
|
and a
|
||||||
jr nz, .asm_1df82 ; 0x1df70 $10
|
jr nz, .asm_1df82 ; 0x1df70 $10
|
||||||
ld a, $2
|
ld a, $2
|
||||||
ld [$ff00+$8c], a
|
ld [$ff8c], a
|
||||||
call DisplayTextID
|
call DisplayTextID
|
||||||
call Route5GateScript_1df43
|
call Route5GateScript_1df43
|
||||||
ld a, $1
|
ld a, $1
|
||||||
|
|
@ -39,7 +39,7 @@ Route5GateScript0: ; 1df50 (7:5f50)
|
||||||
ret
|
ret
|
||||||
.asm_1df82
|
.asm_1df82
|
||||||
ld a, $3
|
ld a, $3
|
||||||
ld [$ff00+$8c], a
|
ld [$ff8c], a
|
||||||
call DisplayTextID
|
call DisplayTextID
|
||||||
ld hl, wd728
|
ld hl, wd728
|
||||||
set 6, [hl]
|
set 6, [hl]
|
||||||
|
|
@ -74,7 +74,7 @@ Route5GateText1: ; 1dfaa (7:5faa)
|
||||||
bit 6, a
|
bit 6, a
|
||||||
jr nz, .asm_88856 ; 0x1dfb0 $2c
|
jr nz, .asm_88856 ; 0x1dfb0 $2c
|
||||||
callba RemoveGuardDrink
|
callba RemoveGuardDrink
|
||||||
ld a, [$ff00+$db]
|
ld a, [$ffdb]
|
||||||
and a
|
and a
|
||||||
jr nz, .asm_768a2 ; 0x1dfbd $11
|
jr nz, .asm_768a2 ; 0x1dfbd $11
|
||||||
ld hl, Route5GateText2
|
ld hl, Route5GateText2
|
||||||
|
|
|
||||||
27
version.asm
27
version.asm
|
|
@ -1,20 +1,11 @@
|
||||||
if !def(_RED)
|
check_ver: MACRO
|
||||||
_RED EQU 0
|
if !def(\1)
|
||||||
endc
|
\1 EQU 0
|
||||||
|
|
||||||
if !def(_BLUE)
|
|
||||||
_BLUE EQU 0
|
|
||||||
endc
|
|
||||||
|
|
||||||
if !def(_JAPAN)
|
|
||||||
_JAPAN EQU 0
|
|
||||||
endc
|
|
||||||
|
|
||||||
if !def(_GREEN)
|
|
||||||
_GREEN EQU 0
|
|
||||||
endc
|
|
||||||
|
|
||||||
if !def(_YELLOW)
|
|
||||||
_YELLOW EQU 0
|
|
||||||
endc
|
endc
|
||||||
|
ENDM
|
||||||
|
|
||||||
|
check_ver _RED
|
||||||
|
check_ver _BLUE
|
||||||
|
check_ver _JAPAN
|
||||||
|
check_ver _GREEN
|
||||||
|
check_ver _YELLOW
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue