kep-hack/scripts/CeladonUniversityOutside.asm
Martha Schilling cf504c7f8f 1.3 prep: Part A
Uploading some of the 1.3 stuff to begin with, mainly the changes that are fully finished so far.

- After earning all 8 badges, the trainers in Celadon University get a decent level increase, allowing for a much better grinding spot between Victory Road and the Pokemon League.

- A handful of changes to move animations, credit to wrulfy for implementing some of these in their Carmine Red hack:
     - Struggle has the user bouncing up and down similarly to Splash, rather than shaking back and forth.
     - Slam has the user move forward while attacking.
     - Mega Kick has the user move back, then lunging forward while attacking.
     - Jump Kick has the user move forward while attacking, as well as a sound effect change.
     - Horn Drill uses a unique animation of a rotating star effect, as well as darkening the screen.
     - Both confusion-inflicting status moves show birds circling the enemy.
     - Hyper Beam is slightly slower, and shakes the screen after the hit.
     - Drill Peck uses the same circling star animation as Horn Drill.
     - Solar Beam has a 'gathering energy' effect while lighting up the screen.
     - SmokeScreen is a lot faster.
     - Skull Bash shakes the screen and moves the user horizontally while attacking.
     - Hi Jump Kick made slightly faster.
     - Dazzling Gleam lights up the screen and has been made slightly longer.
     - Acid Armor has been given a proper animatio, and no longer makes the user invisible.

- It's now possible to Escape Rope out of the SS Anne and Silph Gauntlet 3F.

- Changes made to a handful of Victory Road and Silph Gauntlet trainer parties.

- Slight level buffs to the Elite 4 initial matches, and significant buffs to their rematches.

- Silph Gauntlet Gym rematches have been increased by a few levels, and Chief has been similarly buffed.

- Slight encounter tweaks to Route 23

- Level buffs to Victory Road's wild encounters

- Minor text fixes

-
2024-03-09 11:34:22 +00:00

293 lines
6 KiB
NASM

CeladonUniversityOutside_Script:
call EnableAutoTextBoxDrawing
ld de, CeladonUniversityOutside_ScriptPointers
ld a, [wCeladonUniversityOutsideCurScript]
ret
CeladonUniversityOutside_ScriptPointers:
dw EndTrainerBattle
CeladonUniversityOutside_TextPointers:
dw CeladonUniversityOutsideText1
dw CeladonUniversityOutsideText2
dw CeladonUniversityOutsideText3
dw CeladonUniversityOutsideText4
dw CeladonUniversityOutsideNPC1
dw CeladonUniversityOutsideNPC2
dw CeladonMagikarp
db -1 ; end
CeladonUniversityOutsideText1: ; Starter girl
text_asm
ld hl, CeladonUniversityOutsideYesNo1
call PrintText
call YesNoChoice
ld a, [wCurrentMenuItem]
and a
jr nz, .refused
ld hl, CeladonUniversityOutsideBattleText1
call PrintText
ld c, 0 ; BANK(Music_MeetFemaleTrainer)
ld a, MUSIC_MEET_FEMALE_TRAINER
call PlayMusic
ld hl, wd72d
set 6, [hl]
set 7, [hl]
call Delay3
CheckEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI
jr nz, .hardmode1
ld a, OPP_STUDENT
ld [wCurOpponent], a
ld a, 4
ld [wTrainerNo], a
jr .skip1
.hardmode1
ld a, OPP_STUDENT
ld [wCurOpponent], a
ld a, 5
ld [wTrainerNo], a
.skip1
ld [wIsTrainerBattle], a
ld a, $2
ld [wCeladonUniversityOutsideCurScript], a
ld hl, CeladonUniversityOutsideLoseText1
ld de, CeladonUniversityOutsideWinText
call SaveEndBattleTextPointers
jp TextScriptEnd
jr .done
.refused
ld hl, CeladonUniversityRefuse
jr .done
.done
ld hl, CeladonUniversityOutsideAfterBattleText
call PrintText
jp TextScriptEnd
CeladonUniversityOutsideText2: ; Porygon guy
text_asm
ld hl, CeladonUniversityOutsideYesNo2
call PrintText
call YesNoChoice
ld a, [wCurrentMenuItem]
and a
jr nz, .refused
ld hl, CeladonUniversityOutsideBattleText2
call PrintText
ld c, 0 ; BANK(Music_MeetMaleTrainer)
ld a, MUSIC_MEET_MALE_TRAINER
call PlayMusic
ld hl, wd72d
set 6, [hl]
set 7, [hl]
call Delay3
CheckEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI
jr nz, .hardmode2
ld a, OPP_SUPER_NERD
ld [wCurOpponent], a
ld a, 6
ld [wTrainerNo], a
jr .skip2
.hardmode2
ld a, OPP_SUPER_NERD
ld [wCurOpponent], a
ld a, 13
ld [wTrainerNo], a
.skip2
ld [wIsTrainerBattle], a
ld a, $2
ld [wCeladonUniversityOutsideCurScript], a
ld hl, CeladonUniversityOutsideLoseText2
ld de, CeladonUniversityOutsideWinText
call SaveEndBattleTextPointers
jp TextScriptEnd
jr .done
.refused
ld hl, CeladonUniversityRefuse
jr .done
.done
ld hl, CeladonUniversityOutsideAfterBattleText
call PrintText
jp TextScriptEnd
CeladonUniversityOutsideText3: ; Golem guy
text_asm
ld hl, CeladonUniversityOutsideYesNo3
call PrintText
call YesNoChoice
ld a, [wCurrentMenuItem]
and a
jr nz, .refused
ld hl, CeladonUniversityOutsideBattleText3
call PrintText
ld c, 0; BANK(Music_MeetMaleTrainer)
ld a, MUSIC_MEET_MALE_TRAINER
call PlayMusic
ld hl, wd72d
set 6, [hl]
set 7, [hl]
call Delay3
CheckEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI
jr nz, .hardmode3
ld a, OPP_ENGINEER
ld [wCurOpponent], a
ld a, 1
ld [wTrainerNo], a
jr .skip3
.hardmode3
ld a, OPP_ENGINEER
ld [wCurOpponent], a
ld a, 5
ld [wTrainerNo], a
.skip3
ld [wIsTrainerBattle], a
ld a, $2
ld [wCeladonUniversityOutsideCurScript], a
ld hl, CeladonUniversityOutsideLoseText3
ld de, CeladonUniversityOutsideWinText
call SaveEndBattleTextPointers
jp TextScriptEnd
jr .done
.refused
ld hl, CeladonUniversityRefuse
jr .done
.done
ld hl, CeladonUniversityOutsideAfterBattleText
call PrintText
jp TextScriptEnd
CeladonUniversityOutsideText4: ; Mt Moon guy
text_asm
ld hl, CeladonUniversityOutsideYesNo4
call PrintText
call YesNoChoice
ld a, [wCurrentMenuItem]
and a
jr nz, .refused
ld hl, CeladonUniversityOutsideBattleText4
call PrintText
ld c, 0 ;BANK(Music_MeetMaleTrainer)
ld a, MUSIC_MEET_MALE_TRAINER
call PlayMusic
ld hl, wd72d
set 6, [hl]
set 7, [hl]
call Delay3
CheckEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI
jr nz, .hardmode4
ld a, OPP_SUPER_NERD
ld [wCurOpponent], a
ld a, 7
ld [wTrainerNo], a
jr .skip4
.hardmode4
ld a, OPP_SUPER_NERD
ld [wCurOpponent], a
ld a, 14
ld [wTrainerNo], a
.skip4
ld [wIsTrainerBattle], a
ld a, $2
ld [wCeladonUniversityOutsideCurScript], a
ld hl, CeladonUniversityOutsideLoseText4
ld de, CeladonUniversityOutsideWinText
call SaveEndBattleTextPointers
jp TextScriptEnd
jr .done
.refused
ld hl, CeladonUniversityRefuse
jr .done
.done
ld hl, CeladonUniversityOutsideAfterBattleText
call PrintText
jp TextScriptEnd
CeladonUniversityOutsideNPC1:
text_far _CeladonUniversityOutsideNPC1
text_end
CeladonUniversityOutsideNPC2:
text_far _CeladonUniversityOutsideNPC2
text_end
CeladonUniversityOutsideBattleText1:
text_far _CeladonUniversityOutsideBattleText1
text_end
CeladonUniversityOutsideBattleText2:
text_far _CeladonUniversityOutsideBattleText2
text_end
CeladonUniversityOutsideBattleText3:
text_far _CeladonUniversityOutsideBattleText3
text_end
CeladonUniversityOutsideBattleText4:
text_far _CeladonUniversityOutsideBattleText4
text_end
CeladonUniversityOutsideLoseText1:
text_far _CeladonUniversityOutsideLoseText1
text_end
CeladonUniversityOutsideLoseText2:
text_far _CeladonUniversityOutsideLoseText2
text_end
CeladonUniversityOutsideLoseText3:
text_far _CeladonUniversityOutsideLoseText3
text_end
CeladonUniversityOutsideLoseText4:
text_far _CeladonUniversityOutsideLoseText4
text_end
CeladonUniversityOutsideWinText:
text_far _CeladonUniversityOutsideWinText
text_end
CeladonUniversityOutsideAfterBattleText:
text_far _CeladonUniversityOutsideAfterBattleText
text_end
CeladonUniversityOutsideYesNo1:
text_far _CeladonUniversityOutsideYesNo1
text_end
CeladonUniversityOutsideYesNo2:
text_far _CeladonUniversityOutsideYesNo2
text_end
CeladonUniversityOutsideYesNo3:
text_far _CeladonUniversityOutsideYesNo3
text_end
CeladonUniversityOutsideYesNo4:
text_far _CeladonUniversityOutsideYesNo4
text_end
CeladonUniversityRefuse:
text_far _CeladonUniversityRefuse
text_end
CeladonMagikarp:
text_far _CeladonMagikarp
text_asm
ld a, MAGIKARP
call PlayCry
call WaitForSoundToFinish
jp TextScriptEnd
text_end ; unused