summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/trainers/dvs.asm69
-rw-r--r--engine/battle/read_trainer_dvs.asm21
-rw-r--r--main.asm5
-rw-r--r--wram.asm7
4 files changed, 99 insertions, 3 deletions
diff --git a/data/trainers/dvs.asm b/data/trainers/dvs.asm
new file mode 100644
index 00000000..09c63a8b
--- /dev/null
+++ b/data/trainers/dvs.asm
@@ -0,0 +1,69 @@
+TrainerClassDVs:
+; entries correspond to trainer classes (see constants/trainer_constants.asm)
+ ; atk,def,spd,spc
+ dn 9, 10, 7, 7 ; FALKNER
+ dn 8, 8, 8, 8 ; WHITNEY
+ dn 9, 8, 8, 8 ; BUGSY
+ dn 9, 8, 8, 8 ; MORTY
+ dn 9, 8, 8, 8 ; PRYCE
+ dn 9, 8, 8, 8 ; JASMINE
+ dn 9, 8, 8, 8 ; CHUCK
+ dn 7, 12, 13, 13 ; CLAIR
+ dn 13, 13, 13, 13 ; RIVAL1
+ dn 9, 8, 8, 8 ; POKEMON_PROF
+ dn 13, 12, 13, 13 ; WILL
+ dn 13, 12, 13, 13 ; CAL
+ dn 13, 12, 13, 13 ; BRUNO
+ dn 7, 15, 13, 15 ; KAREN
+ dn 13, 12, 13, 13 ; KOGA
+ dn 13, 12, 13, 13 ; CHAMPION
+ dn 9, 8, 8, 8 ; BROCK
+ dn 7, 8, 8, 8 ; MISTY
+ dn 9, 8, 8, 8 ; LT_SURGE
+ dn 9, 8, 8, 8 ; SCIENTIST
+ dn 7, 8, 8, 8 ; ERIKA
+ dn 9, 8, 8, 8 ; YOUNGSTER
+ dn 9, 8, 8, 8 ; SCHOOLBOY
+ dn 9, 8, 8, 8 ; BIRD_KEEPER
+ dn 5, 8, 8, 8 ; LASS
+ dn 9, 8, 8, 8 ; JANINE
+ dn 13, 8, 12, 8 ; COOLTRAINERM
+ dn 7, 12, 12, 8 ; COOLTRAINERF
+ dn 6, 9, 12, 8 ; BEAUTY
+ dn 9, 8, 8, 8 ; POKEMANIAC
+ dn 13, 8, 10, 8 ; GRUNTM
+ dn 9, 8, 8, 8 ; GENTLEMAN
+ dn 9, 8, 8, 8 ; SKIER
+ dn 6, 8, 8, 8 ; TEACHER
+ dn 7, 13, 8, 7 ; SABRINA
+ dn 9, 8, 8, 8 ; BUG_CATCHER
+ dn 9, 8, 8, 8 ; FISHER
+ dn 9, 8, 8, 8 ; SWIMMERM
+ dn 7, 8, 8, 8 ; SWIMMERF
+ dn 9, 8, 8, 8 ; SAILOR
+ dn 9, 8, 8, 8 ; SUPER_NERD
+ dn 9, 8, 8, 8 ; RIVAL2
+ dn 9, 8, 8, 8 ; GUITARIST
+ dn 10, 8, 8, 8 ; HIKER
+ dn 9, 8, 8, 8 ; BIKER
+ dn 9, 8, 8, 8 ; BLAINE
+ dn 9, 8, 8, 8 ; BURGLAR
+ dn 9, 8, 8, 8 ; FIREBREATHER
+ dn 9, 8, 8, 8 ; JUGGLER
+ dn 9, 8, 8, 8 ; BLACKBELT_T
+ dn 13, 8, 10, 8 ; EXECUTIVEM
+ dn 9, 8, 8, 8 ; PSYCHIC_T
+ dn 6, 10, 10, 8 ; PICNICKER
+ dn 9, 8, 8, 8 ; CAMPER
+ dn 7, 14, 10, 8 ; EXECUTIVEF
+ dn 9, 8, 8, 8 ; SAGE
+ dn 7, 8, 8, 8 ; MEDIUM
+ dn 9, 8, 8, 8 ; BOARDER
+ dn 9, 8, 8, 8 ; POKEFANM
+ dn 6, 8, 8, 10 ; KIMONO_GIRL
+ dn 6, 8, 10, 8 ; TWINS
+ dn 6, 13, 8, 8 ; POKEFANF
+ dn 15, 13, 13, 14 ; RED
+ dn 9, 13, 13, 13 ; BLUE
+ dn 9, 8, 8, 8 ; OFFICER
+ dn 7, 14, 10, 8 ; GRUNTF
diff --git a/engine/battle/read_trainer_dvs.asm b/engine/battle/read_trainer_dvs.asm
new file mode 100644
index 00000000..d35c9ea6
--- /dev/null
+++ b/engine/battle/read_trainer_dvs.asm
@@ -0,0 +1,21 @@
+GetTrainerDVs:
+; Return the DVs of wOtherTrainerClass in bc
+
+ push hl
+ ld a, [wOtherTrainerClass]
+ dec a
+ ld c, a
+ ld b, 0
+
+ ld hl, TrainerClassDVs
+ add hl, bc
+ add hl, bc
+
+ ld a, [hli]
+ ld b, a
+ ld c, [hl]
+
+ pop hl
+ ret
+
+INCLUDE "data/trainers/dvs.asm"
diff --git a/main.asm b/main.asm
index 2d84f03d..e3f4bbde 100644
--- a/main.asm
+++ b/main.asm
@@ -788,8 +788,9 @@ ToggleMaptileDecorations:
dr $271be, $27216
ToggleDecorationsVisibility:
dr $27216, $27271
-GetTrainerDVs:
- dr $27271, $27307
+
+INCLUDE "engine/battle/read_trainer_dvs.asm"
+
ReturnToBattle_UseBall_:
dr $27307, $27bd3
diff --git a/wram.asm b/wram.asm
index ed28bcee..89eadfa0 100644
--- a/wram.asm
+++ b/wram.asm
@@ -2682,7 +2682,12 @@ wd114:: ds 1 ; d114
wd115:: ds 1 ; d115
wBattleMode:: ds 1 ; d116
wd117:: ds 1 ; d117
-wd118:: ds 1 ; d118
+
+wOtherTrainerClass:: ; d118
+; class (Youngster, Bug Catcher, etc.) of opposing trainer
+; 0 if opponent is a wild Pokémon, not a trainer
+ db
+
wBattleType:: ds 1 ; d119
wd11a:: ds 1 ; d11a
wd11b:: ds 1 ; d11b