mirror of
				https://github.com/thornAvery/kep-hack.git
				synced 2025-11-04 20:51:02 +13:00 
			
		
		
		
	Improvements to Chief!
- Now has a rematch team, just with boosted levels - Has unique dialogue if you never picked up the Master Ball before fighting him, including after winning - Has new dialogue on subsequent matches We're nearly done.
This commit is contained in:
		
							parent
							
								
									d20207f012
								
							
						
					
					
						commit
						4c0dfdfedd
					
				| 
						 | 
				
			
			@ -819,6 +819,7 @@ DEF INDIGO_PLATEAU_EVENTS_END EQU const_value - 1
 | 
			
		|||
	const_skip 4
 | 
			
		||||
	const EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH
 | 
			
		||||
	const EVENT_BEAT_CHIEF ; moved out of the below union to prevent bugs
 | 
			
		||||
	const EVENT_MEWTWO_UNLOCKED
 | 
			
		||||
 | 
			
		||||
; Silph Gauntlet events
 | 
			
		||||
	const_next $930
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -563,6 +563,7 @@ BlackbeltData:
 | 
			
		|||
ChiefData:
 | 
			
		||||
; Silph Gauntlet 7F
 | 
			
		||||
	db $FF, 66, ELECTRODE, 65, LAPRAS, 66, SCIZOR, 65, GENGAR, 68, PORYGONZ, 70, OMEGADGE, 0
 | 
			
		||||
	db $FF, 73, ELECTRODE, 72, LAPRAS, 73, SCIZOR, 72, GENGAR, 75, PORYGONZ, 78, OMEGADGE, 0
 | 
			
		||||
; Lapras and Gengar are used here since Lapras is given by a Silph worker, and Gengar represents the Silph Scope.
 | 
			
		||||
 | 
			
		||||
; Poison- and Electric-type Pokemon
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1362,6 +1362,27 @@ SpecialTrainerMoves:
 | 
			
		|||
	db 6, 2, THUNDER_WAVE
 | 
			
		||||
	db 6, 4, ICE_BEAM
 | 
			
		||||
	db 0
 | 
			
		||||
 | 
			
		||||
	db CHIEF, 2
 | 
			
		||||
	db 1, 1, THUNDERBOLT
 | 
			
		||||
	db 1, 2, THUNDER_WAVE
 | 
			
		||||
	db 1, 3, HEADBUTT
 | 
			
		||||
	db 2, 1, BLIZZARD
 | 
			
		||||
	db 2, 2, THUNDERBOLT
 | 
			
		||||
	db 2, 3, SING
 | 
			
		||||
	db 2, 4, HYPER_BEAM
 | 
			
		||||
	db 3, 1, IRON_HEAD
 | 
			
		||||
	db 3, 3, HYPER_BEAM
 | 
			
		||||
	db 4, 1, EXPLOSION
 | 
			
		||||
	db 4, 2, THUNDERBOLT
 | 
			
		||||
	db 4, 4, ICE_PUNCH
 | 
			
		||||
	db 5, 1, THUNDERBOLT
 | 
			
		||||
	db 5, 2, ICE_BEAM
 | 
			
		||||
	db 5, 3, RECOVER
 | 
			
		||||
	db 6, 1, THUNDERBOLT
 | 
			
		||||
	db 6, 2, THUNDER_WAVE
 | 
			
		||||
	db 6, 4, ICE_BEAM
 | 
			
		||||
	db 0
 | 
			
		||||
	
 | 
			
		||||
	db JESSIE_JAMES, 5	; J&J postgame
 | 
			
		||||
	db 1, 1, BUBBLEBEAM
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -141,7 +141,6 @@ ROMX $1D
 | 
			
		|||
	"Itemfinder 1"
 | 
			
		||||
	"Maps 20"
 | 
			
		||||
	"Maps 21"
 | 
			
		||||
	"Itemfinder 2"
 | 
			
		||||
ROMX $1E
 | 
			
		||||
	"bank1E"
 | 
			
		||||
ROMX $1F
 | 
			
		||||
| 
						 | 
				
			
			@ -151,6 +150,7 @@ ROMX $1F
 | 
			
		|||
	"Sound Effects 3"
 | 
			
		||||
;	"Audio Engine 3"
 | 
			
		||||
;	"Music 3"
 | 
			
		||||
	"Itemfinder 2"
 | 
			
		||||
ROMX $20
 | 
			
		||||
	"Text 1"
 | 
			
		||||
ROMX $21
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -180,7 +180,7 @@ ResetLegendaryPokemon:
 | 
			
		|||
	call ShowThis
 | 
			
		||||
.skipMew
 | 
			
		||||
	CheckEvent EVENT_POST_GAME_ATTAINED
 | 
			
		||||
	jp z, .skipGalarianBirdsAndMewtwo ; If you haven't cleared the game yet, you've not met the Galarian Birds. So we may as well skip processing all this.
 | 
			
		||||
	jp z, .skipGalarianBirdsAndMewtwo
 | 
			
		||||
	ld a, DEX_ARTICUNO_G
 | 
			
		||||
	call HoFIsPokemonBitSet
 | 
			
		||||
	jr nz, .skipArticunoG
 | 
			
		||||
| 
						 | 
				
			
			@ -257,7 +257,6 @@ ObjectsToHide:
 | 
			
		|||
	db HS_BILLS_NIDORINO ; Bill's Garden access
 | 
			
		||||
	db HS_MANSION_GUARD ; Pokemon Mansion basement access
 | 
			
		||||
	db HS_MT_MOON_CRATER_GUARD ; Mt. Moon Crater access
 | 
			
		||||
	db HS_CERULEAN_CAVE_GUY ; Cerulean Cave access
 | 
			
		||||
	db -1 ; end
 | 
			
		||||
 | 
			
		||||
; Farcalling this caused weird issues so I'm just using a clone
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -95,6 +95,7 @@ ChiefScript4:
 | 
			
		|||
	ld a, HS_CERULEAN_CAVE_GUY
 | 
			
		||||
	ld [wMissableObjectIndex], a
 | 
			
		||||
	predef HideObject
 | 
			
		||||
	SetEvent EVENT_MEWTWO_UNLOCKED
 | 
			
		||||
	ResetEventRange SILPH_GAUNTLET_EVENTS_START, SILPH_GAUNTLET_EVENTS_END, 1 
 | 
			
		||||
	
 | 
			
		||||
	ld a, $0
 | 
			
		||||
| 
						 | 
				
			
			@ -117,8 +118,10 @@ SilphGauntlet7F_TextPointers:
 | 
			
		|||
 | 
			
		||||
ChiefText1:
 | 
			
		||||
	text_asm
 | 
			
		||||
	CheckEvent EVENT_MEWTWO_UNLOCKED
 | 
			
		||||
	jr nz, .chiefSecondFight
 | 
			
		||||
	CheckEvent EVENT_BEAT_CHIEF ; Check if Chief was beaten
 | 
			
		||||
	jr nz, .chiefBeaten ; If Chief has been beaten, skip the trainer loading
 | 
			
		||||
	jr nz, .chiefBeaten1 ; If Chief has been beaten, skip the trainer loading
 | 
			
		||||
	; standard processing
 | 
			
		||||
	ld hl, ChiefMonologue
 | 
			
		||||
	call PrintText
 | 
			
		||||
| 
						 | 
				
			
			@ -127,6 +130,9 @@ ChiefText1:
 | 
			
		|||
	call z, WaitForTextScrollButtonPress ; and here.
 | 
			
		||||
	call EnableAutoTextBoxDrawing ; and here.
 | 
			
		||||
	
 | 
			
		||||
	CheckEvent EVENT_GOT_MASTER_BALL ; Check if Master Ball was collected.
 | 
			
		||||
	ld hl, ChiefMonologueMasterBallNotCollected ; If no, load this text...
 | 
			
		||||
	jr z, .masterBallSkip ; ...then skip.
 | 
			
		||||
	CheckEvent EVENT_USED_MASTER_BALL ; Check if the Master Ball has been used.
 | 
			
		||||
	ld hl, ChiefMonologueMasterBallNotUsed ; Load not used by default.
 | 
			
		||||
	jr z, .masterBallSkip ; In which case, we can skip.
 | 
			
		||||
| 
						 | 
				
			
			@ -153,12 +159,48 @@ ChiefText1:
 | 
			
		|||
	ld de, ChiefVictoryText
 | 
			
		||||
	call SaveEndBattleTextPointers
 | 
			
		||||
	jr .done
 | 
			
		||||
.chiefBeaten
 | 
			
		||||
	ld hl, ChiefAfterBattleText
 | 
			
		||||
.chiefBeaten1
 | 
			
		||||
	CheckEvent EVENT_GOT_MASTER_BALL ; Check if Master Ball was collected.
 | 
			
		||||
	ld hl, ChiefAltAfterBattleText ; If no, load this text...
 | 
			
		||||
	jr z, .noMBallskip	; ...then skip.
 | 
			
		||||
	ld hl, ChiefAfterBattleText	; otherwise, load this.
 | 
			
		||||
.noMBallskip
 | 
			
		||||
	call PrintText
 | 
			
		||||
	; fallthrough
 | 
			
		||||
.done
 | 
			
		||||
	jp TextScriptEnd
 | 
			
		||||
.chiefSecondFight
 | 
			
		||||
	CheckEvent EVENT_BEAT_CHIEF ; Check if Chief was beaten
 | 
			
		||||
	jr nz, .chiefBeaten2 ; If Chief has been beaten, skip the trainer loading
 | 
			
		||||
	ld hl, ChiefMonologueRematch
 | 
			
		||||
	call PrintText
 | 
			
		||||
	ld a, [wSimulatedJoypadStatesEnd] ; ensuring that the text doesn't autoskip.
 | 
			
		||||
	and a ; yep, here too.
 | 
			
		||||
	call z, WaitForTextScrollButtonPress ; and here.
 | 
			
		||||
	call EnableAutoTextBoxDrawing ; and here.
 | 
			
		||||
	ld c, BANK(Music_MeetEvilTrainer)
 | 
			
		||||
	ld a, MUSIC_MEET_EVIL_TRAINER
 | 
			
		||||
	call PlayMusic
 | 
			
		||||
	
 | 
			
		||||
	call Delay3
 | 
			
		||||
	ld hl, wd72d
 | 
			
		||||
	set 6, [hl]
 | 
			
		||||
	set 7, [hl]
 | 
			
		||||
	ld a, OPP_CHIEF
 | 
			
		||||
	ld [wCurOpponent], a
 | 
			
		||||
	ld a, 2
 | 
			
		||||
	ld [wTrainerNo], a
 | 
			
		||||
	ld [wIsTrainerBattle], a
 | 
			
		||||
	ld a, $1
 | 
			
		||||
	ld [wSilphGauntlet7FCurScript], a
 | 
			
		||||
	ld hl, ChiefDefeatedText2
 | 
			
		||||
	ld de, ChiefVictoryText2
 | 
			
		||||
	call SaveEndBattleTextPointers
 | 
			
		||||
	jr .done
 | 
			
		||||
.chiefBeaten2
 | 
			
		||||
	ld hl, ChiefAfterBattleText2
 | 
			
		||||
	call PrintText
 | 
			
		||||
	jr .done
 | 
			
		||||
 | 
			
		||||
ChiefMonologue:
 | 
			
		||||
	text_far _ChiefMonologue
 | 
			
		||||
| 
						 | 
				
			
			@ -171,6 +213,10 @@ ChiefMonologueMasterBallUsed:
 | 
			
		|||
ChiefMonologueMasterBallNotUsed:
 | 
			
		||||
	text_far _ChiefMonologueMasterBallNotUsed
 | 
			
		||||
	text_end
 | 
			
		||||
	
 | 
			
		||||
ChiefMonologueMasterBallNotCollected:
 | 
			
		||||
	text_far _ChiefMonologueMasterBallNotCollected
 | 
			
		||||
	text_end
 | 
			
		||||
 | 
			
		||||
ChiefDefeatedText:
 | 
			
		||||
	text_far _ChiefDefeatedText
 | 
			
		||||
| 
						 | 
				
			
			@ -183,6 +229,26 @@ ChiefVictoryText:
 | 
			
		|||
ChiefAfterBattleText:
 | 
			
		||||
	text_far _ChiefAfterBattleText
 | 
			
		||||
	text_end
 | 
			
		||||
	
 | 
			
		||||
ChiefAltAfterBattleText:
 | 
			
		||||
	text_far _ChiefAltAfterBattleText
 | 
			
		||||
	text_end
 | 
			
		||||
	
 | 
			
		||||
ChiefMonologueRematch:
 | 
			
		||||
	text_far _ChiefMonologueRematch
 | 
			
		||||
	text_end
 | 
			
		||||
 | 
			
		||||
ChiefDefeatedText2:
 | 
			
		||||
	text_far _ChiefDefeatedText2
 | 
			
		||||
	text_end
 | 
			
		||||
 | 
			
		||||
ChiefVictoryText2:
 | 
			
		||||
	text_far _ChiefVictoryText2
 | 
			
		||||
	text_end
 | 
			
		||||
 | 
			
		||||
ChiefAfterBattleText2:
 | 
			
		||||
	text_far _ChiefAfterBattleText2
 | 
			
		||||
	text_end
 | 
			
		||||
 | 
			
		||||
ChiefPC:
 | 
			
		||||
	text_far _ChiefPCText
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -148,7 +148,7 @@ _SilphCo10Text_6237b::
 | 
			
		|||
 | 
			
		||||
_OmegaBattleText::
 | 
			
		||||
	text "Bzzt! Clank!"
 | 
			
		||||
	text_end
 | 
			
		||||
	done
 | 
			
		||||
 | 
			
		||||
; Fun fact: For some reason, this text is stored in 10F. Seems to be a beta element - they ARE encountered in 11F.
 | 
			
		||||
_SilphCoJessieJamesText1::
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -8,9 +8,13 @@ _ChiefMonologue::
 | 
			
		|||
 | 
			
		||||
	para "However, I can't" 
 | 
			
		||||
	line "let you leave"
 | 
			
		||||
	cont "this place. You"
 | 
			
		||||
	cont "are still looking"
 | 
			
		||||
	cont "for the ultimate"
 | 
			
		||||
	cont "this place quite"
 | 
			
		||||
	cont "yet..."
 | 
			
		||||
	prompt
 | 
			
		||||
 | 
			
		||||
_ChiefMonologueMasterBallNotUsed::
 | 
			
		||||
	text "You're looking for"
 | 
			
		||||
	line "for the ultimate"
 | 
			
		||||
	cont "#MON, aren't"
 | 
			
		||||
	cont "you?"
 | 
			
		||||
	
 | 
			
		||||
| 
						 | 
				
			
			@ -22,10 +26,8 @@ _ChiefMonologue::
 | 
			
		|||
	cont "GIOVANNI gone,"
 | 
			
		||||
	cont "our company is"
 | 
			
		||||
	cont "going under!"
 | 
			
		||||
	prompt
 | 
			
		||||
 | 
			
		||||
_ChiefMonologueMasterBallNotUsed::
 | 
			
		||||
	text "Now there's only"
 | 
			
		||||
	para "Now there's only"
 | 
			
		||||
	line "one way to catch" 
 | 
			
		||||
	cont "MEWTWO, and it's"
 | 
			
		||||
	cont "in your hands!" 
 | 
			
		||||
| 
						 | 
				
			
			@ -33,10 +35,24 @@ _ChiefMonologueMasterBallNotUsed::
 | 
			
		|||
	para "<PLAYER>!"
 | 
			
		||||
	
 | 
			
		||||
	para "Give me that BALL!"
 | 
			
		||||
	prompt
 | 
			
		||||
	done
 | 
			
		||||
 | 
			
		||||
_ChiefMonologueMasterBallUsed::
 | 
			
		||||
	text "...what? You used"
 | 
			
		||||
	text "You're looking for"
 | 
			
		||||
	line "for the ultimate"
 | 
			
		||||
	cont "#MON, aren't"
 | 
			
		||||
	cont "you?"
 | 
			
		||||
	
 | 
			
		||||
	para "That MASTER"
 | 
			
		||||
	line "BALL... I should"
 | 
			
		||||
	cont "never have given"
 | 
			
		||||
	cont "it to you! With"
 | 
			
		||||
	cont "MEWTWO loose and"
 | 
			
		||||
	cont "GIOVANNI gone,"
 | 
			
		||||
	cont "our company is"
 | 
			
		||||
	cont "going under!"
 | 
			
		||||
 | 
			
		||||
	para "...what? You used"
 | 
			
		||||
	line "the MASTER BALL?!"
 | 
			
		||||
	
 | 
			
		||||
	para "You stupid child!"
 | 
			
		||||
| 
						 | 
				
			
			@ -50,7 +66,31 @@ _ChiefMonologueMasterBallUsed::
 | 
			
		|||
	
 | 
			
		||||
	para "You are in for"
 | 
			
		||||
	line "a world of hurt!" ; Like Giovanni, but with a slightly more pompous tone in using "hurt".
 | 
			
		||||
	prompt
 | 
			
		||||
	done
 | 
			
		||||
 | 
			
		||||
_ChiefMonologueMasterBallNotCollected::
 | 
			
		||||
	text "As I watched you"
 | 
			
		||||
	line "battle GIOVANNI,"
 | 
			
		||||
	cont "I know how you"
 | 
			
		||||
	cont "and your #MON"
 | 
			
		||||
	cont "fight."
 | 
			
		||||
	
 | 
			
		||||
	para "I must say, your"
 | 
			
		||||
	line "strength seems..."
 | 
			
		||||
	cont "promising. That's"
 | 
			
		||||
	cont "why I invited you"
 | 
			
		||||
	cont "here, after all."
 | 
			
		||||
 | 
			
		||||
	para "Before my next big"
 | 
			
		||||
	line "plan, I must see"
 | 
			
		||||
	cont "how well I stand"
 | 
			
		||||
	cont "against the new"
 | 
			
		||||
	cont "champion!"
 | 
			
		||||
 | 
			
		||||
	para "<PLAYER>!"
 | 
			
		||||
	
 | 
			
		||||
	para "Give it your all!"
 | 
			
		||||
	done
 | 
			
		||||
 | 
			
		||||
_ChiefDefeatedText::
 | 
			
		||||
	text "No! I..."
 | 
			
		||||
| 
						 | 
				
			
			@ -92,6 +132,27 @@ _ChiefAfterBattleText::
 | 
			
		|||
	cont "world."
 | 
			
		||||
	
 | 
			
		||||
	done
 | 
			
		||||
	
 | 
			
		||||
_ChiefAltAfterBattleText::
 | 
			
		||||
	text "CHIEF: Just as"
 | 
			
		||||
	line "I thought..."
 | 
			
		||||
	cont "No product I"
 | 
			
		||||
	cont "have is capable"
 | 
			
		||||
	cont "of trouncing you."
 | 
			
		||||
 | 
			
		||||
	para "Money means I can"
 | 
			
		||||
	line "be as powerful as"
 | 
			
		||||
	cont "I want, but what"
 | 
			
		||||
	cont "I do with that"
 | 
			
		||||
	cont "power...is very"
 | 
			
		||||
	cont "important."
 | 
			
		||||
	
 | 
			
		||||
	para "I still have much"
 | 
			
		||||
	line "yet to learn..."
 | 
			
		||||
 | 
			
		||||
	para "Go."
 | 
			
		||||
	
 | 
			
		||||
	done
 | 
			
		||||
 | 
			
		||||
_ChiefPCText::
 | 
			
		||||
	text "It's a PC with"
 | 
			
		||||
| 
						 | 
				
			
			@ -119,3 +180,46 @@ _ChiefPainting2::
 | 
			
		|||
	line "of GAWARHED, an"
 | 
			
		||||
	cont "extinct #MON!"
 | 
			
		||||
	done
 | 
			
		||||
	
 | 
			
		||||
_ChiefMonologueRematch::
 | 
			
		||||
	text "CHIEF: What?"
 | 
			
		||||
	line "you're back?"
 | 
			
		||||
	
 | 
			
		||||
	para "Hmm...you're"
 | 
			
		||||
	line "looking for a"
 | 
			
		||||
	cont "rematch, is that"
 | 
			
		||||
	cont "it?"
 | 
			
		||||
 | 
			
		||||
	para "Alright, if you"
 | 
			
		||||
	line "insist. OMEGADGE" 
 | 
			
		||||
	cont "could always use"
 | 
			
		||||
	cont "some more battle"
 | 
			
		||||
	cont "data..."
 | 
			
		||||
	
 | 
			
		||||
	para "So, no holding"
 | 
			
		||||
	line "back!"
 | 
			
		||||
	done
 | 
			
		||||
	
 | 
			
		||||
_ChiefDefeatedText2::
 | 
			
		||||
	text "Impressive"
 | 
			
		||||
	line "work..."
 | 
			
		||||
	prompt
 | 
			
		||||
 | 
			
		||||
_ChiefVictoryText2::
 | 
			
		||||
	text "CHIEF: I"
 | 
			
		||||
	line "expected better."
 | 
			
		||||
	prompt
 | 
			
		||||
	
 | 
			
		||||
_ChiefAfterBattleText2::
 | 
			
		||||
	text "CHIEF: It really"
 | 
			
		||||
	line "is no wonder"
 | 
			
		||||
	cont "how you've been"
 | 
			
		||||
	cont "capable of"
 | 
			
		||||
	cont "accomplishing so"
 | 
			
		||||
	cont "much..."
 | 
			
		||||
 | 
			
		||||
	para "You truly trust"
 | 
			
		||||
	line "and care for"
 | 
			
		||||
	cont "your #MON."
 | 
			
		||||
	
 | 
			
		||||
	done
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue