Battle Tower

This commit is contained in:
PikalaxALT 2015-11-03 15:05:19 -05:00
parent b1dc88b728
commit 10beeb3c06
20 changed files with 2291 additions and 2158 deletions

View File

@ -28,3 +28,4 @@ INCLUDE "constants/deco_constants.asm"
INCLUDE "constants/radio_constants.asm"
INCLUDE "constants/sprite_constants.asm"
INCLUDE "constants/tilemap_constants.asm"
INCLUDE "constants/battle_tower_constants.asm"

View File

@ -0,0 +1,33 @@
const_def
const BATTLE_TOWER_ACTION_00
const BATTLE_TOWER_ACTION_01
const BATTLE_TOWER_ACTION_02
const BATTLE_TOWER_ACTION_03
const BATTLE_TOWER_ACTION_04
const BATTLE_TOWER_ACTION_05
const BATTLE_TOWER_ACTION_06
const BATTLE_TOWER_ACTION_07
const BATTLE_TOWER_ACTION_08
const BATTLE_TOWER_ACTION_09
const BATTLE_TOWER_ACTION_0A
const BATTLE_TOWER_ACTION_0B
const BATTLE_TOWER_ACTION_0C
const BATTLE_TOWER_ACTION_0D
const BATTLE_TOWER_ACTION_0E
const BATTLE_TOWER_ACTION_0F
const BATTLE_TOWER_ACTION_10
const BATTLE_TOWER_ACTION_11
const BATTLE_TOWER_ACTION_12
const BATTLE_TOWER_ACTION_13
const BATTLE_TOWER_ACTION_14
const BATTLE_TOWER_ACTION_15
const BATTLE_TOWER_ACTION_16
const BATTLE_TOWER_ACTION_17
const BATTLE_TOWER_ACTION_18
const BATTLE_TOWER_ACTION_19
const BATTLE_TOWER_ACTION_1A
const BATTLE_TOWER_ACTION_1B
const BATTLE_TOWER_ACTION_1C
const BATTLE_TOWER_ACTION_1D
const BATTLE_TOWER_ACTION_1E
const BATTLE_TOWER_ACTION_1F

View File

@ -259,13 +259,13 @@ NUM_HMS = const_value - HM01
add_mt THUNDERBOLT
add_mt ICE_BEAM
ITEM_FROM_MEM EQU $ff
; leftovers from red
SAFARI_BALL EQU 8 ; MOON_STONE
MOON_STONE_RED EQU 10 ; BURN_HEAL
FULL_HEAL_RED EQU 52 ; X_SPEED
MAIL_MAX_LENGTH EQU $20
; pockets

View File

@ -109,10 +109,10 @@ const_value = 1
const MOM_ITEM
const MOM_DOLL
BATTLETOWER_PKMNSTRUCTLENGTH EQU $30
BATTLETOWER_NROFPKMNS EQU 3
BATTLETOWER_TRAINERDATALENGTH EQU $24
BATTLETOWER_NROFTRAINERS EQU 7
BATTLETOWER_NRMONSPERLEVELBRACKET EQU BATTLETOWER_NROFPKMNS * BATTLETOWER_NROFTRAINERS
NUM_WILDMONS_PER_AREA_TIME_OF_DAY EQU 7
WILDMON_GRASS_STRUCTURE_LENGTH EQU 2 + 3 * (1 + 2 * NUM_WILDMONS_PER_AREA_TIME_OF_DAY)

View File

@ -1,7 +1,7 @@
Function_LoadOpponentTrainerAndPokemons: ; 1f8000
ld a, [rSVBK]
push af
ld a, $3
ld a, BANK(BT_OTrainer)
ld [rSVBK], a
; Fill BT_OTrainer with zeros
@ -21,32 +21,32 @@ Function_LoadOpponentTrainerAndPokemons: ; 1f8000
ld a, [hRandomAdd]
ld b, a
.asm_1f8022 ; loop to find a random trainer
.resample ; loop to find a random trainer
call Random
ld a, [hRandomAdd]
add b
ld b, a ; b contains the nr of the trainer
IF DEF(CRYSTAL11)
and $7f
cp $46
and (1 << 7) - 1
cp 70
ELSE
and $1f
cp $15
and (1 << 5) - 1
cp 21
ENDC
jr nc, .asm_1f8022
jr nc, .resample
ld b, a
ld a, BANK(sNrOfBeatenBattleTowerTrainers)
ld a, BANK(sBTTrainers)
call GetSRAMBank
ld c, BATTLETOWER_NROFTRAINERS
ld hl, sBTTrainers
.asm_1f803a
.next_trainer
ld a, [hli]
cp b
jr z, .asm_1f8022
jr z, .resample
dec c
jr nz, .asm_1f803a ; c <= 7 initialise all 7 trainers?
jr nz, .next_trainer ; c <= 7 initialise all 7 trainers?
ld hl, sBTTrainers
ld a, [sNrOfBeatenBattleTowerTrainers]
@ -61,9 +61,9 @@ ENDC
push af
; Copy name (10 bytes) and class (1 byte) of trainer
ld hl, BattleTowerTrainers
ld bc, 11
ld bc, NAME_LENGTH
call AddNTimes
ld bc, 11
ld bc, NAME_LENGTH
call CopyBytes
call Function_LoadRandomBattleTowerPkmn
@ -73,7 +73,7 @@ ENDC
ld bc, BATTLETOWER_TRAINERDATALENGTH
call AddNTimes
ld bc, BATTLETOWER_TRAINERDATALENGTH
.asm_1f8070
.copy_bt_trainer_data_loop
ld a, BANK(BattleTowerTrainerData)
call GetFarByte
ld [de], a
@ -82,7 +82,7 @@ ENDC
dec bc
ld a, b
or c
jr nz, .asm_1f8070
jr nz, .copy_bt_trainer_data_loop
pop af
ld [rSVBK], a
@ -108,20 +108,20 @@ Function_LoadRandomBattleTowerPkmn: ; 1f8081
ld a, [hRandomAdd]
ld b, a
.asm_1f8099
.resample
call Random
ld a, [hRandomAdd]
add b
ld b, a
and $1f
cp (BattleTowerMons2 - BattleTowerMons1) / ($3b)
jr nc, .asm_1f8099
cp BATTLETOWER_NRMONSPERLEVELBRACKET
jr nc, .resample
; in register 'a' is the chosen Pkmn of the LevelGroup
; Check if Pkmn was already loaded before
; Check current and the 2 previous teams
; includes check if item is double at the current team
ld bc, BATTLETOWER_PKMNSTRUCTLENGTH + $b
ld bc, party_struct_length + PKMN_NAME_LENGTH
call AddNTimes
ld a, [hli]
ld b, a
@ -164,17 +164,17 @@ Function_LoadRandomBattleTowerPkmn: ; 1f8081
cp b
jr z, .FindARandomBattleTowerPkmn
ld bc, BATTLETOWER_PKMNSTRUCTLENGTH + $b
ld bc, party_struct_length + PKMN_NAME_LENGTH
call CopyBytes
ld a, [wd265]
ld a, [wNamedObjectIndexBuffer]
push af
push de
ld hl, - (BATTLETOWER_PKMNSTRUCTLENGTH + $b)
ld hl, - (party_struct_length + PKMN_NAME_LENGTH)
add hl, de
ld a, [hl]
ld [wd265], a
ld bc, BATTLETOWER_PKMNSTRUCTLENGTH
ld [wNamedObjectIndexBuffer], a
ld bc, party_struct_length
add hl, bc
push hl
call GetPokemonName
@ -186,7 +186,7 @@ Function_LoadRandomBattleTowerPkmn: ; 1f8081
pop de
pop af
ld [wd265], a
ld [wNamedObjectIndexBuffer], a
pop bc
dec c
jp nz, .loop
@ -229,6 +229,7 @@ BattleTowerTrainers: ; 1f814e
db "KAUFMAN@@@", SWIMMERM
db "LANCASTER@", SKIER
db "McMAHILL@@", CAMPER
; The following can only be sampled in Crystal 1.1.
db "OBRIEN@@@@", GENTLEMAN
db "FROST@@@@@", BEAUTY
db "MORSE@@@@@", SUPER_NERD
@ -282,7 +283,7 @@ BattleTowerTrainers: ; 1f814e
BattleTowerMons: ; 1f8450
; 10 groups of 21 mons.
BattleTowerMons1:
db JOLTEON

72
data/battle_tower_2.asm Executable file
View File

@ -0,0 +1,72 @@
BattleTowerTrainerData:: ; What exactly it is, I don't know
; Size is 70 (Nr of Trainers in BattleTower) * 0x24 (Nr of Bytes that are copied)
db $37, $03, $0e, $09, $25, $0b, $1c, $0d, $12, $0d, $00, $05, $0e, $09, $1a, $0b, $30, $04, $3f, $06, $20, $04, $21, $0d, $0e, $09, $30, $04, $20, $04, $0b, $06, $34, $03, $06, $05
db $36, $03, $ca, $00, $22, $08, $20, $04, $33, $0d, $11, $0d, $37, $05, $06, $05, $3f, $06, $ca, $00, $20, $04, $06, $0d, $ca, $00, $21, $03, $09, $06, $12, $04, $28, $0b, $0c, $0d
db $32, $06, $31, $04, $02, $02, $03, $04, $22, $02, $00, $05, $40, $04, $2d, $06, $13, $0d, $18, $03, $3f, $04, $13, $0d, $1a, $0c, $33, $04, $32, $0d, $09, $06, $22, $02, $13, $0d
db $22, $0c, $22, $0c, $0a, $09, $0b, $08, $2f, $06, $22, $07, $22, $06, $2c, $04, $1a, $06, $0d, $07, $3f, $0d, $00, $05, $0b, $08, $09, $06, $2c, $04, $1f, $0e, $1c, $0b, $41, $0b
db $a3, $00, $41, $03, $1f, $04, $29, $00, $1c, $04, $03, $02, $3d, $05, $38, $06, $71, $00, $18, $03, $30, $06, $53, $00, $1e, $05, $b9, $00, $21, $0d, $30, $06, $d1, $00, $0a, $06
db $13, $02, $31, $06, $04, $02, $1c, $04, $0d, $0d, $31, $0d, $39, $07, $31, $06, $24, $07, $3d, $04, $40, $04, $30, $0d, $03, $06, $08, $05, $02, $05, $14, $07, $08, $05, $1a, $0d
db $0d, $02, $07, $02, $00, $05, $22, $02, $10, $0b, $0a, $0d, $16, $02, $01, $02, $08, $0d, $2c, $04, $23, $07, $23, $0d, $16, $02, $01, $02, $08, $0d, $02, $03, $20, $04, $23, $0d
db $1e, $02, $22, $02, $00, $05, $20, $08, $2c, $04, $03, $02, $1d, $05, $41, $08, $41, $08, $35, $05, $40, $0b, $00, $05, $0b, $05, $0b, $02, $00, $05, $04, $04, $14, $08, $00, $05
db $06, $0c, $09, $06, $00, $00, $0b, $09, $1e, $0c, $37, $0d, $41, $03, $06, $04, $34, $06, $22, $0c, $15, $09, $23, $0d, $02, $03, $22, $08, $41, $0d, $26, $04, $31, $0d, $01, $05
db $22, $0c, $30, $04, $01, $05, $2c, $04, $23, $07, $01, $05, $37, $03, $3d, $04, $3c, $0d, $1c, $03, $29, $08, $3c, $0d, $18, $04, $30, $0d, $06, $05, $14, $07, $30, $0d, $06, $05
db $0e, $06, $04, $05, $2c, $04, $1e, $0c, $38, $0d, $00, $05, $3f, $03, $3f, $06, $20, $04, $33, $0d, $04, $0d, $00, $00, $20, $04, $26, $0d, $04, $05, $0c, $04, $26, $0d, $04, $05
db $18, $02, $33, $03, $28, $04, $2c, $04, $09, $07, $03, $05, $30, $04, $08, $09, $00, $05, $1a, $02, $32, $03, $00, $05, $3f, $05, $26, $07, $01, $05, $26, $05, $0f, $02, $00, $05
db $3a, $0b, $3a, $0b, $00, $05, $42, $03, $19, $08, $30, $04, $39, $03, $13, $06, $13, $06, $19, $08, $21, $0d, $00, $00, $39, $03, $09, $02, $00, $05, $40, $03, $3a, $08, $2a, $0d
db $31, $05, $11, $0e, $30, $04, $1b, $08, $07, $08, $0c, $0d, $1b, $02, $1b, $02, $01, $05, $15, $02, $0a, $04, $0e, $0d, $22, $05, $31, $06, $02, $05, $1d, $06, $3b, $07, $0e, $0d
db $1b, $02, $2c, $04, $0d, $0d, $34, $03, $00, $03, $11, $0d, $1b, $08, $31, $04, $0b, $0d, $2f, $08, $01, $05, $00, $00, $06, $05, $10, $05, $0f, $06, $11, $0d, $06, $05, $00, $00
db $42, $03, $30, $04, $1f, $0b, $16, $0e, $10, $07, $34, $0d, $17, $0e, $04, $0d, $00, $00, $42, $03, $19, $08, $30, $04, $0c, $05, $35, $05, $01, $05, $1e, $06, $36, $08, $41, $0d
db $18, $03, $42, $03, $43, $04, $3a, $0b, $3b, $0b, $03, $05, $2c, $05, $06, $05, $1b, $03, $43, $04, $39, $0b, $3c, $04, $14, $0b, $0f, $05, $06, $05, $40, $03, $3f, $04, $20, $0e
db $0c, $05, $36, $07, $30, $04, $27, $0b, $10, $08, $31, $0d, $11, $0e, $30, $04, $41, $03, $07, $0d, $2f, $08, $03, $05, $06, $05, $3f, $06, $11, $0e, $30, $04, $30, $07, $06, $05
db $36, $03, $06, $06, $44, $04, $0b, $0e, $16, $0d, $00, $05, $32, $0d, $08, $06, $09, $0e, $44, $04, $09, $08, $22, $0d, $04, $0e, $09, $0e, $44, $04, $29, $08, $05, $0d, $00, $00
db $3f, $06, $2c, $04, $34, $0d, $14, $05, $13, $02, $04, $02, $0c, $05, $3f, $04, $38, $0d, $02, $03, $29, $08, $32, $0d, $35, $05, $15, $06, $40, $05, $02, $03, $34, $07, $04, $0d
db $12, $03, $02, $04, $07, $07, $28, $04, $2c, $0d, $00, $05, $2c, $03, $12, $03, $2b, $06, $0a, $04, $06, $0d, $31, $0d, $2c, $03, $12, $03, $06, $04, $0d, $06, $28, $0b, $02, $05
db $41, $04, $3c, $0b, $34, $0d, $40, $03, $00, $03, $0d, $0d, $13, $0c, $33, $08, $31, $0d, $1e, $09, $27, $07, $3b, $0d, $22, $08, $15, $04, $11, $0d, $2c, $03, $0c, $04, $3b, $0d
db $03, $0a, $3a, $0d, $2c, $04, $1c, $0b, $35, $07, $26, $0d, $24, $09, $43, $04, $26, $0d, $0f, $03, $1f, $07, $04, $05, $02, $03, $24, $08, $26, $0d, $3f, $03, $13, $04, $04, $05
db $06, $05, $06, $05, $06, $05, $06, $05, $2c, $04, $03, $05, $06, $05, $06, $05, $06, $05, $06, $05, $07, $04, $03, $05, $06, $05, $06, $05, $06, $05, $06, $05, $33, $04, $03, $05
db $27, $05, $01, $05, $00, $00, $18, $04, $19, $0d, $01, $05, $41, $05, $00, $00, $00, $00, $16, $06, $3d, $04, $19, $0d, $20, $04, $05, $05, $00, $00, $21, $03, $0c, $04, $19, $0d
db $03, $02, $43, $03, $27, $04, $28, $04, $2d, $0d, $00, $05, $30, $05, $04, $05, $02, $03, $38, $06, $3e, $04, $41, $0d, $16, $0e, $04, $05, $02, $03, $38, $06, $20, $04, $41, $0d
db $34, $03, $00, $03, $11, $0d, $03, $04, $1c, $0b, $07, $0d, $29, $05, $00, $05, $00, $00, $40, $04, $11, $0d, $3e, $0d, $03, $06, $11, $0d, $00, $05, $16, $0e, $0d, $06, $20, $06
db $19, $03, $17, $0b, $20, $06, $1b, $0b, $06, $0c, $1a, $0b, $34, $03, $06, $04, $20, $06, $1b, $0b, $06, $0c, $1a, $0b, $34, $03, $36, $04, $20, $06, $1b, $0b, $06, $0c, $1a, $0b
db $0a, $03, $0c, $0c, $25, $0a, $21, $0e, $2c, $04, $03, $02, $10, $09, $03, $08, $09, $06, $0a, $03, $31, $04, $16, $0d, $27, $05, $17, $07, $04, $05, $02, $0c, $0a, $09, $2f, $0d
db $15, $02, $2c, $04, $03, $02, $24, $04, $39, $04, $0f, $0d, $1e, $02, $11, $02, $01, $05, $0d, $04, $39, $08, $05, $0d, $29, $05, $08, $02, $00, $05, $43, $03, $0c, $04, $3b, $0d
db $10, $0b, $04, $04, $00, $05, $05, $08, $21, $0d, $00, $00, $1f, $05, $01, $02, $00, $05, $18, $03, $3c, $08, $31, $0d, $02, $06, $23, $0b, $31, $03, $43, $03, $13, $07, $16, $0d
db $0f, $0e, $19, $0d, $00, $05, $0b, $0e, $2c, $04, $19, $0d, $0e, $0e, $2c, $04, $06, $05, $1f, $07, $19, $0d, $01, $05, $06, $05, $37, $03, $29, $04, $32, $0d, $19, $0d, $01, $05
db $35, $03, $06, $04, $0d, $06, $29, $0b, $05, $0d, $00, $00, $16, $0e, $30, $04, $0b, $0d, $29, $08, $16, $0d, $00, $05, $11, $0e, $30, $04, $30, $07, $06, $05, $29, $08, $03, $05
db $18, $04, $03, $05, $0b, $0d, $2c, $04, $1e, $0c, $01, $05, $1f, $05, $1d, $07, $1d, $07, $2c, $04, $21, $07, $01, $05, $0a, $05, $12, $02, $32, $0d, $11, $0c, $0c, $06, $1a, $0d
db $0c, $0c, $37, $03, $1a, $03, $40, $04, $23, $0b, $26, $0a, $3f, $06, $09, $04, $1b, $07, $37, $03, $22, $08, $27, $06, $04, $0e, $03, $05, $00, $00, $26, $0a, $3b, $08, $1b, $07
db $18, $03, $1b, $08, $29, $0b, $40, $08, $32, $0d, $00, $05, $2f, $06, $29, $0b, $0b, $0d, $2f, $08, $23, $0d, $02, $0d, $35, $05, $13, $0e, $2e, $06, $22, $06, $2f, $08, $27, $06
db $1c, $03, $02, $0e, $31, $03, $2a, $0d, $24, $0d, $00, $00, $18, $03, $0b, $0d, $30, $08, $40, $08, $04, $05, $00, $00, $1c, $05, $01, $05, $03, $03, $02, $0e, $27, $04, $34, $0d
db $33, $03, $30, $04, $2c, $04, $1c, $0b, $35, $07, $00, $05, $30, $04, $2c, $04, $20, $06, $1e, $09, $40, $06, $40, $04, $30, $04, $2c, $04, $20, $06, $1e, $09, $40, $06, $22, $07
db $22, $0c, $22, $0c, $16, $0a, $35, $0d, $1c, $0b, $3f, $0d, $13, $05, $16, $0a, $40, $06, $23, $07, $06, $0d, $06, $05, $3f, $06, $16, $0a, $16, $0d, $37, $03, $2c, $04, $26, $07
db $0e, $06, $05, $08, $04, $0d, $00, $00, $00, $00, $00, $00, $14, $05, $06, $05, $12, $02, $00, $00, $00, $00, $00, $00, $23, $05, $01, $06, $18, $0d, $00, $00, $00, $00, $00, $00
db $18, $03, $27, $03, $03, $05, $20, $0b, $27, $06, $06, $05, $20, $0e, $12, $07, $2b, $0d, $2c, $03, $0e, $08, $35, $07, $37, $03, $27, $03, $03, $05, $42, $07, $2f, $08, $06, $05
db $36, $03, $30, $04, $17, $04, $2c, $03, $0c, $04, $3b, $0d, $18, $03, $32, $07, $15, $0d, $35, $05, $0d, $07, $07, $0d, $09, $05, $06, $05, $0f, $0c, $09, $04, $07, $0d, $3b, $0d
db $0b, $05, $14, $06, $24, $04, $0a, $0d, $3c, $0d, $00, $05, $14, $05, $09, $02, $32, $0d, $1e, $06, $04, $07, $06, $0d, $1a, $05, $33, $04, $03, $05, $16, $02, $00, $02, $07, $05
db $0a, $03, $32, $07, $0b, $0e, $22, $06, $2c, $04, $29, $0b, $0a, $03, $12, $0d, $24, $04, $1a, $0b, $33, $0d, $03, $0d, $0a, $03, $35, $04, $1b, $07, $06, $05, $1e, $06, $14, $07
db $0e, $06, $2c, $04, $00, $0d, $06, $03, $31, $04, $04, $0d, $0c, $05, $12, $02, $00, $05, $40, $03, $09, $04, $01, $0d, $35, $05, $36, $08, $00, $05, $02, $03, $31, $04, $21, $0d
db $22, $05, $07, $0e, $30, $04, $c5, $00, $10, $02, $01, $05, $0c, $0c, $00, $01, $30, $04, $82, $00, $21, $04, $01, $05, $10, $01, $11, $05, $30, $04, $c3, $00, $3f, $04, $06, $05
db $3a, $07, $3b, $07, $36, $03, $30, $04, $21, $04, $06, $0d, $17, $0e, $03, $05, $00, $00, $3f, $06, $21, $04, $21, $0d, $36, $05, $36, $03, $30, $04, $33, $06, $3f, $04, $0c, $0d
db $43, $03, $20, $04, $41, $0d, $17, $06, $06, $03, $0a, $04, $3a, $06, $13, $04, $04, $0d, $08, $06, $3f, $04, $31, $0d, $43, $03, $39, $04, $04, $05, $17, $06, $39, $04, $41, $0d
db $36, $03, $16, $04, $08, $06, $09, $08, $06, $0d, $00, $00, $1f, $0b, $03, $05, $12, $0e, $0f, $0e, $2c, $0d, $00, $05, $3a, $06, $16, $04, $38, $06, $38, $06, $2c, $0d, $00, $05
db $11, $05, $25, $03, $33, $04, $2f, $08, $19, $0d, $00, $05, $11, $05, $25, $03, $3f, $06, $26, $04, $19, $0d, $00, $05, $11, $05, $21, $03, $35, $04, $14, $07, $19, $0d, $06, $05
db $2c, $04, $0a, $0d, $04, $05, $33, $03, $29, $0b, $05, $0d, $00, $06, $04, $05, $09, $02, $33, $03, $07, $04, $35, $07, $33, $03, $3a, $08, $05, $0d, $3f, $06, $29, $08, $05, $0d
db $05, $03, $1b, $04, $41, $03, $39, $0b, $3a, $0b, $01, $05, $2c, $04, $03, $05, $00, $00, $40, $07, $3e, $0d, $00, $05, $00, $0e, $09, $05, $04, $05, $19, $09, $1d, $0b, $03, $05
db $1c, $0c, $20, $06, $05, $08, $3e, $0d, $00, $05, $00, $00, $18, $03, $1f, $0e, $11, $0a, $1c, $0b, $15, $0b, $1c, $06, $03, $0e, $06, $0c, $21, $0c, $14, $0d, $06, $05, $1f, $08
db $37, $03, $0e, $01, $08, $01, $19, $06, $27, $0b, $03, $02, $0e, $01, $08, $01, $1b, $08, $05, $08, $21, $0d, $00, $00, $36, $03, $33, $04, $04, $05, $00, $04, $41, $08, $3b, $0d
db $06, $02, $00, $05, $34, $03, $00, $03, $0d, $0d, $00, $05, $3c, $06, $05, $08, $16, $04, $2f, $08, $33, $0d, $02, $0d, $1c, $05, $00, $05, $18, $03, $05, $08, $1b, $04, $0c, $0d
db $2c, $04, $13, $09, $20, $06, $39, $03, $20, $04, $3c, $0d, $05, $03, $43, $04, $0b, $0d, $22, $04, $06, $0d, $31, $0d, $24, $08, $00, $05, $02, $03, $09, $08, $06, $0d, $3b, $0d
db $06, $03, $20, $04, $24, $0d, $24, $04, $10, $0b, $00, $05, $39, $07, $00, $05, $2a, $06, $04, $04, $3c, $04, $00, $00, $24, $04, $1c, $0b, $07, $0d, $2f, $08, $09, $06, $06, $05
db $44, $07, $23, $0b, $33, $0d, $2c, $04, $20, $06, $24, $08, $24, $08, $00, $05, $0e, $0e, $12, $08, $09, $0b, $28, $06, $24, $08, $00, $05, $02, $03, $13, $06, $11, $08, $41, $0d
db $36, $03, $06, $06, $30, $04, $0f, $0b, $02, $0b, $3b, $0d, $31, $0d, $00, $05, $39, $03, $20, $04, $21, $0d, $00, $00, $04, $0e, $02, $05, $06, $06, $20, $0e, $0b, $06, $27, $06
db $14, $05, $04, $02, $09, $0e, $08, $08, $2e, $08, $41, $0d, $34, $05, $2e, $08, $21, $0d, $3f, $03, $18, $08, $00, $05, $36, $05, $05, $02, $00, $05, $17, $06, $39, $04, $00, $05
db $34, $03, $00, $03, $11, $0d, $41, $08, $0b, $06, $06, $04, $39, $07, $00, $05, $00, $00, $36, $03, $30, $04, $07, $08, $10, $05, $15, $08, $00, $05, $3a, $06, $1e, $06, $14, $0d
db $37, $05, $37, $05, $00, $05, $38, $05, $38, $05, $41, $05, $25, $05, $04, $05, $32, $05, $31, $05, $41, $05, $41, $05, $0f, $05, $04, $05, $0f, $05, $0f, $05, $16, $05, $01, $05
db $1f, $0e, $36, $04, $40, $0d, $2f, $08, $1a, $0d, $00, $05, $21, $06, $35, $05, $24, $06, $1a, $06, $12, $0e, $00, $00, $1b, $05, $31, $06, $02, $05, $28, $0d, $27, $0d, $00, $00
db $41, $08, $0b, $06, $37, $03, $08, $06, $20, $04, $3b, $0d, $15, $02, $16, $06, $26, $07, $13, $0c, $33, $08, $32, $0d, $2d, $07, $00, $05, $35, $03, $0b, $04, $28, $06, $06, $05
db $0c, $08, $2c, $04, $1c, $0b, $06, $07, $0a, $0d, $03, $05, $30, $06, $06, $07, $00, $05, $2c, $04, $20, $06, $24, $07, $30, $06, $0b, $07, $00, $05, $2c, $04, $20, $06, $22, $07
db $22, $0c, $22, $0c, $0a, $09, $04, $0b, $02, $07, $27, $06, $0f, $0c, $0a, $0a, $22, $06, $02, $07, $27, $06, $04, $05, $3a, $06, $0e, $0a, $22, $06, $05, $08, $02, $07, $04, $05
db $2d, $0b, $02, $08, $37, $0d, $10, $05, $29, $07, $03, $05, $20, $0e, $0e, $0e, $0d, $06, $42, $07, $30, $08, $28, $06, $10, $05, $04, $05, $04, $05, $10, $05, $10, $05, $04, $05
db $3f, $03, $16, $0e, $3f, $08, $0b, $0d, $2f, $08, $41, $0d, $34, $05, $00, $05, $02, $03, $3a, $06, $31, $07, $31, $0d, $21, $0e, $03, $05, $3f, $03, $16, $0e, $26, $07, $03, $05
db $3a, $06, $2c, $03, $12, $03, $17, $0c, $28, $0b, $06, $0d, $3a, $06, $17, $0c, $23, $0b, $0d, $06, $2f, $08, $22, $0d, $14, $07, $04, $05, $17, $0c, $1c, $0b, $1b, $07, $00, $05
db $1b, $02, $00, $05, $0c, $08, $2c, $04, $23, $0b, $32, $0d, $2b, $07, $1f, $04, $3b, $0d, $09, $07, $09, $07, $00, $05, $26, $05, $00, $05, $3f, $03, $22, $07, $d1, $00, $32, $0d

View File

@ -2339,7 +2339,7 @@ Script_giveitem: ; 0x977ca
; quantity (SingleByteParam)
call GetScriptByte
cp -1
cp ITEM_FROM_MEM
jr nz, .ok ; 0x977cf $3
ld a, [ScriptVar]
.ok

View File

@ -139,7 +139,7 @@ SpecialsPointers:: ; c029
add_special Function1700b0
add_special Function1700ba
add_special Function170114
add_special Function170215
add_special BattleTowerBattle
add_special Function1704e1
add_special Function17021d
add_special Function_LoadOpponentTrainerAndPokemonsWithOTSprite
@ -154,7 +154,7 @@ SpecialsPointers:: ; c029
add_special Function4925b
add_special SpecialOmanyteChamber
add_special Function11c1ab
add_special Function170687
add_special BattleTowerAction
add_special Special_DisplayUnownWords
add_special Special_Menu_ChallengeExplanationCancel
add_special Function17d2b6

View File

@ -177,3 +177,35 @@ ENDM
tiles EQUS "* $10"
tile EQUS "+ $10 *"
partymon: MACRO
db \1
db \2
db \3, \4, \5, \6
dw \7
dt \8
rept 8
shift
endr
rept 5
bigdw \1
shift
endr
db \1, \2
db \3, \4, \5, \6
rept 6
shift
endr
db \1
db \2, \3, \4
db \5
db \6, \7
rept 7
shift
endr
rept 7
bigdw \1
shift
endr
db \1
ENDM

1082
main.asm

File diff suppressed because it is too large Load Diff

View File

@ -10,11 +10,11 @@ BattleTower1F_MapScriptHeader:
db 0
UnknownScript_0x9e39d:
writebyte $9
special Function170687
writebyte BATTLE_TOWER_ACTION_09
special BattleTowerAction
iffalse UnknownScript_0x9e3d1
writebyte $2
special Function170687
writebyte BATTLE_TOWER_ACTION_02
special BattleTowerAction
if_equal $0, UnknownScript_0x9e3d1
if_equal $2, UnknownScript_0x9e3c4
if_equal $3, UnknownScript_0x9e3d1
@ -30,10 +30,10 @@ UnknownScript_0x9e3c4:
priorityjump UnknownScript_0x9e555
UnknownScript_0x9e3c7:
writebyte $4
special Function170687
writebyte $6
special Function170687
writebyte BATTLE_TOWER_ACTION_04
special BattleTowerAction
writebyte BATTLE_TOWER_ACTION_06
special BattleTowerAction
UnknownScript_0x9e3d1:
dotrigger $1
UnknownScript_0x9e3d3:
@ -51,14 +51,14 @@ UnknownScript_0x9e3e0:
end
ReceptionistScript_0x9e3e2:
writebyte $2
special Function170687
if_equal $3, BattleTowerBattleRoomScript_0x9f4e4
writebyte BATTLE_TOWER_ACTION_02
special BattleTowerAction
if_equal $3, BattleTowerBattleRoomScript_0x9f4e4 ; maps/BattleTowerBattleRoom.asm
loadfont
writetext Text_BattleTowerWelcomesYou
keeptextopen
writebyte $0
special Function170687
writebyte BATTLE_TOWER_ACTION_00
special BattleTowerAction
if_not_equal $0, Script_Menu_ChallengeExplanationCancel
jump Script_BattleTowerIntroductionYesNo
@ -71,8 +71,8 @@ Script_Menu_ChallengeExplanationCancel: ; 0x9e3fc
jump UnknownScript_0x9e4b0
Script_ChoseChallenge: ; 0x9e40f
writebyte $1a
special Function170687
writebyte BATTLE_TOWER_ACTION_1A ; ResetBattleTowerTrainerSRAM
special BattleTowerAction
special SpecialCheckForBattleTowerRules
if_not_equal $0, Script_CloseText
writetext Text_SaveBeforeEnteringBattleRoom
@ -82,24 +82,24 @@ Script_ChoseChallenge: ; 0x9e40f
special Special_TryQuickSave
iffalse Script_Menu_ChallengeExplanationCancel
dotrigger $1
writebyte $1
special Function170687
writebyte BATTLE_TOWER_ACTION_01
special BattleTowerAction
special Function1700b0
if_equal $a, Script_Menu_ChallengeExplanationCancel
if_not_equal $0, UnknownScript_0x9e550
writebyte $11
special Function170687
writebyte BATTLE_TOWER_ACTION_11
special BattleTowerAction
writetext Text_RightThisWayToYourBattleRoom
closetext
loadmovesprites
writebyte $1e
special Function170687
writebyte BATTLE_TOWER_ACTION_1E
special BattleTowerAction
jump UnknownScript_0x9e454
UnknownScript_0x9e44e:
loadmovesprites
writebyte $8
special Function170687
writebyte BATTLE_TOWER_ACTION_08
special BattleTowerAction
UnknownScript_0x9e454:
musicfadeout MUSIC_NONE, $8
domaptrigger BATTLE_TOWER_BATTLE_ROOM, $0
@ -107,8 +107,8 @@ UnknownScript_0x9e454:
domaptrigger BATTLE_TOWER_HALLWAY, $0
follow $2, PLAYER
applymovement $2, MovementData_0x9e571
writebyte $a
special Function170687
writebyte BATTLE_TOWER_ACTION_0A
special BattleTowerAction
warpsound
disappear $2
stopfollow
@ -117,16 +117,16 @@ UnknownScript_0x9e454:
end
Script_GivePlayerHisPrize: ; 0x9e47a
writebyte $1c
special Function170687
writebyte $1b
special Function170687
writebyte BATTLE_TOWER_ACTION_1C
special BattleTowerAction
writebyte BATTLE_TOWER_ACTION_1B
special BattleTowerAction
if_equal $12, Script_YourPackIsStuffedFull
itemtotext $0, $1
giveitem $ff, $5
giveitem ITEM_FROM_MEM, 5
writetext Text_PlayerGotFive
writebyte $1d
special Function170687
writebyte BATTLE_TOWER_ACTION_1D
special BattleTowerAction
loadmovesprites
end
@ -143,8 +143,8 @@ Script_BattleTowerIntroductionYesNo: ; 0x9e49e
Script_BattleTowerExplanation: ; 0x9e4a5
writetext Text_BattleTowerIntroduction_2
UnknownScript_0x9e4a8:
writebyte $1
special Function170687
writebyte BATTLE_TOWER_ACTION_01
special BattleTowerAction
jump Script_Menu_ChallengeExplanationCancel
UnknownScript_0x9e4b0:
@ -170,8 +170,8 @@ UnknownScript_0x9e4be:
iffalse Script_Menu_ChallengeExplanationCancel
special Special_TryQuickSave
iffalse Script_Menu_ChallengeExplanationCancel
writebyte $1
special Function170687
writebyte BATTLE_TOWER_ACTION_01
special BattleTowerAction
special Function1700ba
if_equal $a, Script_Menu_ChallengeExplanationCancel
if_not_equal $0, UnknownScript_0x9e550
@ -184,16 +184,16 @@ UnknownScript_0x9e4be:
end
UnknownScript_0x9e4ea:
writebyte $18
special Function170687
writebyte BATTLE_TOWER_ACTION_18
special BattleTowerAction
if_not_equal $0, Script_APkmnLevelExceeds
writebyte $19
special Function170687
writebyte BATTLE_TOWER_ACTION_19
special BattleTowerAction
if_not_equal $0, Script_MayNotEnterABattleRoomUnderL70
special SpecialCheckForBattleTowerRules
if_not_equal $0, Script_CloseText
writebyte $5
special Function170687
writebyte BATTLE_TOWER_ACTION_05
special BattleTowerAction
if_equal $0, UnknownScript_0x9e512
writetext UnknownText_0x9ecb0
jump UnknownScript_0x9e515
@ -210,10 +210,10 @@ UnknownScript_0x9e515:
special Special_TryQuickSave
iffalse Script_Menu_ChallengeExplanationCancel
dotrigger $1
writebyte $6
special Function170687
writebyte $12
special Function170687
writebyte BATTLE_TOWER_ACTION_06
special BattleTowerAction
writebyte BATTLE_TOWER_ACTION_12
special BattleTowerAction
writetext Text_RightThisWayToYourBattleRoom
closetext
jump UnknownScript_0x9e44e

View File

@ -30,10 +30,10 @@ Script_BattleRoomLoop: ; 0x9f425
storetext 1
keeptextopen
loadmovesprites
special Function170215 ; calls predef startbattle
special BattleTowerBattle ; calls predef startbattle
special FadeBlackBGMap
reloadmap
if_not_equal $0, UnknownScript_0x9f4c2
if_not_equal $0, Script_FailedBattleTowerChallenge
copybytetovar wNrOfBeatenBattleTowerTrainers ; wcf64
if_equal BATTLETOWER_NROFTRAINERS, Script_BeatenAllTrainers
applymovement $2, MovementData_0x9e597
@ -65,12 +65,12 @@ Script_DontBattleNextOpponent: ; 0x9f483
writetext Text_SaveAndEndTheSession
yesorno
iffalse Script_DontSaveAndEndTheSession
writebyte $7
special Function170687
writebyte $1f
special Function170687
writebyte $3
special Function170687
writebyte BATTLE_TOWER_ACTION_07
special BattleTowerAction
writebyte BATTLE_TOWER_ACTION_1F
special BattleTowerAction
writebyte BATTLE_TOWER_ACTION_03
special BattleTowerAction
playsound SFX_SAVE
waitbutton
special FadeBlackBGMap
@ -79,22 +79,22 @@ Script_DontSaveAndEndTheSession: ; 0x9f4a3
writetext Text_CancelYourBattleRoomChallenge
yesorno
iffalse Script_ContinueAndBattleNextOpponent
writebyte $4
special Function170687
writebyte $6
special Function170687
writebyte BATTLE_TOWER_ACTION_04
special BattleTowerAction
writebyte BATTLE_TOWER_ACTION_06
special BattleTowerAction
loadmovesprites
special FadeBlackBGMap
warpfacing $1, BATTLE_TOWER_1F, $7, $7
warpfacing UP, BATTLE_TOWER_1F, $7, $7
loadfont
jump UnknownScript_0x9e4b0
UnknownScript_0x9f4c2:
Script_FailedBattleTowerChallenge:
pause 60
special Special_BattleTowerFade
warpfacing $1, BATTLE_TOWER_1F, $7, $7
writebyte $4
special Function170687
warpfacing UP, BATTLE_TOWER_1F, $7, $7
writebyte BATTLE_TOWER_ACTION_04
special BattleTowerAction
loadfont
writetext Text_ThanksForVisiting
closetext
@ -104,15 +104,15 @@ UnknownScript_0x9f4c2:
Script_BeatenAllTrainers: ; 0x9f4d9
pause 60
special Special_BattleTowerFade
warpfacing $1, BATTLE_TOWER_1F, $7, $7
warpfacing UP, BATTLE_TOWER_1F, $7, $7
BattleTowerBattleRoomScript_0x9f4e4:
loadfont
writetext Text_CongratulationsYouveBeatenAllTheTrainers
jump Script_GivePlayerHisPrize
UnknownScript_0x9f4eb:
writebyte $4
special Function170687
writebyte BATTLE_TOWER_ACTION_04
special BattleTowerAction
loadfont
writetext Text_TooMuchTimeElapsedNoRegister
closetext
@ -120,10 +120,10 @@ UnknownScript_0x9f4eb:
end
UnknownScript_0x9f4f7:
writebyte $4
special Function170687
writebyte $6
special Function170687
writebyte BATTLE_TOWER_ACTION_04
special BattleTowerAction
writebyte BATTLE_TOWER_ACTION_06
special BattleTowerAction
loadfont
writetext Text_ThanksForVisiting
writetext Text_WeHopeToServeYouAgain

View File

@ -20,8 +20,8 @@ UnknownScript_0x9f568:
follow $2, PLAYER
applymovement $2, MovementData_0x9f58f
applymovement PLAYER, MovementData_0x9f592
writebyte $a
special Function170687
writebyte BATTLE_TOWER_ACTION_0A
special BattleTowerAction
playsound SFX_ELEVATOR
earthquake 60
waitbutton

View File

@ -9,8 +9,8 @@ NurseScript_0x60f91:
jumpstd pokecenternurse
UnknownScript_0x60f94:
writebyte $b
special Function170687
writebyte BATTLE_TOWER_ACTION_0B
special BattleTowerAction
if_equal $b, UnknownScript_0x60f9e
end
@ -41,8 +41,8 @@ UnknownScript_0x60fd8:
end
UnknownScript_0x60fd9:
writebyte $b
special Function170687
writebyte BATTLE_TOWER_ACTION_0B
special BattleTowerAction
if_equal $b, UnknownScript_0x60fe3
end

View File

@ -127,7 +127,7 @@ LanceScript_0x180e7b:
applymovement $3, MovementData_0x180f5b
special FadeBlackBGMap
pause 15
warpfacing $1, HALL_OF_FAME, $4, $d
warpfacing UP, HALL_OF_FAME, $4, $d
end
MovementData_0x180f33:

View File

@ -77,7 +77,7 @@ Route35NationalParkgate_GoBackIn:
playsound SFX_ENTER_DOOR
special FadeBlackBGMap
waitbutton
warpfacing $1, NATIONAL_PARK_BUG_CONTEST, $a, $2f
warpfacing UP, NATIONAL_PARK_BUG_CONTEST, $a, $2f
end
OfficerScript_0x6a204:
@ -115,7 +115,7 @@ Route35NationalParkgate_OkayToProceed:
special FadeBlackBGMap
waitbutton
special Special_SelectRandomBugContestContestants
warpfacing $1, NATIONAL_PARK_BUG_CONTEST, $a, $2f
warpfacing UP, NATIONAL_PARK_BUG_CONTEST, $a, $2f
end
Route35NationalParkgate_EnterContest:

View File

@ -85,7 +85,7 @@ Route36NationalParkgate_MapScriptHeader:
playsound SFX_EXIT_BUILDING
special FadeBlackBGMap
waitbutton
warpfacing $2, NATIONAL_PARK_BUG_CONTEST, $21, $12
warpfacing LEFT, NATIONAL_PARK_BUG_CONTEST, $21, $12
end
.CopyContestants:
@ -169,7 +169,7 @@ Route36OfficerScriptContest:
special FadeBlackBGMap
waitbutton
special Special_SelectRandomBugContestContestants
warpfacing $2, NATIONAL_PARK_BUG_CONTEST, $21, $12
warpfacing LEFT, NATIONAL_PARK_BUG_CONTEST, $21, $12
end
.LeaveMonsWithOfficer:

1490
misc/battle_tower_45.asm Executable file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -2645,23 +2645,17 @@ w3_d000:: ; d000
BT_OTrainer::
w3_d100:: ; BattleTower OpponentTrainer-Data (length = 0xe0 = $a + $1 + 3*$3b + $24)
BT_OTrainer_Name::
ds $A
ds NAME_LENGTH + -1
BT_OTrainer_TrainerClass::
ds $1
BT_OTPkmn1:: ; w3_d10b
ds $1
BT_OTPkmn1Item::
ds $3b-1
BT_OTPkmn2:: ; w3_d146
ds $1
BT_OTPkmn2Item::
ds $3b-1
BT_OTPkmn3:: ; w3_d181
ds $1
BT_OTPkmn3Item::
ds $3b-1
ds 1
BT_OTPkmn1:: party_struct BT_OTPkmn1
BT_OTPkmn1Name:: ds PKMN_NAME_LENGTH
BT_OTPkmn2:: party_struct BT_OTPkmn2
BT_OTPkmn2Name:: ds PKMN_NAME_LENGTH
BT_OTPkmn3:: party_struct BT_OTPkmn3
BT_OTPkmn3Name:: ds PKMN_NAME_LENGTH
ds $24
BT_OTrainerData:: ds $24
BT_OTrainerEnd:: ; we_d1e0
ds $20