diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm index 607a8a38..18038cf6 100644 --- a/constants/trainer_constants.asm +++ b/constants/trainer_constants.asm @@ -62,4 +62,8 @@ ENDM trainer_const AGATHA ; $2E trainer_const LANCE ; $2F trainer_const YUJIROU ; $0D, was unused juggler, also not 0D but I can't be bothered to change everything + trainer_const STUDENT + trainer_const FIREFIGHTER + trainer_const JUNIOR + trainer_const JACK DEF NUM_TRAINERS EQU const_value - 1 diff --git a/data/trainers/ai_pointers.asm b/data/trainers/ai_pointers.asm index a2c6975b..9b3e53e4 100644 --- a/data/trainers/ai_pointers.asm +++ b/data/trainers/ai_pointers.asm @@ -16,7 +16,6 @@ TrainerAIPointers: dbw 3, GenericAI dbw 3, GenericAI dbw 3, GenericAI - dbw 3, JugglerAI ; unused_juggler dbw 3, GenericAI dbw 3, GenericAI dbw 3, GenericAI @@ -51,4 +50,9 @@ TrainerAIPointers: dbw 3, GenericAI dbw 2, AgathaAI ; agatha dbw 1, LanceAI ; lance + dbw 3, GenericAI ; Yujirou + dbw 3, GenericAI ; Student + dbw 3, GenericAI ; Firefighter + dbw 3, GenericAI ; Junior + dbw 2, BlackbeltAI ; Jack assert_table_length NUM_TRAINERS diff --git a/data/trainers/move_choices.asm b/data/trainers/move_choices.asm index d943a1da..d2b570e9 100644 --- a/data/trainers/move_choices.asm +++ b/data/trainers/move_choices.asm @@ -21,7 +21,6 @@ TrainerClassMoveChoiceModifications: move_choices 1 ; BIKER move_choices 1, 3 ; BURGLAR move_choices 1 ; ENGINEER - move_choices 1, 3, ; UNUSED_JUGGLER move_choices 1, 3 ; FISHER move_choices 1, 3 ; SWIMMER move_choices ; CUE_BALL @@ -56,4 +55,9 @@ TrainerClassMoveChoiceModifications: move_choices 1 ; CHANNELER move_choices 1 ; AGATHA move_choices 1, 3 ; LANCE + move_choices 1, 3, ; YUJIROU, was UNUSED_JUGGLER + move_choices 1, 3, ; STUDENT + move_choices 1, 3, ; FIREFIGHTER + move_choices 1, 3, ; JUNIOR + move_choices 1, 3, ; JACK assert_list_length NUM_TRAINERS diff --git a/data/trainers/names.asm b/data/trainers/names.asm index 861abcfd..07d69ef7 100644 --- a/data/trainers/names.asm +++ b/data/trainers/names.asm @@ -46,3 +46,7 @@ TrainerNames:: db "AGATHA@" db "LANCE@" db "YUJIROU@" + db "STUDENT@" + db "FIREFIGHTER@" + db "JUNIOR@" + db "JACK@" diff --git a/data/trainers/parties.asm b/data/trainers/parties.asm index 06d9d0c1..38f240b7 100644 --- a/data/trainers/parties.asm +++ b/data/trainers/parties.asm @@ -46,6 +46,10 @@ TrainerDataPointers: dw AgathaData dw LanceData dw YujirouData ; was unused juggler + dw StudentData + dw FirefighterData + dw JuniorData + dw JackData ; if first byte != $FF, then ; first byte is level (of all pokemon on this team) @@ -858,3 +862,11 @@ YujirouData: ; was unused juggler db $FF, 7, KONYA, 7, RATTATA, 10, LICKITUNG, 0 ; post-game rematch team (currently unused) db $FF, 66, PERSIAN, 67, TAUROS, 67, MADAAMU, 66, BLISSEY, 67, SNORLAX, 70, LICKILICKY, 0 + +StudentData: + +FirefighterData: + +JuniorData: + +JackData: diff --git a/data/trainers/pic_pointers_money.asm b/data/trainers/pic_pointers_money.asm index 6e6d8fb6..9dd434bd 100644 --- a/data/trainers/pic_pointers_money.asm +++ b/data/trainers/pic_pointers_money.asm @@ -20,7 +20,7 @@ TrainerPicAndMoneyPointers:: pic_money BurglarPic, 9000 pic_money EngineerPic, 5000 pic_money FisherPic, 3500 - pic_money SwimmerPic, 500 + pic_money SwimmerPic, 1500 pic_money CueBallPic, 2500 pic_money GamblerPic, 7000 pic_money BeautyPic, 7000 @@ -54,4 +54,8 @@ TrainerPicAndMoneyPointers:: pic_money AgathaPic, 9900 pic_money LancePic, 9900 pic_money YujirouPic, 9900 ; was unused juggler + pic_money StudentPic, 1000 + pic_money FirefighterPic, 1500 + pic_money JuniorPic, 1000 + pic_money JackPic, 5000 assert_table_length NUM_TRAINERS diff --git a/gfx/font/P.png b/gfx/font/P.png index 3df11133..01d8f8f5 100644 Binary files a/gfx/font/P.png and b/gfx/font/P.png differ diff --git a/gfx/pics.asm b/gfx/pics.asm index ba078c90..64452426 100644 --- a/gfx/pics.asm +++ b/gfx/pics.asm @@ -550,4 +550,8 @@ MissingNoPicFront:: INCBIN "gfx/pokemon/front/missingno.pic" MissingNoPicBack:: INCBIN "gfx/pokemon/back/missingnob.pic" SECTION "Pics 10", ROMX ; Extra Trainer Bank -YujirouPic:: INCBIN "gfx/trainers/yujirou.pic" \ No newline at end of file +YujirouPic:: INCBIN "gfx/trainers/yujirou.pic" +StudentPic:: INCBIN "gfx/trainers/student.pic" +FirefighterPic:: INCBIN "gfx/trainers/firefighter.pic" +JuniorPic:: INCBIN "gfx/trainers/junior.pic" +JackPic:: INCBIN "gfx/trainers/jack.pic" diff --git a/gfx/trainers/firefighter.png b/gfx/trainers/firefighter.png new file mode 100644 index 00000000..f0a3617b Binary files /dev/null and b/gfx/trainers/firefighter.png differ diff --git a/gfx/trainers/jack.png b/gfx/trainers/jack.png new file mode 100644 index 00000000..f8f22c82 Binary files /dev/null and b/gfx/trainers/jack.png differ diff --git a/gfx/trainers/junior.png b/gfx/trainers/junior.png new file mode 100644 index 00000000..8f42567c Binary files /dev/null and b/gfx/trainers/junior.png differ diff --git a/gfx/trainers/student.png b/gfx/trainers/student.png new file mode 100644 index 00000000..d4120cc8 Binary files /dev/null and b/gfx/trainers/student.png differ diff --git a/main.asm b/main.asm index 0e70bff2..4173dcd7 100644 --- a/main.asm +++ b/main.asm @@ -236,7 +236,7 @@ SECTION "Battle Engine 8", ROMX INCLUDE "engine/battle/init_battle_variables.asm" INCLUDE "engine/battle/move_effects/paralyze.asm" - +INCLUDE "engine/battle/experience.asm" ; moved because trainer ai grew too big SECTION "Hidden Objects 2", ROMX @@ -249,7 +249,6 @@ INCLUDE "engine/events/hidden_objects/indigo_plateau_hq.asm" SECTION "Battle Engine 9", ROMX -INCLUDE "engine/battle/experience.asm" INCLUDE "engine/battle/scroll_draw_trainer_pic.asm" INCLUDE "engine/battle/trainer_ai.asm" INCLUDE "engine/battle/draw_hud_pokeball_gfx.asm" diff --git a/scan_includes.exe.stackdump b/scan_includes.exe.stackdump index e821360a..a2642ae0 100644 --- a/scan_includes.exe.stackdump +++ b/scan_includes.exe.stackdump @@ -1,16 +1,15 @@ Exception: STATUS_ACCESS_VIOLATION at rip=00100401246 -rax=FFFFFFF7FFF97021 rbx=00000000000006AD rcx=0000000800000010 -rdx=0000000000000000 rsi=000000080005895E rdi=0000000000000000 -r8 =00000000FFFFC7C4 r9 =0000000000000000 r10=0000000100000000 -r11=0000000100401282 r12=0000000800068FE0 r13=0000000100403148 -r14=0000000000000000 r15=0000000000000001 -rbp=0000000100403156 rsp=00000000FFFFCA60 -program=C:\cygwin64\home\chipp\kep-hack\tools\scan_includes.exe, pid 1123, thread main +rax=FFFFFFF7FFFA7851 rbx=0000000000007D5E rcx=0000000800000010 +rdx=0000000000000000 rsi=0000000180369F60 rdi=0000000000000000 +r8 =00000000FFFFC844 r9 =0000000000000000 r10=0000000100000000 +r11=0000000100401282 r12=00000008000587B0 r13=0000000100403148 +r14=0000000000000018 r15=0000000000000001 +rbp=0000000100403156 rsp=00000000FFFFCAE0 +program=C:\cygwin64\home\chipp\kep-hack\tools\scan_includes.exe, pid 521, thread main cs=0033 ds=002B es=002B fs=0053 gs=002B ss=002B Stack trace: Frame Function Args -00100403156 00100401246 (0080005895E, 00000000022, 00100403166, 000FFFFCB90) -00100403156 00100401409 (00000000000, 00100000001, 00180227860, 00100407000) +00100403156 00100401246 (00000000000, 00100000001, 00180227860, 00100407000) 00100403178 00100401C87 (00000000020, 00000000000, 00180049B11, 00180048A70) 000FFFFCD30 00180049B7D (00000000000, 00000000000, 00000000000, 00000000000) 000FFFFFFF0 00180047746 (00000000000, 00000000000, 00000000000, 00000000000)