11 new trainer classes
This adds the lost RBY trainer classes and a few unused ones. No sprites because I keep messing up the alpha channels among other things. I shall simply ask Martha. Also spruced up the readme slightly.
10
README.md
|
@ -25,6 +25,12 @@ The Fairy-type does exist.
|
|||
- There is a new Nihon region, based on the 1998 version before it got scrapped for Johto.
|
||||
- The Fairy-type is now available, though Pokemon are not retroactively changed, per the Kanto Expansion Pak philosophy (you wouldn't want a Fairy-type Granbull pre-split, would you?)
|
||||
|
||||
## New Things
|
||||
- 11 new Trainer classes, including;
|
||||
- RBY classes not in GSC, such as the Rocker, Channeler, and even the beta Firefighter
|
||||
- Prototype GSC classes such as the Male Teacher, Sportsman, and Soldier
|
||||
- The Painter from FRLG!
|
||||
|
||||
## QoL Changes
|
||||
- A Trader NPC is available in a new Lake of Rage town area, allowing you to access trade evolutions natively.
|
||||
- Kurt now makes Apricorn Balls instantly. He's had his coffee and is listening to his favourite music.
|
||||
|
@ -32,6 +38,8 @@ The Fairy-type does exist.
|
|||
- Clock reset procedure is now like vanilla GS, requiring just Down + B.
|
||||
- Tilesets now handle up to 255 titles (from 192), allowing for slightly nicer maps.
|
||||
- Can now have up to 17 object events.
|
||||
- Gen 6 Experience System!
|
||||
- Poke Balls now all have unique palettes.
|
||||
|
||||
## Map Changes
|
||||
In general, there have been many wild encounter tweaks. View this document for details. (will link when hack is in a playable state)
|
||||
|
@ -44,10 +52,12 @@ In general, there have been many wild encounter tweaks. View this document for d
|
|||
- Cerulean Cave has been restored, complete with a Mewtwo fight!
|
||||
- The Kanto Safari Zone map from the prototype has been restored.
|
||||
- The prototype Lake of Rage village has been restored, complete with an Evolution Stone shop and Trader NPC! In general, it's themed around Pokemon evolution.
|
||||
- The Pokemon Communications Centre from JP GSC has been added and tweaked into a Regional Variant Trade hub, increasing with badge count.
|
||||
|
||||
## Item Changes
|
||||
- Many evolution stones have been added to accomodate the Pokemon featured here, including the Heart and Poison Stones from the SpaceWorld demo!
|
||||
- The Fairy Feather from Scarlet and Violet has been added to accomodate the Fairy type.
|
||||
- The Antique Pot has been added to accomodate a Shuckle evolution!
|
||||
|
||||
# Credits
|
||||
- Plague von Karma (Director, Kanto Expansion Pak Founder, Programming, Maps)
|
||||
|
|
|
@ -710,6 +710,36 @@ DEF KRIS EQU __trainer_class__
|
|||
|
||||
trainerclass MYSTICALMAN ; 43
|
||||
const EUSINE
|
||||
|
||||
trainerclass CHANNELER ; 44
|
||||
const SHANNA
|
||||
|
||||
trainerclass CUE_BALL ; 45
|
||||
const KIRBY ; That one Cleffa trainer.
|
||||
|
||||
trainerclass ENGINEER ; 46
|
||||
const DASHU ; From Mandarin 大叔, literally meaning "uncle". Affectionately refers to middle-aged men, and is the name for the class in Chinese.
|
||||
|
||||
trainerclass ROCKER ; 47
|
||||
const BOWIE ; David Bowie!
|
||||
|
||||
trainerclass TAMER ; 48
|
||||
const MOE ; Ace Attorney reference
|
||||
|
||||
trainerclass FIREFIGHTER ; 49
|
||||
const REMY ; I am in France and larping at the time of doing this
|
||||
|
||||
trainerclass TEACHERM ; 50
|
||||
const DORNYEI ; Zoltan Dornyei, famous ELT teacher
|
||||
|
||||
trainerclass PAINTER ; 51
|
||||
const RACHEL ; Could use Salvador Dali later, a surrealist painter.
|
||||
|
||||
trainerclass SOLDIER ; 52
|
||||
const PEPPINO ; come on. COME ON.
|
||||
|
||||
trainerclass SPORTSMAN ; 53
|
||||
const JACQUES ; also an ace attorney reference.
|
||||
|
||||
DEF TOPAZ EQU __trainer_class__
|
||||
DEF NUM_TRAINER_CLASSES EQU __trainer_class__ - 1
|
||||
|
|
|
@ -404,4 +404,64 @@ TrainerClassAttributes:
|
|||
dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY
|
||||
dw CONTEXT_USE | SWITCH_SOMETIMES
|
||||
|
||||
; Channeler
|
||||
db NO_ITEM, NO_ITEM ; items
|
||||
db 10 ; base reward
|
||||
dw AI_BASIC | AI_CAUTIOUS | AI_STATUS
|
||||
dw CONTEXT_USE | SWITCH_SOMETIMES
|
||||
|
||||
; Cue Ball
|
||||
db NO_ITEM, NO_ITEM ; items
|
||||
db 10 ; base reward
|
||||
dw AI_BASIC | AI_CAUTIOUS | AI_STATUS
|
||||
dw CONTEXT_USE | SWITCH_SOMETIMES
|
||||
|
||||
; ENGINEER
|
||||
db NO_ITEM, NO_ITEM ; items
|
||||
db 10 ; base reward
|
||||
dw AI_BASIC | AI_CAUTIOUS | AI_STATUS
|
||||
dw CONTEXT_USE | SWITCH_SOMETIMES
|
||||
|
||||
; Rocker
|
||||
db NO_ITEM, NO_ITEM ; items
|
||||
db 10 ; base reward
|
||||
dw AI_BASIC | AI_CAUTIOUS | AI_STATUS
|
||||
dw CONTEXT_USE | SWITCH_SOMETIMES
|
||||
|
||||
; Tamer
|
||||
db NO_ITEM, NO_ITEM ; items
|
||||
db 10 ; base reward
|
||||
dw AI_BASIC | AI_CAUTIOUS | AI_STATUS | AI_AGGRESSIVE
|
||||
dw CONTEXT_USE | SWITCH_OFTEN
|
||||
|
||||
; Firefighter
|
||||
db NO_ITEM, NO_ITEM ; items
|
||||
db 10 ; base reward
|
||||
dw AI_BASIC | AI_CAUTIOUS | AI_STATUS | AI_TYPES
|
||||
dw CONTEXT_USE | SWITCH_SOMETIMES
|
||||
|
||||
; Male Teacher
|
||||
db NO_ITEM, NO_ITEM ; items
|
||||
db 18 ; base reward
|
||||
dw AI_BASIC | AI_OPPORTUNIST | AI_AGGRESSIVE | AI_STATUS
|
||||
dw CONTEXT_USE | SWITCH_SOMETIMES
|
||||
|
||||
; Painter
|
||||
db NO_ITEM, NO_ITEM ; items
|
||||
db 10 ; base reward
|
||||
dw AI_BASIC | AI_CAUTIOUS | AI_STATUS | AI_SMART
|
||||
dw CONTEXT_USE | SWITCH_SOMETIMES
|
||||
|
||||
; Soldier
|
||||
db NO_ITEM, NO_ITEM ; items
|
||||
db 10 ; base reward
|
||||
dw AI_BASIC | AI_CAUTIOUS | AI_STATUS | AI_RISKY
|
||||
dw CONTEXT_USE | SWITCH_SOMETIMES
|
||||
|
||||
; SPORTSMAN
|
||||
db NO_ITEM, NO_ITEM ; items
|
||||
db 10 ; base reward
|
||||
dw AI_BASIC | AI_CAUTIOUS | AI_STATUS
|
||||
dw CONTEXT_USE | SWITCH_SOMETIMES
|
||||
|
||||
assert_table_length NUM_TRAINER_CLASSES
|
||||
|
|
|
@ -34,7 +34,7 @@ TrainerClassNames::
|
|||
li "ROCKET"
|
||||
li "GENTLEMAN"
|
||||
li "SKIER"
|
||||
li "TEACHER"
|
||||
li "TEACHER♀"
|
||||
li "LEADER"
|
||||
li "BUG CATCHER"
|
||||
li "FISHER"
|
||||
|
@ -68,4 +68,14 @@ TrainerClassNames::
|
|||
li "OFFICER"
|
||||
li "ROCKET"
|
||||
li "MYSTICALMAN"
|
||||
li "CHANNELER"
|
||||
li "CUE BALL"
|
||||
li "ENGINEER"
|
||||
li "ROCKER"
|
||||
li "TAMER"
|
||||
li "FIREFIGHTER"
|
||||
li "TEACHER♂"
|
||||
li "PAINTER"
|
||||
li "SOLDIER"
|
||||
li "SPORTSMAN"
|
||||
assert_list_length NUM_TRAINER_CLASSES
|
||||
|
|
|
@ -43,8 +43,7 @@ TrainerClassDVs:
|
|||
dn 7, 8, 8, 8 ; SWIMMERF
|
||||
dn 9, 8, 8, 8 ; SAILOR
|
||||
dn 9, 8, 8, 8 ; SUPER_NERD
|
||||
; BUG: RIVAL2 has lower DVs than RIVAL1 (see docs/bugs_and_glitches.md)
|
||||
dn 9, 8, 8, 8 ; RIVAL2
|
||||
dn 13, 13, 13, 13 ; RIVAL2
|
||||
dn 9, 8, 8, 8 ; GUITARIST
|
||||
dn 10, 8, 8, 8 ; HIKER
|
||||
dn 9, 8, 8, 8 ; BIKER
|
||||
|
@ -70,4 +69,14 @@ TrainerClassDVs:
|
|||
dn 9, 8, 8, 8 ; OFFICER
|
||||
dn 7, 14, 10, 8 ; GRUNTF
|
||||
dn 9, 8, 8, 8 ; MYSTICALMAN
|
||||
dn 7, 8, 8, 8 ; CHANNELER
|
||||
dn 9, 8, 8, 8 ; CUE_BALL
|
||||
dn 9, 8, 8, 8 ; ENGINEER
|
||||
dn 9, 8, 8, 8 ; ROCKER
|
||||
dn 9, 8, 8, 8 ; TAMER
|
||||
dn 9, 8, 8, 8 ; FIREFIGHTER
|
||||
dn 6, 8, 8, 8 ; TEACHERM
|
||||
dn 9, 8, 8, 8 ; PAINTER
|
||||
dn 9, 8, 8, 8 ; SOLDIER
|
||||
dn 9, 8, 8, 8 ; SPORTSMAN
|
||||
assert_table_length NUM_TRAINER_CLASSES
|
||||
|
|
|
@ -71,7 +71,14 @@ TrainerEncounterMusic::
|
|||
db MUSIC_HIKER_ENCOUNTER ; officer
|
||||
db MUSIC_ROCKET_ENCOUNTER ; gruntf
|
||||
db MUSIC_HIKER_ENCOUNTER ; mysticalman
|
||||
db MUSIC_SAGE_ENCOUNTER ; channeler
|
||||
db MUSIC_HIKER_ENCOUNTER ; cue ball
|
||||
db MUSIC_HIKER_ENCOUNTER ; engineer
|
||||
db MUSIC_HIKER_ENCOUNTER ; rocker
|
||||
db MUSIC_HIKER_ENCOUNTER ; tamer
|
||||
db MUSIC_HIKER_ENCOUNTER ; firefighter
|
||||
db MUSIC_HIKER_ENCOUNTER ; teacherm
|
||||
db MUSIC_LASS_ENCOUNTER ; painter
|
||||
db MUSIC_HIKER_ENCOUNTER ; soldier
|
||||
db MUSIC_HIKER_ENCOUNTER ; sportsman
|
||||
assert_table_length NUM_TRAINER_CLASSES + 1
|
||||
db MUSIC_HIKER_ENCOUNTER ; unused
|
||||
db MUSIC_HIKER_ENCOUNTER ; unused
|
||||
db MUSIC_HIKER_ENCOUNTER ; unused
|
||||
|
|
|
@ -26,6 +26,15 @@ MaleTrainers:
|
|||
db SAGE
|
||||
db BIKER
|
||||
db SCIENTIST
|
||||
db MYSTICALMAN ; required when adding more trainers - imo though, they transcend gender
|
||||
db CUE_BALL
|
||||
db ENGINEER
|
||||
db ROCKER
|
||||
db TAMER
|
||||
db FIREFIGHTER
|
||||
db TEACHERM
|
||||
db SOLDIER
|
||||
db SPORTSMAN
|
||||
.End
|
||||
|
||||
FemaleTrainers:
|
||||
|
@ -39,4 +48,6 @@ FemaleTrainers:
|
|||
db KIMONO_GIRL
|
||||
db POKEFANF
|
||||
db COOLTRAINERF
|
||||
db CHANNELER
|
||||
db PAINTER
|
||||
.End
|
||||
|
|
|
@ -69,4 +69,15 @@ BTTrainerClassGenders:
|
|||
db MALE ; BLUE
|
||||
db MALE ; OFFICER
|
||||
db FEMALE ; GRUNTF
|
||||
assert_table_length NUM_TRAINER_CLASSES - 1 ; exclude MYSTICALMAN
|
||||
db MALE ; MYSTICALMAN sorry gamer
|
||||
db FEMALE ; CHANNELER
|
||||
db MALE ; CUE_BALL
|
||||
db MALE ; ENGINEER
|
||||
db MALE ; ROCKER
|
||||
db MALE ; TAMER
|
||||
db MALE ; FIREFIGHTER
|
||||
db MALE ; TEACHERM
|
||||
db FEMALE ; PAINTER
|
||||
db MALE ; SOLDIER
|
||||
db MALE ; SPORTSMAN
|
||||
assert_table_length NUM_TRAINER_CLASSES
|
||||
|
|
|
@ -77,6 +77,16 @@ INCBIN "gfx/trainers/blue.gbcpal", middle_colors
|
|||
INCBIN "gfx/trainers/officer.gbcpal", middle_colors
|
||||
INCBIN "gfx/trainers/grunt_f.gbcpal", middle_colors
|
||||
INCBIN "gfx/trainers/mysticalman.gbcpal", middle_colors
|
||||
INCBIN "gfx/trainers/channeler.gbcpal", middle_colors
|
||||
INCBIN "gfx/trainers/cue_ball.gbcpal", middle_colors
|
||||
INCBIN "gfx/trainers/engineer.gbcpal", middle_colors
|
||||
INCBIN "gfx/trainers/rocker.gbcpal", middle_colors
|
||||
INCBIN "gfx/trainers/tamer.gbcpal", middle_colors
|
||||
INCBIN "gfx/trainers/firefighter.gbcpal", middle_colors
|
||||
INCBIN "gfx/trainers/teacherm.gbcpal", middle_colors
|
||||
INCBIN "gfx/trainers/painter.gbcpal", middle_colors
|
||||
INCBIN "gfx/trainers/soldier.gbcpal", middle_colors
|
||||
INCBIN "gfx/trainers/sportsman.gbcpal", middle_colors
|
||||
|
||||
EnbyPalette:
|
||||
INCLUDE "gfx/player/topaz.pal"
|
||||
|
|
|
@ -5307,5 +5307,85 @@ MysticalmanGroup:
|
|||
dw ELECTRODE
|
||||
dw SCREECH, SONICBOOM, THUNDER, ROLLOUT
|
||||
db -1 ; end
|
||||
|
||||
end_list_items
|
||||
|
||||
; RBY / unused trainer types. Mostly placeholders.
|
||||
ChannelerGroup:
|
||||
next_list_item ; CHANNELER (1)
|
||||
db "SHANNA@", TRAINERTYPE_NORMAL
|
||||
db 23
|
||||
dw GASTLY
|
||||
db -1 ; end
|
||||
end_list_items
|
||||
|
||||
CueBallGroup:
|
||||
next_list_item ; CUE_BALL (1)
|
||||
db "KIRBY@", TRAINERTYPE_NORMAL
|
||||
db 23
|
||||
dw CLEFFA
|
||||
db -1 ; end
|
||||
end_list_items
|
||||
|
||||
EngineerGroup:
|
||||
next_list_item ; ENGINEER (1)
|
||||
db "DASHU@", TRAINERTYPE_NORMAL
|
||||
db 23
|
||||
dw MAGNEMITE
|
||||
db -1 ; end
|
||||
end_list_items
|
||||
|
||||
RockerGroup:
|
||||
next_list_item ; ROCKER (1)
|
||||
db "BOWIE@", TRAINERTYPE_NORMAL
|
||||
db 23
|
||||
dw VOLTORB
|
||||
db -1 ; end
|
||||
end_list_items
|
||||
|
||||
TamerGroup:
|
||||
next_list_item ; TAMER (1)
|
||||
db "MOE@", TRAINERTYPE_NORMAL
|
||||
db 23
|
||||
dw TAUROS
|
||||
db -1 ; end
|
||||
end_list_items
|
||||
|
||||
FirefighterGroup:
|
||||
next_list_item ; FIREFIGHTER (1)
|
||||
db "REMY@", TRAINERTYPE_NORMAL
|
||||
db 23
|
||||
dw POLIWAG
|
||||
db -1 ; end
|
||||
end_list_items
|
||||
|
||||
TeacherMGroup:
|
||||
next_list_item ; TEACHERM (1)
|
||||
db "DORNYEI@", TRAINERTYPE_NORMAL
|
||||
db 23
|
||||
dw BLISSEY
|
||||
db -1 ; end
|
||||
end_list_items
|
||||
|
||||
PainterGroup:
|
||||
next_list_item ; PAINTER (1)
|
||||
db "RACHEL@", TRAINERTYPE_NORMAL
|
||||
db 23
|
||||
dw SMEARGLE
|
||||
db -1 ; end
|
||||
end_list_items
|
||||
|
||||
SoldierGroup:
|
||||
next_list_item ; SOLDIER (1)
|
||||
db "PEPPINO@", TRAINERTYPE_NORMAL
|
||||
db 23
|
||||
dw FORRETRESS
|
||||
db -1 ; end
|
||||
end_list_items
|
||||
|
||||
SportsmanGroup:
|
||||
next_list_item ; SPORTSMAN (1)
|
||||
db "JACQUES@", TRAINERTYPE_NORMAL
|
||||
db 23
|
||||
dw DODUO
|
||||
db -1 ; end
|
||||
end_list_items
|
||||
|
|
|
@ -70,4 +70,14 @@ TrainerGroups:
|
|||
dba OfficerGroup
|
||||
dba GruntFGroup
|
||||
dba MysticalmanGroup
|
||||
dba ChannelerGroup
|
||||
dba CueBallGroup
|
||||
dba EngineerGroup
|
||||
dba RockerGroup
|
||||
dba TamerGroup
|
||||
dba FirefighterGroup
|
||||
dba TeacherMGroup
|
||||
dba PainterGroup
|
||||
dba SoldierGroup
|
||||
dba SportsmanGroup
|
||||
assert_table_length NUM_TRAINER_CLASSES
|
||||
|
|
|
@ -70,4 +70,14 @@ TrainerPicPointers::
|
|||
dba OfficerPic
|
||||
dba GruntfPic
|
||||
dba MysticalmanPic
|
||||
dba ChannelerPic
|
||||
dba CueBallPic
|
||||
dba EngineerPic
|
||||
dba RockerPic
|
||||
dba TamerPic
|
||||
dba FirefighterPic
|
||||
dba TeacherMPic
|
||||
dba PainterPic
|
||||
dba SoldierPic
|
||||
dba SportsmanPic
|
||||
assert_table_length NUM_TRAINER_CLASSES
|
||||
|
|
|
@ -67,4 +67,15 @@ BTTrainerClassSprites:
|
|||
db SPRITE_BLUE
|
||||
db SPRITE_OFFICER
|
||||
db SPRITE_ROCKET_GIRL
|
||||
assert_table_length NUM_TRAINER_CLASSES - 1 ; exclude MYSTICALMAN
|
||||
db SPRITE_SUPER_NERD ; placeholder for mysticalman eusine
|
||||
db SPRITE_KAREN ; placeholder until the channeler overworld sprite is added.
|
||||
db SPRITE_BIKER ; Cue Ball
|
||||
db SPRITE_POKEFAN_M ; Engineer
|
||||
db SPRITE_ROCKER ; Rocker
|
||||
db SPRITE_POKEFAN_M ; Tamer
|
||||
db SPRITE_POKEFAN_M ; Firefighter
|
||||
db SPRITE_POKEFAN_M ; Teacher M
|
||||
db SPRITE_LASS ; Painter
|
||||
db SPRITE_ROCKER ; Soldier
|
||||
db SPRITE_SAILOR ; Sportsman uhhh
|
||||
assert_table_length NUM_TRAINER_CLASSES
|
||||
|
|
12
gfx/pics.asm
|
@ -950,3 +950,15 @@ MagipreyFrontpic: INCBIN "gfx/pokemon/magiprey/front.animated.2bpp.lz"
|
|||
MagipreyBackpic: INCBIN "gfx/pokemon/magiprey/back.2bpp.lz"
|
||||
TerradosFrontpic: INCBIN "gfx/pokemon/terrados/front.animated.2bpp.lz"
|
||||
TerradosBackpic: INCBIN "gfx/pokemon/terrados/back.2bpp.lz"
|
||||
|
||||
; RBY/unused trainer Pics
|
||||
ChannelerPic: INCBIN "gfx/trainers/channeler.2bpp.lz"
|
||||
CueBallPic: INCBIN "gfx/trainers/cue_ball.2bpp.lz"
|
||||
EngineerPic: INCBIN "gfx/trainers/engineer.2bpp.lz"
|
||||
RockerPic: INCBIN "gfx/trainers/rocker.2bpp.lz"
|
||||
TamerPic: INCBIN "gfx/trainers/tamer.2bpp.lz"
|
||||
FirefighterPic: INCBIN "gfx/trainers/firefighter.2bpp.lz"
|
||||
TeacherMPic: INCBIN "gfx/trainers/teacherm.2bpp.lz"
|
||||
PainterPic: INCBIN "gfx/trainers/painter.2bpp.lz"
|
||||
SoldierPic: INCBIN "gfx/trainers/soldier.2bpp.lz"
|
||||
SportsmanPic: INCBIN "gfx/trainers/sportsman.2bpp.lz"
|
||||
|
|
BIN
gfx/trainers/channeler.png
Normal file
After Width: | Height: | Size: 430 B |
BIN
gfx/trainers/cue_ball.png
Normal file
After Width: | Height: | Size: 430 B |
BIN
gfx/trainers/engineer.png
Normal file
After Width: | Height: | Size: 430 B |
BIN
gfx/trainers/firefighter.png
Normal file
After Width: | Height: | Size: 430 B |
BIN
gfx/trainers/painter.png
Normal file
After Width: | Height: | Size: 430 B |
BIN
gfx/trainers/rocker.png
Normal file
After Width: | Height: | Size: 430 B |
BIN
gfx/trainers/soldier.png
Normal file
After Width: | Height: | Size: 430 B |
BIN
gfx/trainers/sportsman.png
Normal file
After Width: | Height: | Size: 430 B |
BIN
gfx/trainers/tamer.png
Normal file
After Width: | Height: | Size: 430 B |
BIN
gfx/trainers/teacherm.png
Normal file
After Width: | Height: | Size: 430 B |