summaryrefslogtreecommitdiff
path: root/engine/battle/read_trainer_party.asm
diff options
context:
space:
mode:
Diffstat (limited to 'engine/battle/read_trainer_party.asm')
-rwxr-xr-xengine/battle/read_trainer_party.asm148
1 files changed, 74 insertions, 74 deletions
diff --git a/engine/battle/read_trainer_party.asm b/engine/battle/read_trainer_party.asm
index 3672d8dc..ba00083b 100755
--- a/engine/battle/read_trainer_party.asm
+++ b/engine/battle/read_trainer_party.asm
@@ -1,43 +1,43 @@
ReadTrainer:
; don't change any moves in a link battle
- ld a,[wLinkState]
+ ld a, [wLinkState]
and a
ret nz
; set [wEnemyPartyCount] to 0, [wEnemyPartyMons] to FF
; XXX first is total enemy pokemon?
; XXX second is species of first pokemon?
- ld hl,wEnemyPartyCount
+ ld hl, wEnemyPartyCount
xor a
- ld [hli],a
+ ld [hli], a
dec a
- ld [hl],a
+ ld [hl], a
; get the pointer to trainer data for this class
- ld a,[wCurOpponent]
+ ld a, [wCurOpponent]
sub $C9 ; convert value from pokemon to trainer
- add a,a
- ld hl,TrainerDataPointers
- ld c,a
- ld b,0
- add hl,bc ; hl points to trainer class
- ld a,[hli]
- ld h,[hl]
- ld l,a
- ld a,[wTrainerNo]
- ld b,a
+ add a
+ ld hl, TrainerDataPointers
+ ld c, a
+ ld b, 0
+ add hl, bc ; hl points to trainer class
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld a, [wTrainerNo]
+ ld b, a
; At this point b contains the trainer number,
; and hl points to the trainer class.
; Our next task is to iterate through the trainers,
; decrementing b each time, until we get to the right one.
.outer
dec b
- jr z,.IterateTrainer
+ jr z, .IterateTrainer
.inner
- ld a,[hli]
+ ld a, [hli]
and a
- jr nz,.inner
+ jr nz, .inner
jr .outer
; if the first byte of trainer data is FF,
@@ -46,17 +46,17 @@ ReadTrainer:
; - if [wLoneAttackNo] != 0, one pokemon on the team has a special move
; else the first byte is the level of every pokemon on the team
.IterateTrainer
- ld a,[hli]
+ ld a, [hli]
cp $FF ; is the trainer special?
- jr z,.SpecialTrainer ; if so, check for special moves
- ld [wCurEnemyLVL],a
+ jr z, .SpecialTrainer ; if so, check for special moves
+ ld [wCurEnemyLVL], a
.LoopTrainerData
- ld a,[hli]
+ ld a, [hli]
and a ; have we reached the end of the trainer data?
- jr z,.FinishUp
- ld [wcf91],a ; write species somewhere (XXX why?)
- ld a,ENEMY_PARTY_DATA
- ld [wMonDataLocation],a
+ jr z, .FinishUp
+ ld [wcf91], a ; write species somewhere (XXX why?)
+ ld a, ENEMY_PARTY_DATA
+ ld [wMonDataLocation], a
push hl
call AddPartyMon
pop hl
@@ -66,101 +66,101 @@ ReadTrainer:
; - each pokemon has a specific level
; (as opposed to the whole team being of the same level)
; - if [wLoneAttackNo] != 0, one pokemon on the team has a special move
- ld a,[hli]
+ ld a, [hli]
and a ; have we reached the end of the trainer data?
- jr z,.AddLoneMove
- ld [wCurEnemyLVL],a
- ld a,[hli]
- ld [wcf91],a
- ld a,ENEMY_PARTY_DATA
- ld [wMonDataLocation],a
+ jr z, .AddLoneMove
+ ld [wCurEnemyLVL], a
+ ld a, [hli]
+ ld [wcf91], a
+ ld a, ENEMY_PARTY_DATA
+ ld [wMonDataLocation], a
push hl
call AddPartyMon
pop hl
jr .SpecialTrainer
.AddLoneMove
; does the trainer have a single monster with a different move
- ld a,[wLoneAttackNo] ; Brock is 01, Misty is 02, Erika is 04, etc
+ ld a, [wLoneAttackNo] ; Brock is 01, Misty is 02, Erika is 04, etc
and a
- jr z,.AddTeamMove
+ jr z, .AddTeamMove
dec a
- add a,a
- ld c,a
- ld b,0
- ld hl,LoneMoves
- add hl,bc
- ld a,[hli]
- ld d,[hl]
- ld hl,wEnemyMon1Moves + 2
- ld bc,wEnemyMon2 - wEnemyMon1
+ add a
+ ld c, a
+ ld b, 0
+ ld hl, LoneMoves
+ add hl, bc
+ ld a, [hli]
+ ld d, [hl]
+ ld hl, wEnemyMon1Moves + 2
+ ld bc, wEnemyMon2 - wEnemyMon1
call AddNTimes
- ld [hl],d
+ ld [hl], d
jr .FinishUp
.AddTeamMove
; check if our trainer's team has special moves
; get trainer class number
- ld a,[wCurOpponent]
+ ld a, [wCurOpponent]
sub 200
- ld b,a
- ld hl,TeamMoves
+ ld b, a
+ ld hl, TeamMoves
; iterate through entries in TeamMoves, checking each for our trainer class
.IterateTeamMoves
- ld a,[hli]
+ ld a, [hli]
cp b
- jr z,.GiveTeamMoves ; is there a match?
+ jr z, .GiveTeamMoves ; is there a match?
inc hl ; if not, go to the next entry
inc a
- jr nz,.IterateTeamMoves
+ jr nz, .IterateTeamMoves
; no matches found. is this trainer champion rival?
- ld a,b
+ ld a, b
cp SONY3
- jr z,.ChampionRival
+ jr z, .ChampionRival
jr .FinishUp ; nope
.GiveTeamMoves
- ld a,[hl]
- ld [wEnemyMon5Moves + 2],a
+ ld a, [hl]
+ ld [wEnemyMon5Moves + 2], a
jr .FinishUp
.ChampionRival ; give moves to his team
; pidgeot
- ld a,SKY_ATTACK
- ld [wEnemyMon1Moves + 2],a
+ ld a, SKY_ATTACK
+ ld [wEnemyMon1Moves + 2], a
; starter
- ld a,[wRivalStarter]
+ ld a, [wRivalStarter]
cp STARTER3
- ld b,MEGA_DRAIN
- jr z,.GiveStarterMove
+ ld b, MEGA_DRAIN
+ jr z, .GiveStarterMove
cp STARTER1
- ld b,FIRE_BLAST
- jr z,.GiveStarterMove
- ld b,BLIZZARD ; must be squirtle
+ ld b, FIRE_BLAST
+ jr z, .GiveStarterMove
+ ld b, BLIZZARD ; must be squirtle
.GiveStarterMove
- ld a,b
- ld [wEnemyMon6Moves + 2],a
+ ld a, b
+ ld [wEnemyMon6Moves + 2], a
.FinishUp
; clear wAmountMoneyWon addresses
xor a
- ld de,wAmountMoneyWon
- ld [de],a
+ ld de, wAmountMoneyWon
+ ld [de], a
inc de
- ld [de],a
+ ld [de], a
inc de
- ld [de],a
- ld a,[wCurEnemyLVL]
- ld b,a
+ ld [de], a
+ ld a, [wCurEnemyLVL]
+ ld b, a
.LastLoop
; update wAmountMoneyWon addresses (money to win) based on enemy's level
- ld hl,wTrainerBaseMoney + 1
- ld c,2 ; wAmountMoneyWon is a 3-byte number
+ ld hl, wTrainerBaseMoney + 1
+ ld c, 2 ; wAmountMoneyWon is a 3-byte number
push bc
predef AddBCDPredef
pop bc
inc de
inc de
dec b
- jr nz,.LastLoop ; repeat wCurEnemyLVL times
+ jr nz, .LastLoop ; repeat wCurEnemyLVL times
ret