mirror of
https://github.com/thornAvery/kep-hack.git
synced 2026-02-22 15:12:18 +13:00
Add space between arguments in assembly instructions and remove redundant a in instructions like add a, x
This commit is contained in:
parent
94b9a86c8b
commit
237aeb8fbd
50 changed files with 7221 additions and 7221 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue