kep-hack/engine/battletentdata.asm
Llinos Evans 6b954dbfd1 remove jack from the tent
he's def being used somewhere else, so maybe junior can be here looking pretty instead
2023-05-15 09:45:45 +01:00

370 lines
5.8 KiB
NASM

;btlibs
; afters are farcallable for core.asm
BTLib1:
db "ready@@@@"
db "prepared@"
db "excited@@"
db "hyped@@@@"
BTLib2:
db "go@@@@@"
db "do it@@"
db "battle@"
db "rock@@@"
BTLib3::
db "Oh no@@@@@"
db "Argh no@@@"
db "Oh well@@@"
db "My streak@"
BTLib4::
db "game@@@"
db "battle@"
db "play@@@"
db "job@@@@"
BTBeforeBattlePtrTable:
dw BTBeforeBattleTemplate1
dw BTBeforeBattleTemplate2
dw BTBeforeBattleTemplate3
dw BTBeforeBattleTemplate4
dw BTBeforeBattleTemplate5
dw BTBeforeBattleTemplate6
dw BTBeforeBattleTemplate7
dw BTBeforeBattleTemplate8
BTAfterBattlePtrTable::
dw BTAfterBattleTemplate1
dw BTAfterBattleTemplate2
dw BTAfterBattleTemplate3
dw BTAfterBattleTemplate4
dw BTAfterBattleTemplate5
dw BTAfterBattleTemplate6
dw BTAfterBattleTemplate7
dw BTAfterBattleTemplate8
BTBeforeBattleTemplate1:
text "I'm @"
text_ram wStringBuffer1
text "!"
done
BTBeforeBattleTemplate2:
text "Get @"
text_ram wStringBuffer1
text "!"
done
BTBeforeBattleTemplate3:
text "Let's @"
text_ram wStringBuffer2
text "!"
done
BTBeforeBattleTemplate4:
text "I'm @"
text_ram wStringBuffer1
db 0
line "for this!"
para "Let's @"
text_ram wStringBuffer2
text "!"
done
BTBeforeBattleTemplate5:
text "Here I come!"
line "Let's @"
text_ram wStringBuffer2
text "!"
done
BTBeforeBattleTemplate6:
text "Let's @"
text_ram wStringBuffer2
db 0
line "together!"
done
BTBeforeBattleTemplate7:
text "I'm waiting for"
line "a while now."
para "Let's @"
text_ram wStringBuffer2
text "!"
done
BTBeforeBattleTemplate8:
text "Well, I'm"
line "@"
text_ram wStringBuffer1
text " now."
para "Let's @"
text_ram wStringBuffer2
text "."
done
BTAfterBattleTemplate1::
text "@"
text_ram wStringBuffer1
text "!"
para "Oh man.."
prompt
BTAfterBattleTemplate2::
text "@"
text_ram wStringBuffer1
text "!"
prompt
BTAfterBattleTemplate3::
text "@"
text_ram wStringBuffer1
text "!"
line "Good @"
text_ram wStringBuffer2
text "!"
prompt
BTAfterBattleTemplate4::
text "That was a nice"
line "@"
text_ram wStringBuffer2
text "!"
prompt
BTAfterBattleTemplate5::
text "I did the best"
line "I could."
para "I have no"
line "regrets!"
prompt
BTAfterBattleTemplate6::
text "@"
text_ram wStringBuffer1
text "!"
line "Nice @"
text_ram wStringBuffer2
text "!"
prompt
BTAfterBattleTemplate7::
text "That was a nice"
line "@"
text_ram wStringBuffer2
text ","
cont "don't you think?"
prompt
BTAfterBattleTemplate8::
text "Awesome"
line "@"
text_ram wStringBuffer2
text "!"
para "Shall we do this"
line "again?"
prompt
;data
BTTrainerClassList::
; structure:
; common - has 2 entries each in order to make the entire list exactly 32
db YOUNGSTER, SPRITE_YOUNGSTER, 0
db YOUNGSTER, SPRITE_YOUNGSTER, 0
db JR_TRAINER_M, SPRITE_COOLTRAINER_M, 0
db JR_TRAINER_M, SPRITE_COOLTRAINER_M, 0
db JR_TRAINER_F, SPRITE_COOLTRAINER_F, 0
db JR_TRAINER_F, SPRITE_COOLTRAINER_F, 0
db COOLTRAINER_M, SPRITE_COOLTRAINER_M, 9
db COOLTRAINER_M, SPRITE_COOLTRAINER_M, 9
db COOLTRAINER_F, SPRITE_COOLTRAINER_F, 9
db COOLTRAINER_F, SPRITE_COOLTRAINER_F, 9
; uncommon
db BUG_CATCHER, SPRITE_YOUNGSTER, 1
db LASS, SPRITE_COOLTRAINER_F, 7
db HIKER, SPRITE_HIKER, 2
db SAILOR, SPRITE_SAILOR, 3
db POKEMANIAC, SPRITE_SUPER_NERD, 0
db SUPER_NERD, SPRITE_SUPER_NERD, 0
db BURGLAR, SPRITE_SUPER_NERD, 0
db ENGINEER, SPRITE_SUPER_NERD, 4
db FISHER, SPRITE_FISHER, 3
db CUE_BALL, SPRITE_HIKER, 0
db COOLTRAINER_F, SPRITE_COOLTRAINER_F, 0
db BEAUTY, SPRITE_BEAUTY, 7
db PSYCHIC_TR, SPRITE_YOUNGSTER, 5
db ROCKER, SPRITE_ROCKER, 4
db JUGGLER, SPRITE_ROCKER, 5
db TAMER, SPRITE_ROCKER, 0
db BIRD_KEEPER, SPRITE_COOLTRAINER_M, 6
db BLACKBELT, SPRITE_HIKER, 2
db SCIENTIST, SPRITE_SCIENTIST, 8
db FIREFIGHTER, SPRITE_FISHER, 0
db JUNIOR, SPRITE_YOUNGSTER, 8
db CHANNELER, SPRITE_CHANNELER, 8
BTMonList::
; List of 'mons, grouped in 8 roughly by types
; Normal+Bug set
db TAUROS
db PERSIAN
db TRAMPEL
db SNORLAX
db BUTTERFREE
db PURAKKUSU
db SCIZOR
db PARASECT
; Rock+Fighting set
db GYAOON
db KABUTOPS
db RHYPERIOR
db ARCANINE_H
db HITMONTOP
db TAUROS_P
db POLIWRATH
db HITMONLEE
; Water set
db JABETTA
db CLOYSTER
db LAPRAS
db GYARADOS
db BLASTOISE
db JAGG
db POLITOED
db PENDRAKEN
; Electric+Fire set
db JOLTEON
db ZAPDOS
db GOROCHU
db SANDY_SHOCKS
db CHARIZARD
db NINETALES
db MAGMORTAR
db MOLTRES
; Psychic+Ice set
db ALAKAZAM
db SLOWBRO
db STARMIE
db EXEGGUTOR
db ARTICUNO
db JYNX
db NINETALES_A
db MR_RIME
; Flying+Fire set
db MADAAMU
db AERODACTYL
db DRAGONITE
db DODRIO
db MAROWAK_A
db FLAREON
db RAPIDASH
db TAUROS_PB
; Normal+Grass set
db DEER
db CHANSEY
db KANGASKHAN
db RATICATE_A
db TANGROWTH
db CACTUS
db TSUBOMITTO
db VICTREEBEL
; Ghost+Ground+Poison set
db STEELIX
db GUARDIA
db GOLEM
db GENGAR
db ANNIHILAPE
db CROBAT
db NIDOKING
db TENTACRUEL
; Normal+Dragon set
db PORYGON2
db PORYGONZ
db CLEFABLE
db RATICATE
db CROCKY
db EXEGGUTOR_A
db CRYITHAN
db KINGDRA
;engine
ReadBattleTentTrainer::
ld a, 50
ld [wCurEnemyLVL],a
ld a, [wBTClass]
ld hl, BTTrainerClassList + 2 ; Team selector
ld bc, 3
call AddNTimes
ld a, [hl]
and a
jr z, .anyTeam
dec a
ld hl, BTMonList
ld bc, 8
call AddNTimes ; now hl points to the specific team
ld b, 3
.SpecificTeam
push hl
push bc
call Random
and 7
ld b, 0
ld c, a
add hl, bc
ld a, [hl]
ld [wcf91],a
ld a,1
ld [wMonDataLocation],a
call AddPartyMon
pop bc
pop hl
dec b
jr nz, .SpecificTeam
ret
.anyTeam
ld hl, BTMonList
ld b, 3
.anyTeamLoop
push hl
push bc
call Random
and 63
ld c, a ; max = 63
ld a, [hRandomSub]
bit 7, a
jr z, .skipinc
inc c ; max = 64
.skipinc
and 7
add c
ld c, a ; max = 71
ld b, 0
add hl, bc
ld a, [hl]
ld [wcf91],a
ld a,1
ld [wMonDataLocation],a
call AddPartyMon
pop bc
pop hl
dec b
jr nz, .anyTeamLoop
ret