mirror of
https://github.com/pret/pokered.git
synced 2024-10-23 15:08:23 +00:00
merge YamaArashi/pokered
hg-commit-id: 4a5294486028
This commit is contained in:
commit
933732c629
3 changed files with 563 additions and 62 deletions
225
common.asm
225
common.asm
|
@ -594,8 +594,8 @@ OverworldLoopLessDelay: ; 402
|
||||||
jr nz,.oddLoop\@
|
jr nz,.oddLoop\@
|
||||||
ld a,[$d52a]
|
ld a,[$d52a]
|
||||||
ld [$d528],a
|
ld [$d528],a
|
||||||
call $0683
|
call NewBattle
|
||||||
jp c,$0637
|
jp c,.battleOccurred\@
|
||||||
jp OverworldLoop
|
jp OverworldLoop
|
||||||
.noDirectionChange\@
|
.noDirectionChange\@
|
||||||
ld a,[$d52a] ; current direction
|
ld a,[$d52a] ; current direction
|
||||||
|
@ -687,7 +687,7 @@ OverworldLoopLessDelay: ; 402
|
||||||
ld hl,$d736
|
ld hl,$d736
|
||||||
res 2,[hl]
|
res 2,[hl]
|
||||||
jp nc,CheckWarpsNoCollision ; check for warps if there was no battle
|
jp nc,CheckWarpsNoCollision ; check for warps if there was no battle
|
||||||
; if a battle occurred
|
.battleOccurred\@
|
||||||
ld hl,$d72d
|
ld hl,$d72d
|
||||||
res 6,[hl]
|
res 6,[hl]
|
||||||
ld hl,$d733
|
ld hl,$d733
|
||||||
|
@ -21225,7 +21225,7 @@ CooltrainerFAI:
|
||||||
|
|
||||||
BrockAI:
|
BrockAI:
|
||||||
; if his active monster has a status condition, use a full heal
|
; if his active monster has a status condition, use a full heal
|
||||||
ld a,[W_OPPONENTSTATUS]
|
ld a,[W_ENEMYMONSTATUS]
|
||||||
and a
|
and a
|
||||||
ret z
|
ret z
|
||||||
jp AIUseFullHeal
|
jp AIUseFullHeal
|
||||||
|
@ -21351,7 +21351,7 @@ AIUseFullRestore: ; 0x3a6a0
|
||||||
ld a,[hl]
|
ld a,[hl]
|
||||||
ld [de],a
|
ld [de],a
|
||||||
ld [$CEEA],a
|
ld [$CEEA],a
|
||||||
ld [W_OPPONENTHP],a
|
ld [W_ENEMYMONCURHP],a
|
||||||
jr Function6718
|
jr Function6718
|
||||||
; 0x3a6ca
|
; 0x3a6ca
|
||||||
|
|
||||||
|
@ -21456,13 +21456,13 @@ Function674B: ; 674B
|
||||||
|
|
||||||
; prepare to withdraw the active monster: copy hp, number, and status to roster
|
; prepare to withdraw the active monster: copy hp, number, and status to roster
|
||||||
|
|
||||||
ld a,[W_OPPONENTNUMBER]
|
ld a,[W_ENEMYMONNUMBER]
|
||||||
ld hl,W_ENEMYMON1HP
|
ld hl,W_ENEMYMON1HP
|
||||||
ld bc,$2C
|
ld bc,$2C
|
||||||
call AddNTimes
|
call AddNTimes
|
||||||
ld d,h
|
ld d,h
|
||||||
ld e,l
|
ld e,l
|
||||||
ld hl,W_OPPONENTHP
|
ld hl,W_ENEMYMONCURHP
|
||||||
ld bc,4
|
ld bc,4
|
||||||
call CopyData
|
call CopyData
|
||||||
|
|
||||||
|
@ -21495,13 +21495,13 @@ AIUseFullHeal: ; 0x3a786
|
||||||
|
|
||||||
AICureStatus: ; 0x3a791
|
AICureStatus: ; 0x3a791
|
||||||
; cures the status of enemy's active pokemon
|
; cures the status of enemy's active pokemon
|
||||||
ld a,[W_OPPONENTNUMBER]
|
ld a,[W_ENEMYMONNUMBER]
|
||||||
ld hl,$D8A8
|
ld hl,$D8A8
|
||||||
ld bc,$2C
|
ld bc,$2C
|
||||||
call AddNTimes
|
call AddNTimes
|
||||||
xor a
|
xor a
|
||||||
ld [hl],a ; clear status in enemy team roster
|
ld [hl],a ; clear status in enemy team roster
|
||||||
ld [W_OPPONENTSTATUS],a ; clear status of active enemy
|
ld [W_ENEMYMONSTATUS],a ; clear status of active enemy
|
||||||
ld hl,$D069
|
ld hl,$D069
|
||||||
res 0,[hl]
|
res 0,[hl]
|
||||||
ret
|
ret
|
||||||
|
@ -23988,7 +23988,7 @@ EnemySendOut: ; 490E
|
||||||
ld [hl],a
|
ld [hl],a
|
||||||
dec a
|
dec a
|
||||||
ld [W_AICOUNT],a
|
ld [W_AICOUNT],a
|
||||||
ld hl,$D062
|
ld hl,W_PLAYERBATTSTATUS1
|
||||||
res 5,[hl]
|
res 5,[hl]
|
||||||
ld hl,$C3B2
|
ld hl,$C3B2
|
||||||
ld a,8
|
ld a,8
|
||||||
|
@ -24194,7 +24194,7 @@ UnnamedText_3d430: ; 0x3d430
|
||||||
INCBIN "baserom.gbc",$3d435,$274
|
INCBIN "baserom.gbc",$3d435,$274
|
||||||
|
|
||||||
; in-battle stuff
|
; in-battle stuff
|
||||||
ld hl,$D062
|
ld hl,W_PLAYERBATTSTATUS1
|
||||||
res 4,[hl]
|
res 4,[hl]
|
||||||
res 6,[hl]
|
res 6,[hl]
|
||||||
call $5AF5
|
call $5AF5
|
||||||
|
@ -24202,17 +24202,17 @@ INCBIN "baserom.gbc",$3d435,$274
|
||||||
ld de,$CCDC ; pointer to the move just used
|
ld de,$CCDC ; pointer to the move just used
|
||||||
ld b,BANK(DecrementPP)
|
ld b,BANK(DecrementPP)
|
||||||
call Bankswitch
|
call Bankswitch
|
||||||
ld a,[$CFD3] ; effect of the move just used
|
ld a,[W_PLAYERMOVEEFFECT] ; effect of the move just used
|
||||||
ld hl,EffectsArray1
|
ld hl,EffectsArray1
|
||||||
ld de,1
|
ld de,1
|
||||||
call IsInArray
|
call IsInArray
|
||||||
jp c,$7132
|
jp c,$7132
|
||||||
ld a,[$CFD3]
|
ld a,[W_PLAYERMOVEEFFECT]
|
||||||
ld hl,EffectsArray5B
|
ld hl,EffectsArray5B
|
||||||
ld de,1
|
ld de,1
|
||||||
call IsInArray
|
call IsInArray
|
||||||
call c,$7132
|
call c,$7132
|
||||||
ld a,[$CFD3]
|
ld a,[W_PLAYERMOVEEFFECT]
|
||||||
ld hl,EffectsArray2
|
ld hl,EffectsArray2
|
||||||
ld de,1
|
ld de,1
|
||||||
call IsInArray
|
call IsInArray
|
||||||
|
@ -24227,33 +24227,33 @@ INCBIN "baserom.gbc",$3d435,$274
|
||||||
call $6687
|
call $6687
|
||||||
call $656B
|
call $656B
|
||||||
.next11\@
|
.next11\@
|
||||||
ld a,[$D05F]
|
ld a,[W_MOVEMISSED]
|
||||||
and a
|
and a
|
||||||
jr z,.next\@
|
jr z,.next\@
|
||||||
ld a,[$CFD3]
|
ld a,[W_PLAYERMOVEEFFECT]
|
||||||
sub a,7
|
sub a,7
|
||||||
jr z,.next2\@
|
jr z,.next2\@
|
||||||
jr .next3\@ ; 574B
|
jr .next3\@ ; 574B
|
||||||
.next\@
|
.next\@
|
||||||
ld a,[$CFD3]
|
ld a,[W_PLAYERMOVEEFFECT]
|
||||||
and a
|
and a
|
||||||
ld a,4
|
ld a,4
|
||||||
jr z,.next2\@
|
jr z,.next2\@
|
||||||
ld a,5
|
ld a,5
|
||||||
.next2\@
|
.next2\@
|
||||||
push af
|
push af
|
||||||
ld a,[$D063]
|
ld a,[W_PLAYERBATTSTATUS2]
|
||||||
bit 4,a
|
bit 4,a
|
||||||
ld hl,$5747
|
ld hl,$5747
|
||||||
ld b,$1E
|
ld b,$1E
|
||||||
call nz,Bankswitch
|
call nz,Bankswitch
|
||||||
pop af
|
pop af
|
||||||
ld [$CC5B],a
|
ld [$CC5B],a
|
||||||
ld a,[$CFD2]
|
ld a,[W_PLAYERMOVENUM]
|
||||||
call $6F07
|
call $6F07
|
||||||
call $6ED3
|
call $6ED3
|
||||||
call $4D60
|
call $4D60
|
||||||
ld a,[$D063]
|
ld a,[W_PLAYERBATTSTATUS2]
|
||||||
bit 4,a
|
bit 4,a
|
||||||
ld hl,$5771
|
ld hl,$5771
|
||||||
ld b,$1E
|
ld b,$1E
|
||||||
|
@ -24262,7 +24262,7 @@ INCBIN "baserom.gbc",$3d435,$274
|
||||||
.next3\@
|
.next3\@
|
||||||
ld c,$1E
|
ld c,$1E
|
||||||
call $3739
|
call $3739
|
||||||
ld a,[$CFD3]
|
ld a,[W_PLAYERMOVEEFFECT]
|
||||||
cp a,$2B
|
cp a,$2B
|
||||||
jr z,.next5\@
|
jr z,.next5\@
|
||||||
cp a,$27 ; XXX SLP | FRZ ?
|
cp a,$27 ; XXX SLP | FRZ ?
|
||||||
|
@ -24274,7 +24274,7 @@ INCBIN "baserom.gbc",$3d435,$274
|
||||||
ld a,$A7
|
ld a,$A7
|
||||||
call $6F07
|
call $6F07
|
||||||
.next4\@
|
.next4\@
|
||||||
ld a,[$CFD3]
|
ld a,[W_PLAYERMOVEEFFECT]
|
||||||
cp a,9
|
cp a,9
|
||||||
jr nz,.next6\@ ; 577A
|
jr nz,.next6\@ ; 577A
|
||||||
call $62FD
|
call $62FD
|
||||||
|
@ -24288,16 +24288,16 @@ INCBIN "baserom.gbc",$3d435,$274
|
||||||
call $6348
|
call $6348
|
||||||
jp $569A
|
jp $569A
|
||||||
.next7\@
|
.next7\@
|
||||||
ld a,[$CFD3]
|
ld a,[W_PLAYERMOVEEFFECT]
|
||||||
ld hl,EffectsArray3
|
ld hl,EffectsArray3
|
||||||
ld de,1
|
ld de,1
|
||||||
call IsInArray
|
call IsInArray
|
||||||
jp c,$7132
|
jp c,$7132
|
||||||
ld a,[$D05F]
|
ld a,[W_MOVEMISSED]
|
||||||
and a
|
and a
|
||||||
jr z,.next8\@ ; 57A6
|
jr z,.next8\@ ; 57A6
|
||||||
call $5BE2
|
call $5BE2
|
||||||
ld a,[$CFD3]
|
ld a,[W_PLAYERMOVEEFFECT]
|
||||||
cp a,7
|
cp a,7
|
||||||
jr z,.next9\@ ; 57B9
|
jr z,.next9\@ ; 57B9
|
||||||
jp Function580A
|
jp Function580A
|
||||||
|
@ -24310,7 +24310,7 @@ INCBIN "baserom.gbc",$3d435,$274
|
||||||
ld a,1
|
ld a,1
|
||||||
ld [$CCF4],a
|
ld [$CCF4],a
|
||||||
.next9\@
|
.next9\@
|
||||||
ld a,[$CFD3]
|
ld a,[W_PLAYERMOVEEFFECT]
|
||||||
ld hl,EffectsArray4
|
ld hl,EffectsArray4
|
||||||
ld de,1
|
ld de,1
|
||||||
call IsInArray
|
call IsInArray
|
||||||
|
@ -24322,7 +24322,7 @@ INCBIN "baserom.gbc",$3d435,$274
|
||||||
ret z
|
ret z
|
||||||
call $62B6
|
call $62B6
|
||||||
|
|
||||||
ld hl,$D062
|
ld hl,W_PLAYERBATTSTATUS1
|
||||||
bit 2,[hl]
|
bit 2,[hl]
|
||||||
jr z,.next10\@ ; 57EF
|
jr z,.next10\@ ; 57EF
|
||||||
ld a,[$D06A]
|
ld a,[$D06A]
|
||||||
|
@ -24336,7 +24336,7 @@ INCBIN "baserom.gbc",$3d435,$274
|
||||||
xor a
|
xor a
|
||||||
ld [W_NUMHITS],a ; reset
|
ld [W_NUMHITS],a ; reset
|
||||||
.next10\@
|
.next10\@
|
||||||
ld a,[$CFD3]
|
ld a,[W_PLAYERMOVEEFFECT]
|
||||||
and a
|
and a
|
||||||
jp z,Function580A
|
jp z,Function580A
|
||||||
ld hl,EffectsArray5
|
ld hl,EffectsArray5
|
||||||
|
@ -24362,7 +24362,7 @@ Function5811: ; 0x3d811 5811
|
||||||
ld a,[H_WHOSETURN]
|
ld a,[H_WHOSETURN]
|
||||||
and a
|
and a
|
||||||
jr nz,.Ghost\@
|
jr nz,.Ghost\@
|
||||||
ld a,[W_CURMONSTATUS] ; player’s turn
|
ld a,[W_PLAYERMONSTATUS] ; player’s turn
|
||||||
and a,SLP | FRZ
|
and a,SLP | FRZ
|
||||||
ret nz
|
ret nz
|
||||||
ld hl,ScaredText
|
ld hl,ScaredText
|
||||||
|
@ -24401,13 +24401,13 @@ Function583A: ; 0x3d83a 583A
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Function5854: ; 5854
|
Function5854: ; 5854
|
||||||
ld hl,W_CURMONSTATUS
|
ld hl,W_PLAYERMONSTATUS
|
||||||
ld a,[hl]
|
ld a,[hl]
|
||||||
and a,SLP
|
and a,SLP
|
||||||
jr z,.FrozenCheck\@ ; to 5884
|
jr z,.FrozenCheck\@ ; to 5884
|
||||||
|
|
||||||
dec a
|
dec a
|
||||||
ld [W_CURMONSTATUS],a ; decrement sleep count
|
ld [W_PLAYERMONSTATUS],a ; decrement sleep count
|
||||||
and a
|
and a
|
||||||
jr z,.WakeUp\@ ; to 5874
|
jr z,.WakeUp\@ ; to 5874
|
||||||
|
|
||||||
|
@ -24438,7 +24438,7 @@ Function5854: ; 5854
|
||||||
jp $5A37
|
jp $5A37
|
||||||
|
|
||||||
.HeldInPlaceCheck\@
|
.HeldInPlaceCheck\@
|
||||||
ld a,[W_CURMONBATTSTATUS]
|
ld a,[W_ENEMYBATTSTATUS1]
|
||||||
bit 5,a
|
bit 5,a
|
||||||
jp z,FlinchedCheck
|
jp z,FlinchedCheck
|
||||||
ld hl,CantMoveText
|
ld hl,CantMoveText
|
||||||
|
@ -24447,7 +24447,7 @@ Function5854: ; 5854
|
||||||
jp $5A37
|
jp $5A37
|
||||||
|
|
||||||
FlinchedCheck: ; 58AC
|
FlinchedCheck: ; 58AC
|
||||||
ld hl,$D062
|
ld hl,W_PLAYERBATTSTATUS1
|
||||||
bit 3,[hl]
|
bit 3,[hl]
|
||||||
jp z,HyperBeamCheck
|
jp z,HyperBeamCheck
|
||||||
res 3,[hl]
|
res 3,[hl]
|
||||||
|
@ -24457,7 +24457,7 @@ FlinchedCheck: ; 58AC
|
||||||
jp $5A37
|
jp $5A37
|
||||||
|
|
||||||
HyperBeamCheck: ; 58C2
|
HyperBeamCheck: ; 58C2
|
||||||
ld hl,$D063
|
ld hl,W_PLAYERBATTSTATUS2
|
||||||
bit 5,[hl]
|
bit 5,[hl]
|
||||||
jr z,.next\@ ; 58D7
|
jr z,.next\@ ; 58D7
|
||||||
res 5,[hl]
|
res 5,[hl]
|
||||||
|
@ -24479,13 +24479,13 @@ HyperBeamCheck: ; 58C2
|
||||||
ld hl,DisabledNoMoreText
|
ld hl,DisabledNoMoreText
|
||||||
call PrintText
|
call PrintText
|
||||||
.next2\@
|
.next2\@
|
||||||
ld a,[$D062]
|
ld a,[W_PLAYERBATTSTATUS1]
|
||||||
add a
|
add a
|
||||||
jr nc,.next3\@ ; 5929
|
jr nc,.next3\@ ; 5929
|
||||||
ld hl,$D06B
|
ld hl,$D06B
|
||||||
dec [hl]
|
dec [hl]
|
||||||
jr nz,.next4\@ ; 5907
|
jr nz,.next4\@ ; 5907
|
||||||
ld hl,$D062
|
ld hl,W_PLAYERBATTSTATUS1
|
||||||
res 7,[hl]
|
res 7,[hl]
|
||||||
ld hl,ConfusedNoMoreText
|
ld hl,ConfusedNoMoreText
|
||||||
call PrintText
|
call PrintText
|
||||||
|
@ -24500,7 +24500,7 @@ HyperBeamCheck: ; 58C2
|
||||||
call $6E9B
|
call $6E9B
|
||||||
cp a,$80
|
cp a,$80
|
||||||
jr c,.next3\@
|
jr c,.next3\@
|
||||||
ld hl,$D062
|
ld hl,W_PLAYERBATTSTATUS1
|
||||||
ld a,[hl]
|
ld a,[hl]
|
||||||
and a,$80
|
and a,$80
|
||||||
ld [hl],a
|
ld [hl],a
|
||||||
|
@ -24517,7 +24517,7 @@ HyperBeamCheck: ; 58C2
|
||||||
ld hl,$580A
|
ld hl,$580A
|
||||||
jp $5A37
|
jp $5A37
|
||||||
.ParalysisCheck\@
|
.ParalysisCheck\@
|
||||||
ld hl,W_CURMONSTATUS
|
ld hl,W_PLAYERMONSTATUS
|
||||||
bit 6,[hl]
|
bit 6,[hl]
|
||||||
jr z,.next7\@ ; 5975
|
jr z,.next7\@ ; 5975
|
||||||
call $6E9B ; random number?
|
call $6E9B ; random number?
|
||||||
|
@ -24526,11 +24526,11 @@ HyperBeamCheck: ; 58C2
|
||||||
ld hl,FullyParalyzedText
|
ld hl,FullyParalyzedText
|
||||||
call PrintText
|
call PrintText
|
||||||
.next5\@
|
.next5\@
|
||||||
ld hl,$D062
|
ld hl,W_PLAYERBATTSTATUS1
|
||||||
ld a,[hl]
|
ld a,[hl]
|
||||||
and a,$CC
|
and a,$CC
|
||||||
ld [hl],a
|
ld [hl],a
|
||||||
ld a,[$CFD3]
|
ld a,[W_PLAYERMOVEEFFECT]
|
||||||
cp a,$2B
|
cp a,$2B
|
||||||
jr z,.next8\@ ; 5966
|
jr z,.next8\@ ; 5966
|
||||||
cp a,$27
|
cp a,$27
|
||||||
|
@ -24545,11 +24545,11 @@ HyperBeamCheck: ; 58C2
|
||||||
ld hl,$580A
|
ld hl,$580A
|
||||||
jp $5A37
|
jp $5A37
|
||||||
.next7\@
|
.next7\@
|
||||||
ld hl,$D062
|
ld hl,W_PLAYERBATTSTATUS1
|
||||||
bit 0,[hl]
|
bit 0,[hl]
|
||||||
jr z,.next10\@ ; 59D0
|
jr z,.next10\@ ; 59D0
|
||||||
xor a
|
xor a
|
||||||
ld [$CFD2],a
|
ld [W_PLAYERMOVENUM],a
|
||||||
ld hl,$D0D7
|
ld hl,$D0D7
|
||||||
ld a,[hli]
|
ld a,[hli]
|
||||||
ld b,a
|
ld b,a
|
||||||
|
@ -24567,7 +24567,7 @@ HyperBeamCheck: ; 58C2
|
||||||
ld hl,$580A
|
ld hl,$580A
|
||||||
jp $5A37
|
jp $5A37
|
||||||
.next11\@
|
.next11\@
|
||||||
ld hl,$D062
|
ld hl,W_PLAYERBATTSTATUS1
|
||||||
res 0,[hl]
|
res 0,[hl]
|
||||||
ld hl,UnleashedEnergyText
|
ld hl,UnleashedEnergyText
|
||||||
call PrintText
|
call PrintText
|
||||||
|
@ -24584,20 +24584,20 @@ HyperBeamCheck: ; 58C2
|
||||||
or b
|
or b
|
||||||
jr nz,.next12\@ ; 59C2
|
jr nz,.next12\@ ; 59C2
|
||||||
ld a,1
|
ld a,1
|
||||||
ld [$D05F],a
|
ld [W_MOVEMISSED],a
|
||||||
.next12\@
|
.next12\@
|
||||||
xor a
|
xor a
|
||||||
ld [hli],a
|
ld [hli],a
|
||||||
ld [hl],a
|
ld [hl],a
|
||||||
ld a,$75
|
ld a,$75
|
||||||
ld [$CFD2],a
|
ld [W_PLAYERMOVENUM],a
|
||||||
ld hl,$5705
|
ld hl,$5705
|
||||||
jp $5A37
|
jp $5A37
|
||||||
.next10\@
|
.next10\@
|
||||||
bit 1,[hl]
|
bit 1,[hl]
|
||||||
jr z,.next13\@ ; 59FF
|
jr z,.next13\@ ; 59FF
|
||||||
ld a,$25
|
ld a,$25
|
||||||
ld [$CFD2],a
|
ld [W_PLAYERMOVENUM],a
|
||||||
ld hl,ThrashingAboutText
|
ld hl,ThrashingAboutText
|
||||||
call PrintText
|
call PrintText
|
||||||
ld hl,$D06A
|
ld hl,$D06A
|
||||||
|
@ -24605,7 +24605,7 @@ HyperBeamCheck: ; 58C2
|
||||||
ld hl,$56DC
|
ld hl,$56DC
|
||||||
jp nz,$5A37
|
jp nz,$5A37
|
||||||
push hl
|
push hl
|
||||||
ld hl,$D062
|
ld hl,W_PLAYERBATTSTATUS1
|
||||||
res 1,[hl]
|
res 1,[hl]
|
||||||
set 7,[hl]
|
set 7,[hl]
|
||||||
call $6E9B ; random number?
|
call $6E9B ; random number?
|
||||||
|
@ -24844,7 +24844,128 @@ HighCriticalMoves: ; 0x3e08e
|
||||||
db $FF
|
db $FF
|
||||||
; 0x3e093
|
; 0x3e093
|
||||||
|
|
||||||
INCBIN "baserom.gbc",$3e093,$3e2ac - $3e093
|
INCBIN "baserom.gbc",$3e093,$3e0df - $3e093
|
||||||
|
|
||||||
|
ApplyDamageToEnemyPokemon: ; 60DF
|
||||||
|
ld a,[W_PLAYERMOVEEFFECT]
|
||||||
|
cp a,$26 ; OHKO
|
||||||
|
jr z,.applyDamage\@
|
||||||
|
cp a,$28 ; super fang's effect
|
||||||
|
jr z,.superFangEffect\@
|
||||||
|
cp a,$29 ; special damage (fixed or random damage)
|
||||||
|
jr z,.specialDamage\@
|
||||||
|
ld a,[W_PLAYERMOVEPOWER]
|
||||||
|
and a
|
||||||
|
jp z,.done\@
|
||||||
|
jr .applyDamage\@
|
||||||
|
.superFangEffect\@
|
||||||
|
; set the damage to half the target's HP
|
||||||
|
ld hl,W_ENEMYMONCURHP
|
||||||
|
ld de,W_DAMAGE
|
||||||
|
ld a,[hli]
|
||||||
|
srl a
|
||||||
|
ld [de],a
|
||||||
|
inc de
|
||||||
|
ld b,a
|
||||||
|
ld a,[hl]
|
||||||
|
rr a
|
||||||
|
ld [de],a
|
||||||
|
or b
|
||||||
|
jr nz,.applyDamage\@
|
||||||
|
; make sure Super Fang's damage is always at least 1
|
||||||
|
ld a,$01
|
||||||
|
ld [de],a
|
||||||
|
jr .applyDamage\@
|
||||||
|
.specialDamage\@
|
||||||
|
ld hl,W_PLAYERMONLEVEL
|
||||||
|
ld a,[hl]
|
||||||
|
ld b,a
|
||||||
|
ld a,[W_PLAYERMOVENUM]
|
||||||
|
cp a,SEISMIC_TOSS
|
||||||
|
jr z,.storeDamage\@
|
||||||
|
cp a,NIGHT_SHADE
|
||||||
|
jr z,.storeDamage\@
|
||||||
|
ld b,$14 ; Sonic Boom damage
|
||||||
|
cp a,SONICBOOM
|
||||||
|
jr z,.storeDamage\@
|
||||||
|
ld b,$28 ; Dragon Rage damage
|
||||||
|
cp a,DRAGON_RAGE
|
||||||
|
jr z,.storeDamage\@
|
||||||
|
; Psywave
|
||||||
|
ld a,[hl]
|
||||||
|
ld b,a
|
||||||
|
srl a
|
||||||
|
add b
|
||||||
|
ld b,a ; b = level * 1.5
|
||||||
|
; loop until a random number between 1 and b is found
|
||||||
|
.loop\@
|
||||||
|
call $6e9b ; random number
|
||||||
|
and a
|
||||||
|
jr z,.loop\@
|
||||||
|
cp b
|
||||||
|
jr nc,.loop\@
|
||||||
|
ld b,a
|
||||||
|
.storeDamage\@
|
||||||
|
ld hl,W_DAMAGE
|
||||||
|
xor a
|
||||||
|
ld [hli],a
|
||||||
|
ld a,b
|
||||||
|
ld [hl],a
|
||||||
|
.applyDamage\@
|
||||||
|
ld hl,W_DAMAGE
|
||||||
|
ld a,[hli]
|
||||||
|
ld b,a
|
||||||
|
ld a,[hl]
|
||||||
|
or b
|
||||||
|
jr z,.done\@ ; we're done if damage is 0
|
||||||
|
ld a,[W_ENEMYBATTSTATUS2]
|
||||||
|
bit 4,a ; does the enemy have a substitute?
|
||||||
|
jp nz,$625e
|
||||||
|
; subtract the damage from the pokemon's current HP
|
||||||
|
; also, save the current HP at $CEEB
|
||||||
|
ld a,[hld]
|
||||||
|
ld b,a
|
||||||
|
ld a,[W_ENEMYMONCURHP + 1]
|
||||||
|
ld [$ceeb],a
|
||||||
|
sub b
|
||||||
|
ld [W_ENEMYMONCURHP + 1],a
|
||||||
|
ld a,[hl]
|
||||||
|
ld b,a
|
||||||
|
ld a,[W_ENEMYMONCURHP]
|
||||||
|
ld [$ceec],a
|
||||||
|
sbc b
|
||||||
|
ld [W_ENEMYMONCURHP],a
|
||||||
|
jr nc,.animateHpBar\@
|
||||||
|
; if more damage was done than the current HP, zero the HP and set the damage
|
||||||
|
; equal to how much HP the pokemon had before fainting
|
||||||
|
ld a,[$ceec]
|
||||||
|
ld [hli],a
|
||||||
|
ld a,[$ceeb]
|
||||||
|
ld [hl],a
|
||||||
|
xor a
|
||||||
|
ld hl,W_ENEMYMONCURHP
|
||||||
|
ld [hli],a
|
||||||
|
ld [hl],a
|
||||||
|
.animateHpBar\@
|
||||||
|
ld hl,W_ENEMYMONMAXHP
|
||||||
|
ld a,[hli]
|
||||||
|
ld [$ceea],a
|
||||||
|
ld a,[hl]
|
||||||
|
ld [$cee9],a
|
||||||
|
ld hl,W_ENEMYMONCURHP
|
||||||
|
ld a,[hli]
|
||||||
|
ld [$ceee],a
|
||||||
|
ld a,[hl]
|
||||||
|
ld [$ceed],a
|
||||||
|
ld hl,$c3ca
|
||||||
|
xor a
|
||||||
|
ld [$cf94],a
|
||||||
|
ld a,$48
|
||||||
|
call Predef ; animate the HP bar shortening
|
||||||
|
.done\@
|
||||||
|
jp $4d5a ; redraw pokemon names and HP bars
|
||||||
|
|
||||||
|
INCBIN "baserom.gbc",$3e1a0,$3e2ac - $3e1a0
|
||||||
|
|
||||||
UnnamedText_3e2ac: ; 0x3e2ac
|
UnnamedText_3e2ac: ; 0x3e2ac
|
||||||
TX_FAR _UnnamedText_3e2ac
|
TX_FAR _UnnamedText_3e2ac
|
||||||
|
@ -47376,12 +47497,12 @@ DecrementPP: ; 0x68000
|
||||||
cp a, STRUGGLE
|
cp a, STRUGGLE
|
||||||
ret z ; if the pokemon is using "struggle", there's nothing to do
|
ret z ; if the pokemon is using "struggle", there's nothing to do
|
||||||
; we don't decrement PP for "struggle"
|
; we don't decrement PP for "struggle"
|
||||||
ld hl, $D062
|
ld hl, W_PLAYERBATTSTATUS1
|
||||||
ld a, [hli] ; load the $D062 pokemon status flags and increment hl to load the
|
ld a, [hli] ; load the W_PLAYERBATTSTATUS1 pokemon status flags and increment hl to load the
|
||||||
; $D063 status flags later
|
; W_PLAYERBATTSTATUS2 status flags later
|
||||||
and a, 7 ; check to see if bits 0, 1, or 2 are set
|
and a, 7 ; check to see if bits 0, 1, or 2 are set
|
||||||
ret nz ; if any of these statuses are true, don't decrement PP
|
ret nz ; if any of these statuses are true, don't decrement PP
|
||||||
bit 6, [hl] ; check 6th bit status flag on $D063
|
bit 6, [hl] ; check 6th bit status flag on W_PLAYERBATTSTATUS2
|
||||||
ret nz ; and return if it is set
|
ret nz ; and return if it is set
|
||||||
ld hl, $D02D ; PP of first move (in battle)
|
ld hl, $D02D ; PP of first move (in battle)
|
||||||
call .DecrementPP\@
|
call .DecrementPP\@
|
||||||
|
|
|
@ -89,6 +89,9 @@ TX_RAM: MACRO
|
||||||
|
|
||||||
; wram locations
|
; wram locations
|
||||||
|
|
||||||
|
W_PLAYERSELECTEDMOVE EQU $CCDC
|
||||||
|
W_ENEMYSELECTEDMOVE EQU $CCDD
|
||||||
|
|
||||||
W_AICOUNT EQU $CCDF ; number of times remaining that AI action can occur
|
W_AICOUNT EQU $CCDF ; number of times remaining that AI action can occur
|
||||||
|
|
||||||
W_WHICHTRADE EQU $CD3D ; which entry from TradeMons to select
|
W_WHICHTRADE EQU $CD3D ; which entry from TradeMons to select
|
||||||
|
@ -97,9 +100,23 @@ W_WHICHPOKEMON EQU $CF92 ; which pokemon you selected
|
||||||
|
|
||||||
W_WALKCOUNTER EQU $CFC5 ; walk animation counter
|
W_WALKCOUNTER EQU $CFC5 ; walk animation counter
|
||||||
|
|
||||||
W_OPPONENTHP EQU $CFE6 ; active opponent's hp (16 bits)
|
W_ENEMYMOVENUM EQU $CFCC
|
||||||
W_OPPONENTNUMBER EQU $CFE8 ; active opponent's position in team (0 to 5)
|
W_ENEMYMOVEEFFECT EQU $CFCD
|
||||||
W_OPPONENTSTATUS EQU $CFE9 ; active opponent's status condition
|
W_ENEMYMOVEPOWER EQU $CFCE
|
||||||
|
W_ENEMYMOVETYPE EQU $CFCF
|
||||||
|
W_ENEMYMOVEACCURACY EQU $CFD0
|
||||||
|
W_ENEMYMOVEMAXPP EQU $CFD1
|
||||||
|
|
||||||
|
W_PLAYERMOVENUM EQU $CFD2
|
||||||
|
W_PLAYERMOVEEFFECT EQU $CFD3
|
||||||
|
W_PLAYERMOVEPOWER EQU $CFD4
|
||||||
|
W_PLAYERMOVETYPE EQU $CFD5
|
||||||
|
W_PLAYERMOVEACCURACY EQU $CFD6
|
||||||
|
W_PLAYERMOVEMAXPP EQU $CFD7
|
||||||
|
|
||||||
|
W_ENEMYMONCURHP EQU $CFE6 ; active opponent's hp (16 bits)
|
||||||
|
W_ENEMYMONNUMBER EQU $CFE8 ; active opponent's position in team (0 to 5)
|
||||||
|
W_ENEMYMONSTATUS EQU $CFE9 ; active opponent's status condition
|
||||||
; bit 0 slp
|
; bit 0 slp
|
||||||
; bit 1 slp
|
; bit 1 slp
|
||||||
; bit 2 slp
|
; bit 2 slp
|
||||||
|
@ -108,8 +125,11 @@ W_OPPONENTSTATUS EQU $CFE9 ; active opponent's status condition
|
||||||
; bit 5 frz
|
; bit 5 frz
|
||||||
; bit 6 par
|
; bit 6 par
|
||||||
; unused? (XXX confirm)
|
; unused? (XXX confirm)
|
||||||
|
W_ENEMYMONLEVEL EQU $CFF3
|
||||||
|
W_ENEMYMONMAXHP EQU $CFF4 ; (16 bits)
|
||||||
|
|
||||||
W_CURMONSTATUS EQU $D018 ; the status of the player’s current monster
|
W_PLAYERMONCURHP EQU $D015 ; active opponent's hp (16 bits)
|
||||||
|
W_PLAYERMONSTATUS EQU $D018 ; the status of the player’s current monster
|
||||||
; bit 0 slp
|
; bit 0 slp
|
||||||
; bit 1 slp
|
; bit 1 slp
|
||||||
; bit 2 slp
|
; bit 2 slp
|
||||||
|
@ -118,9 +138,8 @@ W_CURMONSTATUS EQU $D018 ; the status of the player’s current monster
|
||||||
; bit 5 frz
|
; bit 5 frz
|
||||||
; bit 6 par
|
; bit 6 par
|
||||||
; unused? (XXX confirm)
|
; unused? (XXX confirm)
|
||||||
|
W_PLAYERMONLEVEL EQU $D022
|
||||||
W_CURMONBATTSTATUS EQU $D067 ; various battle statuses
|
W_PLAYERMONMAXHP EQU $D023 ; (16 bits)
|
||||||
; bit 5 held in place (Bind, Clamp, etc.)
|
|
||||||
|
|
||||||
W_TRAINERCLASS EQU $D031
|
W_TRAINERCLASS EQU $D031
|
||||||
|
|
||||||
|
@ -138,8 +157,52 @@ W_BATTLETYPE EQU $D05A ; in normal battle, this is 0
|
||||||
W_LONEATTACKNO EQU $D05C ; which entry in LoneAttacks to use
|
W_LONEATTACKNO EQU $D05C ; which entry in LoneAttacks to use
|
||||||
W_TRAINERNO EQU $D05D ; which instance of [youngster, lass, etc] is this?
|
W_TRAINERNO EQU $D05D ; which instance of [youngster, lass, etc] is this?
|
||||||
|
|
||||||
|
W_MOVEMISSED EQU $D05F
|
||||||
|
|
||||||
|
; not entirely sure that all these bits are 100% correct
|
||||||
|
; Battle Status Byte 1
|
||||||
|
; bit 0 - bide
|
||||||
|
; bit 1 - thrash / petal dance
|
||||||
|
; bit 2 - attacking multiple times (e.g. double kick)
|
||||||
|
; bit 3 - flinch
|
||||||
|
; bit 4 - charging up for attack
|
||||||
|
; bit 5 - using multi-turn move (e.g. wrap)
|
||||||
|
; bit 6 - invulnerable to normal attack (using fly/dig)
|
||||||
|
; bit 7 - confusion
|
||||||
|
|
||||||
|
; Battle Status Byte 2
|
||||||
|
; bit 0 - X Accuracy effect
|
||||||
|
; bit 1 - protected by "mist"
|
||||||
|
; bit 2 - focus energy effect
|
||||||
|
; bit 4 - has a substitute
|
||||||
|
; bit 5 - need to recharge
|
||||||
|
; bit 6 - rage
|
||||||
|
; bit 7 - leech seeded
|
||||||
|
|
||||||
|
; Battle Status Byte 3
|
||||||
|
; bit 0 - toxic
|
||||||
|
; bit 1 - light screen
|
||||||
|
; bit 2 - reflect
|
||||||
|
; bit 3 - tranformed
|
||||||
|
|
||||||
|
W_PLAYERBATTSTATUS1 EQU $D062
|
||||||
|
W_PLAYERBATTSTATUS2 EQU $D063
|
||||||
|
W_PLAYERBATTSTATUS3 EQU $D062
|
||||||
|
|
||||||
|
W_ENEMYBATTSTATUS1 EQU $D067
|
||||||
|
W_ENEMYBATTSTATUS2 EQU $D068
|
||||||
|
W_ENEMYBATTSTATUS3 EQU $D069
|
||||||
|
|
||||||
|
W_PLAYERTOXICCOUNTER EQU $D06C
|
||||||
|
W_PLAYERDISABLEDMOVE EQU $D06D
|
||||||
|
|
||||||
|
W_ENEMYTOXICCOUNTER EQU $D071
|
||||||
|
W_ENEMYDISABLEDMOVE EQU $D072
|
||||||
|
|
||||||
W_NUMHITS EQU $D074 ; number of hits in attacks like Doubleslap, etc.
|
W_NUMHITS EQU $D074 ; number of hits in attacks like Doubleslap, etc.
|
||||||
|
|
||||||
|
W_DAMAGE EQU $D0D7
|
||||||
|
|
||||||
; List type
|
; List type
|
||||||
; used in $D0B6
|
; used in $D0B6
|
||||||
MONSTER_NAME EQU 1
|
MONSTER_NAME EQU 1
|
||||||
|
|
323
music.asm
323
music.asm
|
@ -2801,7 +2801,7 @@ branch_A4A8:
|
||||||
mus_note noteC#, note8
|
mus_note noteC#, note8
|
||||||
mus_note noteB, note8
|
mus_note noteB, note8
|
||||||
mus_note noteC#, note8
|
mus_note noteC#, note8
|
||||||
mus_jump 0, $64A8
|
mus_jump 0, branch_A4A8
|
||||||
; A5EF
|
; A5EF
|
||||||
;No end byte until indigo plateu channel 1
|
;No end byte until indigo plateu channel 1
|
||||||
|
|
||||||
|
@ -3975,12 +3975,329 @@ branch_a9d8:
|
||||||
|
|
||||||
; AA6F
|
; AA6F
|
||||||
mus_tempo 0, 232
|
mus_tempo 0, 232
|
||||||
mus_jump 0, $6A79 ;;Leads into city music not dugout yet
|
mus_jump 0, branch_aa79
|
||||||
; AA75
|
; AA75
|
||||||
|
|
||||||
;Viridian City, Pewter City, Saffron City
|
;Viridian City, Pewter City, Saffron City
|
||||||
Cities1_md_1: ;AA76 - AB91
|
Cities1_md_1: ;AA76 - AB91
|
||||||
INCBIN "baserom.gbc",$aa76,$ab92 - $aa76
|
; AA76
|
||||||
|
mus_tempo 0, 144
|
||||||
|
|
||||||
|
branch_aa79:
|
||||||
|
mus_volume 119
|
||||||
|
mus_mod 8, 2, 4
|
||||||
|
mus_duty duty75
|
||||||
|
branch_aa80:
|
||||||
|
mus_vel 12, 5
|
||||||
|
|
||||||
|
mus_octave oct2
|
||||||
|
mus_note noteG#, note4
|
||||||
|
mus_note noteF#, note4
|
||||||
|
mus_note noteE, note8
|
||||||
|
mus_note noteE, note8
|
||||||
|
mus_note noteF#, note8
|
||||||
|
mus_note noteD#, note8
|
||||||
|
mus_note noteE, note8
|
||||||
|
mus_note noteE, note8
|
||||||
|
mus_note noteD#, note8
|
||||||
|
mus_note noteC#, note4
|
||||||
|
mus_note noteD#, note4
|
||||||
|
mus_note noteE, note8
|
||||||
|
mus_note noteD#, note4
|
||||||
|
mus_note noteC#, note8
|
||||||
|
mus_note noteE, note8
|
||||||
|
mus_note noteE, note4
|
||||||
|
mus_vel 10, 5
|
||||||
|
mus_note noteC#, note4
|
||||||
|
|
||||||
|
mus_octave oct1
|
||||||
|
mus_note noteB, note4_8
|
||||||
|
|
||||||
|
mus_octave oct2
|
||||||
|
mus_note noteC#, note8
|
||||||
|
mus_note noteC#, note4
|
||||||
|
|
||||||
|
mus_octave oct1
|
||||||
|
mus_note noteB, note4
|
||||||
|
mus_vel 12, 5
|
||||||
|
mus_call branch_ab7d
|
||||||
|
|
||||||
|
mus_octave oct2
|
||||||
|
mus_note noteD#, note4_8
|
||||||
|
mus_note noteE, note8
|
||||||
|
|
||||||
|
mus_octave oct1
|
||||||
|
mus_note noteB, note4
|
||||||
|
mus_vel 10, 5
|
||||||
|
|
||||||
|
mus_octave oct2
|
||||||
|
mus_note noteC#, note8
|
||||||
|
|
||||||
|
mus_octave oct1
|
||||||
|
mus_note noteB, note8
|
||||||
|
mus_note noteA, note4
|
||||||
|
mus_note noteB, note4
|
||||||
|
mus_note noteB, note8
|
||||||
|
|
||||||
|
mus_octave oct2
|
||||||
|
mus_note noteC#, note8
|
||||||
|
mus_note noteD#, note8
|
||||||
|
mus_note noteE, note8
|
||||||
|
mus_note noteD#, note8
|
||||||
|
mus_note noteC#, note8
|
||||||
|
mus_note noteD#, note8
|
||||||
|
mus_vel 12, 5
|
||||||
|
mus_note noteG#, note8
|
||||||
|
mus_note noteE, note8
|
||||||
|
mus_note noteF#, note8
|
||||||
|
mus_note noteE, note8
|
||||||
|
mus_note noteE, note4
|
||||||
|
mus_note noteF#, note8
|
||||||
|
mus_note noteD#, note8
|
||||||
|
mus_note noteE, note4
|
||||||
|
mus_note noteD#, note8
|
||||||
|
mus_note noteC#, note4
|
||||||
|
mus_note noteD#, note4
|
||||||
|
mus_note noteE, note8
|
||||||
|
mus_note noteD#, note8
|
||||||
|
mus_note noteC#, note8
|
||||||
|
mus_note noteC#, note8
|
||||||
|
mus_note noteE, note8
|
||||||
|
mus_note noteE, note4
|
||||||
|
mus_vel 10, 5
|
||||||
|
mus_note noteC#, note8
|
||||||
|
|
||||||
|
mus_octave oct1
|
||||||
|
mus_note noteA, note8
|
||||||
|
mus_note noteB, note4_8
|
||||||
|
|
||||||
|
mus_octave oct2
|
||||||
|
mus_note noteC#, note8
|
||||||
|
mus_note noteC#, note8
|
||||||
|
|
||||||
|
mus_octave oct1
|
||||||
|
mus_note noteB, note8
|
||||||
|
mus_note noteB, note4
|
||||||
|
mus_vel 12, 5
|
||||||
|
mus_call branch_ab7d
|
||||||
|
|
||||||
|
mus_octave oct2
|
||||||
|
mus_note noteD#, note4
|
||||||
|
mus_note noteD#, note8
|
||||||
|
mus_note noteE, note8
|
||||||
|
|
||||||
|
mus_octave oct1
|
||||||
|
mus_note noteB, note8
|
||||||
|
|
||||||
|
mus_octave oct2
|
||||||
|
mus_note noteC#, note8
|
||||||
|
mus_note noteG#, note8
|
||||||
|
mus_note noteE, note4
|
||||||
|
|
||||||
|
mus_octave oct1
|
||||||
|
mus_note noteB, note8
|
||||||
|
|
||||||
|
mus_octave oct2
|
||||||
|
mus_note noteE, note8
|
||||||
|
mus_vel 10, 5
|
||||||
|
mus_note noteC#, note4
|
||||||
|
|
||||||
|
mus_octave oct1
|
||||||
|
mus_note noteB, note8
|
||||||
|
|
||||||
|
mus_octave oct2
|
||||||
|
mus_note noteD#, note4
|
||||||
|
mus_note noteC#, note8
|
||||||
|
mus_note noteE, note4
|
||||||
|
mus_vel 11, 3
|
||||||
|
mus_call branch_ab8a
|
||||||
|
mus_note noteA, note8
|
||||||
|
mus_note noteB, note8
|
||||||
|
mus_note noteA, note8
|
||||||
|
mus_note noteG#, note8
|
||||||
|
mus_note noteA, note4
|
||||||
|
mus_note noteF#, note4
|
||||||
|
mus_note noteG#, note8
|
||||||
|
mus_note noteE, note8
|
||||||
|
|
||||||
|
mus_octave oct1
|
||||||
|
mus_note noteB, note8
|
||||||
|
|
||||||
|
mus_octave oct2
|
||||||
|
mus_note noteE, note4
|
||||||
|
mus_note noteG#, note8
|
||||||
|
|
||||||
|
mus_octave oct1
|
||||||
|
mus_note noteB, note8
|
||||||
|
|
||||||
|
mus_octave oct2
|
||||||
|
mus_note noteE, note8
|
||||||
|
mus_note noteE, note8
|
||||||
|
mus_note noteF#, note8
|
||||||
|
mus_note noteE, note8
|
||||||
|
mus_note noteD#, note8
|
||||||
|
mus_note noteE, note8
|
||||||
|
mus_note noteD#, note8
|
||||||
|
mus_note noteC#, note8
|
||||||
|
|
||||||
|
mus_octave oct1
|
||||||
|
mus_note noteB, note8
|
||||||
|
|
||||||
|
mus_octave oct2
|
||||||
|
branch_ab12:
|
||||||
|
mus_note noteC#, note8
|
||||||
|
mus_note noteD#, note8
|
||||||
|
mus_note noteC#, note8
|
||||||
|
|
||||||
|
mus_octave oct1
|
||||||
|
mus_note noteB, note4
|
||||||
|
mus_note noteB, note8
|
||||||
|
|
||||||
|
mus_octave oct2
|
||||||
|
mus_note noteC#, note8
|
||||||
|
mus_note noteD#, note8
|
||||||
|
mus_jump 2, branch_ab12
|
||||||
|
mus_note noteE, note8
|
||||||
|
|
||||||
|
mus_octave oct1
|
||||||
|
mus_note noteB, note4
|
||||||
|
|
||||||
|
mus_octave oct2
|
||||||
|
mus_note noteE, note4
|
||||||
|
|
||||||
|
mus_octave oct1
|
||||||
|
mus_note noteB, note8
|
||||||
|
|
||||||
|
mus_octave oct2
|
||||||
|
mus_note noteC#, note8
|
||||||
|
mus_note noteG#, note8
|
||||||
|
mus_note noteG#, note8
|
||||||
|
|
||||||
|
mus_octave oct1
|
||||||
|
mus_note noteB, note8
|
||||||
|
|
||||||
|
mus_octave oct2
|
||||||
|
mus_note noteF#, note8
|
||||||
|
|
||||||
|
mus_octave oct1
|
||||||
|
mus_note noteB, note8
|
||||||
|
|
||||||
|
mus_octave oct2
|
||||||
|
mus_note noteE, note8
|
||||||
|
|
||||||
|
mus_octave oct1
|
||||||
|
mus_note noteB, note8
|
||||||
|
|
||||||
|
mus_octave oct2
|
||||||
|
mus_note noteD#, note8
|
||||||
|
|
||||||
|
mus_octave oct1
|
||||||
|
mus_note noteB, note8
|
||||||
|
|
||||||
|
mus_octave oct2
|
||||||
|
mus_call branch_ab8a
|
||||||
|
mus_note noteA, note8
|
||||||
|
mus_note noteE, note8
|
||||||
|
mus_note noteA, note8
|
||||||
|
mus_note noteB, note8
|
||||||
|
mus_note noteA, note8
|
||||||
|
mus_note noteG#, note8
|
||||||
|
mus_note noteA, note8
|
||||||
|
mus_note noteF#, note8
|
||||||
|
mus_note noteG#, note8
|
||||||
|
mus_note noteE, note8
|
||||||
|
|
||||||
|
mus_octave oct1
|
||||||
|
mus_note noteB, note8
|
||||||
|
|
||||||
|
mus_octave oct2
|
||||||
|
mus_note noteE, note8
|
||||||
|
mus_note noteC#, note8
|
||||||
|
mus_note noteG#, note8
|
||||||
|
mus_note noteC#, note8
|
||||||
|
mus_note noteD#, note8
|
||||||
|
mus_note noteB, note8
|
||||||
|
mus_note noteE, note8
|
||||||
|
mus_note noteG#, note8
|
||||||
|
mus_note noteE, note8
|
||||||
|
mus_note noteF#, note8
|
||||||
|
mus_note noteE, note4
|
||||||
|
mus_note noteG#, note8
|
||||||
|
mus_note noteF#, note8
|
||||||
|
mus_note noteD#, note8
|
||||||
|
|
||||||
|
mus_octave oct1
|
||||||
|
mus_note noteB, note8
|
||||||
|
|
||||||
|
mus_octave oct2
|
||||||
|
mus_note noteD#, note4
|
||||||
|
mus_note noteF#, note8
|
||||||
|
mus_note noteD#, note8
|
||||||
|
mus_note noteD#, note8
|
||||||
|
mus_note noteF#, note8
|
||||||
|
|
||||||
|
mus_octave oct1
|
||||||
|
mus_note noteB, note8
|
||||||
|
|
||||||
|
mus_octave oct2
|
||||||
|
mus_note noteE, note8
|
||||||
|
|
||||||
|
mus_octave oct1
|
||||||
|
mus_note noteB, note8
|
||||||
|
|
||||||
|
mus_octave oct2
|
||||||
|
mus_note noteD#, note8
|
||||||
|
|
||||||
|
mus_octave oct1
|
||||||
|
mus_note noteB, note8
|
||||||
|
mus_note noteB, note8
|
||||||
|
|
||||||
|
mus_octave oct2
|
||||||
|
mus_note noteD#, note8
|
||||||
|
mus_vel 11, 6
|
||||||
|
mus_note noteF#, note2
|
||||||
|
mus_note noteF#, note4
|
||||||
|
mus_note noteD#, note4
|
||||||
|
mus_note noteE, note2
|
||||||
|
mus_vel 8, 4
|
||||||
|
|
||||||
|
mus_octave oct1
|
||||||
|
mus_note noteB, note4
|
||||||
|
|
||||||
|
mus_octave oct2
|
||||||
|
mus_note noteE, note8
|
||||||
|
mus_note noteF#, note8
|
||||||
|
mus_jump 0, branch_aa80
|
||||||
|
|
||||||
|
branch_ab7d:
|
||||||
|
mus_octave oct2
|
||||||
|
mus_note noteF#, note8
|
||||||
|
mus_note noteD#, note4
|
||||||
|
mus_note noteE, note8
|
||||||
|
mus_note noteD#, note4
|
||||||
|
mus_note noteC#, note4
|
||||||
|
|
||||||
|
mus_octave oct1
|
||||||
|
mus_note noteB, note4
|
||||||
|
|
||||||
|
mus_octave oct2
|
||||||
|
mus_note noteC#, note8
|
||||||
|
mus_note noteD#, note8
|
||||||
|
mus_note noteC#, note8
|
||||||
|
mus_end
|
||||||
|
; AB89
|
||||||
|
|
||||||
|
; AB8A
|
||||||
|
branch_ab8a:
|
||||||
|
mus_note noteA, note8
|
||||||
|
mus_note noteE, note8
|
||||||
|
mus_note noteC#, note8
|
||||||
|
mus_note noteE, note4
|
||||||
|
mus_note noteA, note8
|
||||||
|
mus_note noteC#, note8
|
||||||
|
mus_note noteE, note8
|
||||||
|
mus_end
|
||||||
|
; AB91
|
||||||
|
|
||||||
Cities1_md_2: ;AB92 - AC02
|
Cities1_md_2: ;AB92 - AC02
|
||||||
INCBIN "baserom.gbc",$ab92,$ac32 - $ab92
|
INCBIN "baserom.gbc",$ab92,$ac32 - $ab92
|
||||||
|
|
Loading…
Reference in a new issue