shithub: pokecrystal

ref: d132a20b7aa5e0e411683e792d90947ab195e1d4
dir: /engine/events/battle_tower/trainer_text.asm/

View raw version
BattleTowerText::
; Print text c for trainer [wBT_OTTrainerClass]
; 1: Intro text
; 2: Player lost
; 3: Player won
	ldh a, [rSVBK]
	push af
	ld a, BANK(wBT_OTTrainerClass)
	ldh [rSVBK], a
if DEF(_CRYSTAL11)
	ld hl, wBT_OTTrainerClass
else
; BUG ALERT
; Instead of loading the Trainer Class, this routine
; loads the 6th character in the Trainer's name, then
; uses it to get the gender of the trainer.
; As a consequence, the enemy trainer's dialog will
; always be sampled from the female array.
	ld hl, wBT_OTName + NAME_LENGTH_JAPANESE - 1
endc
	ld a, [hl]
	dec a
	ld e, a
	ld d, 0
	ld hl, BTTrainerClassGenders
	add hl, de
	ld a, [hl]
	and a
	jr nz, .female
	; generate a random number between 0 and 24
	ldh a, [hRandomAdd]
	and $1f
	cp 25
	jr c, .okay0
	sub 25

.okay0
	ld hl, BTMaleTrainerTexts
	jr .proceed

.female
	; generate a random number between 0 and 14
	ldh a, [hRandomAdd]
	and $f
	cp 15
	jr c, .okay1
	sub 15

.okay1
	ld hl, BTFemaleTrainerTexts

.proceed
	ld b, 0
	dec c
	jr nz, .restore
	ld [wBT_TrainerTextIndex], a
	jr .okay2

.restore
	ld a, [wBT_TrainerTextIndex]

.okay2
	push af
	add hl, bc
	add hl, bc
	ld a, [hli]
	ld c, a
	ld a, [hl]
	ld h, a
	ld l, c
	pop af
	ld c, a
	ld b, 0
	add hl, bc
	add hl, bc
	ld a, [hli]
	ld c, a
	ld a, [hl]
	ld l, c
	ld h, a
	bccoord 1, 14
	pop af
	ldh [rSVBK], a
	call PlaceHLTextAtBC
	ret

INCLUDE "mobile/fixed_words.asm"

INCLUDE "data/trainers/genders.asm"

BTMaleTrainerTexts:
	dw .Greetings
	dw .PlayerLost
	dw .PlayerWon

.Greetings:
	dw BTGreetingM1Text
	dw BTGreetingM2Text
	dw BTGreetingM3Text
	dw BTGreetingM4Text
	dw BTGreetingM5Text
	dw BTGreetingM6Text
	dw BTGreetingM7Text
	dw BTGreetingM8Text
	dw BTGreetingM9Text
	dw BTGreetingM10Text
	dw BTGreetingM11Text
	dw BTGreetingM12Text
	dw BTGreetingM13Text
	dw BTGreetingM14Text
	dw BTGreetingM15Text
	dw BTGreetingM16Text
	dw BTGreetingM17Text
	dw BTGreetingM18Text
	dw BTGreetingM19Text
	dw BTGreetingM20Text
	dw BTGreetingM21Text
	dw BTGreetingM22Text
	dw BTGreetingM23Text
	dw BTGreetingM24Text
	dw BTGreetingM25Text

.PlayerLost:
	dw BTLossM1Text
	dw BTLossM2Text
	dw BTLossM3Text
	dw BTLossM4Text
	dw BTLossM5Text
	dw BTLossM6Text
	dw BTLossM7Text
	dw BTLossM8Text
	dw BTLossM9Text
	dw BTLossM10Text
	dw BTLossM11Text
	dw BTLossM12Text
	dw BTLossM13Text
	dw BTLossM14Text
	dw BTLossM15Text
	dw BTLossM16Text
	dw BTLossM17Text
	dw BTLossM18Text
	dw BTLossM19Text
	dw BTLossM20Text
	dw BTLossM21Text
	dw BTLossM22Text
	dw BTLossM23Text
	dw BTLossM24Text
	dw BTLossM25Text

.PlayerWon:
	dw BTWinM1Text
	dw BTWinM2Text
	dw BTWinM3Text
	dw BTWinM4Text
	dw BTWinM5Text
	dw BTWinM6Text
	dw BTWinM7Text
	dw BTWinM8Text
	dw BTWinM9Text
	dw BTWinM10Text
	dw BTWinM11Text
	dw BTWinM12Text
	dw BTWinM13Text
	dw BTWinM14Text
	dw BTWinM15Text
	dw BTWinM16Text
	dw BTWinM17Text
	dw BTWinM18Text
	dw BTWinM19Text
	dw BTWinM20Text
	dw BTWinM21Text
	dw BTWinM22Text
	dw BTWinM23Text
	dw BTWinM24Text
	dw BTWinM25Text

BTFemaleTrainerTexts:
	dw .Greetings
	dw .PlayerLost
	dw .PlayerWon

.Greetings:
	dw BTGreetingF1Text
	dw BTGreetingF2Text
	dw BTGreetingF3Text
	dw BTGreetingF4Text
	dw BTGreetingF5Text
	dw BTGreetingF6Text
	dw BTGreetingF7Text
	dw BTGreetingF8Text
	dw BTGreetingF9Text
	dw BTGreetingF10Text
	dw BTGreetingF11Text
	dw BTGreetingF12Text
	dw BTGreetingF13Text
	dw BTGreetingF14Text
	dw BTGreetingF15Text

.PlayerLost:
	dw BTLossF1Text
	dw BTLossF2Text
	dw BTLossF3Text
	dw BTLossF4Text
	dw BTLossF5Text
	dw BTLossF6Text
	dw BTLossF7Text
	dw BTLossF8Text
	dw BTLossF9Text
	dw BTLossF10Text
	dw BTLossF11Text
	dw BTLossF12Text
	dw BTLossF13Text
	dw BTLossF14Text
	dw BTLossF15Text

.PlayerWon:
	dw BTWinF1Text
	dw BTWinF2Text
	dw BTWinF3Text
	dw BTWinF4Text
	dw BTWinF5Text
	dw BTWinF6Text
	dw BTWinF7Text
	dw BTWinF8Text
	dw BTWinF9Text
	dw BTWinF10Text
	dw BTWinF11Text
	dw BTWinF12Text
	dw BTWinF13Text
	dw BTWinF14Text
	dw BTWinF15Text

BTGreetingM1Text:
	text_far _BTGreetingM1Text
	text_end

BTLossM1Text:
	text_far _BTLossM1Text
	text_end

BTWinM1Text:
	text_far _BTWinM1Text
	text_end

BTGreetingM2Text:
	text_far _BTGreetingM2Text
	text_end

BTLossM2Text:
	text_far _BTLossM2Text
	text_end

BTWinM2Text:
	text_far _BTWinM2Text
	text_end

BTGreetingM3Text:
	text_far _BTGreetingM3Text
	text_end

BTLossM3Text:
	text_far _BTLossM3Text
	text_end

BTWinM3Text:
	text_far _BTWinM3Text
	text_end

BTGreetingM4Text:
	text_far _BTGreetingM4Text
	text_end

BTLossM4Text:
	text_far _BTLossM4Text
	text_end

BTWinM4Text:
	text_far _BTWinM4Text
	text_end

BTGreetingM5Text:
	text_far _BTGreetingM5Text
	text_end

BTLossM5Text:
	text_far _BTLossM5Text
	text_end

BTWinM5Text:
	text_far _BTWinM5Text
	text_end

BTGreetingM6Text:
	text_far _BTGreetingM6Text
	text_end

BTLossM6Text:
	text_far _BTLossM6Text
	text_end

BTWinM6Text:
	text_far _BTWinM6Text
	text_end

BTGreetingM7Text:
	text_far _BTGreetingM7Text
	text_end

BTLossM7Text:
	text_far _BTLossM7Text
	text_end

BTWinM7Text:
	text_far _BTWinM7Text
	text_end

BTGreetingM8Text:
	text_far _BTGreetingM8Text
	text_end

BTLossM8Text:
	text_far _BTLossM8Text
	text_end

BTWinM8Text:
	text_far _BTWinM8Text
	text_end

BTGreetingM9Text:
	text_far _BTGreetingM9Text
	text_end

BTLossM9Text:
	text_far _BTLossM9Text
	text_end

BTWinM9Text:
	text_far _BTWinM9Text
	text_end

BTGreetingM10Text:
	text_far _BTGreetingM10Text
	text_end

BTLossM10Text:
	text_far _BTLossM10Text
	text_end

BTWinM10Text:
	text_far _BTWinM10Text
	text_end

BTGreetingM11Text:
	text_far _BTGreetingM11Text
	text_end

BTLossM11Text:
	text_far _BTLossM11Text
	text_end

BTWinM11Text:
	text_far _BTWinM11Text
	text_end

BTGreetingM12Text:
	text_far _BTGreetingM12Text
	text_end

BTLossM12Text:
	text_far _BTLossM12Text
	text_end

BTWinM12Text:
	text_far _BTWinM12Text
	text_end

BTGreetingM13Text:
	text_far _BTGreetingM13Text
	text_end

BTLossM13Text:
	text_far _BTLossM13Text
	text_end

BTWinM13Text:
	text_far _BTWinM13Text
	text_end

BTGreetingM14Text:
	text_far _BTGreetingM14Text
	text_end

BTLossM14Text:
	text_far _BTLossM14Text
	text_end

BTWinM14Text:
	text_far _BTWinM14Text
	text_end

BTGreetingM15Text:
	text_far _BTGreetingM15Text
	text_end

BTLossM15Text:
	text_far _BTLossM15Text
	text_end

BTWinM15Text:
	text_far _BTWinM15Text
	text_end

BTGreetingM16Text:
	text_far _BTGreetingM16Text
	text_end

BTLossM16Text:
	text_far _BTLossM16Text
	text_end

BTWinM16Text:
	text_far _BTWinM16Text
	text_end

BTGreetingM17Text:
	text_far _BTGreetingM17Text
	text_end

BTLossM17Text:
	text_far _BTLossM17Text
	text_end

BTWinM17Text:
	text_far _BTWinM17Text
	text_end

BTGreetingM18Text:
	text_far _BTGreetingM18Text
	text_end

BTLossM18Text:
	text_far _BTLossM18Text
	text_end

BTWinM18Text:
	text_far _BTWinM18Text
	text_end

BTGreetingM19Text:
	text_far _BTGreetingM19Text
	text_end

BTLossM19Text:
	text_far _BTLossM19Text
	text_end

BTWinM19Text:
	text_far _BTWinM19Text
	text_end

BTGreetingM20Text:
	text_far _BTGreetingM20Text
	text_end

BTLossM20Text:
	text_far _BTLossM20Text
	text_end

BTWinM20Text:
	text_far _BTWinM20Text
	text_end

BTGreetingM21Text:
	text_far _BTGreetingM21Text
	text_end

BTLossM21Text:
	text_far _BTLossM21Text
	text_end

BTWinM21Text:
	text_far _BTWinM21Text
	text_end

BTGreetingM22Text:
	text_far _BTGreetingM22Text
	text_end

BTLossM22Text:
	text_far _BTLossM22Text
	text_end

BTWinM22Text:
	text_far _BTWinM22Text
	text_end

BTGreetingM23Text:
	text_far _BTGreetingM23Text
	text_end

BTLossM23Text:
	text_far _BTLossM23Text
	text_end

BTWinM23Text:
	text_far _BTWinM23Text
	text_end

BTGreetingM24Text:
	text_far _BTGreetingM24Text
	text_end

BTLossM24Text:
	text_far _BTLossM24Text
	text_end

BTWinM24Text:
	text_far _BTWinM24Text
	text_end

BTGreetingM25Text:
	text_far _BTGreetingM25Text
	text_end

BTLossM25Text:
	text_far _BTLossM25Text
	text_end

BTWinM25Text:
	text_far _BTWinM25Text
	text_end

BTGreetingF1Text:
	text_far _BTGreetingF1Text
	text_end

BTLossF1Text:
	text_far _BTLossF1Text
	text_end

BTWinF1Text:
	text_far _BTWinF1Text
	text_end

BTGreetingF2Text:
	text_far _BTGreetingF2Text
	text_end

BTLossF2Text:
	text_far _BTLossF2Text
	text_end

BTWinF2Text:
	text_far _BTWinF2Text
	text_end

BTGreetingF3Text:
	text_far _BTGreetingF3Text
	text_end

BTLossF3Text:
	text_far _BTLossF3Text
	text_end

BTWinF3Text:
	text_far _BTWinF3Text
	text_end

BTGreetingF4Text:
	text_far _BTGreetingF4Text
	text_end

BTLossF4Text:
	text_far _BTLossF4Text
	text_end

BTWinF4Text:
	text_far _BTWinF4Text
	text_end

BTGreetingF5Text:
	text_far _BTGreetingF5Text
	text_end

BTLossF5Text:
	text_far _BTLossF5Text
	text_end

BTWinF5Text:
	text_far _BTWinF5Text
	text_end

BTGreetingF6Text:
	text_far _BTGreetingF6Text
	text_end

BTLossF6Text:
	text_far _BTLossF6Text
	text_end

BTWinF6Text:
	text_far _BTWinF6Text
	text_end

BTGreetingF7Text:
	text_far _BTGreetingF7Text
	text_end

BTLossF7Text:
	text_far _BTLossF7Text
	text_end

BTWinF7Text:
	text_far _BTWinF7Text
	text_end

BTGreetingF8Text:
	text_far _BTGreetingF8Text
	text_end

BTLossF8Text:
	text_far _BTLossF8Text
	text_end

BTWinF8Text:
	text_far _BTWinF8Text
	text_end

BTGreetingF9Text:
	text_far _BTGreetingF9Text
	text_end

BTLossF9Text:
	text_far _BTLossF9Text
	text_end

BTWinF9Text:
	text_far _BTWinF9Text
	text_end

BTGreetingF10Text:
	text_far _BTGreetingF10Text
	text_end

BTLossF10Text:
	text_far _BTLossF10Text
	text_end

BTWinF10Text:
	text_far _BTWinF10Text
	text_end

BTGreetingF11Text:
	text_far _BTGreetingF11Text
	text_end

BTLossF11Text:
	text_far _BTLossF11Text
	text_end

BTWinF11Text:
	text_far _BTWinF11Text
	text_end

BTGreetingF12Text:
	text_far _BTGreetingF12Text
	text_end

BTLossF12Text:
	text_far _BTLossF12Text
	text_end

BTWinF12Text:
	text_far _BTWinF12Text
	text_end

BTGreetingF13Text:
	text_far _BTGreetingF13Text
	text_end

BTLossF13Text:
	text_far _BTLossF13Text
	text_end

BTWinF13Text:
	text_far _BTWinF13Text
	text_end

BTGreetingF14Text:
	text_far _BTGreetingF14Text
	text_end

BTLossF14Text:
	text_far _BTLossF14Text
	text_end

BTWinF14Text:
	text_far _BTWinF14Text
	text_end

BTGreetingF15Text:
	text_far _BTGreetingF15Text
	text_end

BTLossF15Text:
	text_far _BTLossF15Text
	text_end

BTWinF15Text:
	text_far _BTWinF15Text
	text_end