mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-09-09 09:51:34 -07:00
Merge pull request #338 from PikalaxALT/master
Battle anims, HP Bar anim
This commit is contained in:
commit
7aef598414
100
audio/engine.asm
100
audio/engine.asm
@ -38,8 +38,8 @@ _MapSetup_Sound_Off:: ; e8000
|
|||||||
dec e
|
dec e
|
||||||
jr nz, .clearsound
|
jr nz, .clearsound
|
||||||
|
|
||||||
ld hl, Channel1 ; start of channel data
|
ld hl, Channels ; start of channel data
|
||||||
ld de, $1bf ; length of area to clear (entire sound wram area)
|
ld de, ChannelsEnd - Channels ; length of area to clear (entire sound wram area)
|
||||||
.clearchannels ; clear Channel1-$c2bf
|
.clearchannels ; clear Channel1-$c2bf
|
||||||
xor a
|
xor a
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
@ -233,7 +233,7 @@ UpdateChannels: ; e8125
|
|||||||
jp [hl]
|
jp [hl]
|
||||||
|
|
||||||
|
|
||||||
.ChannelFnPtrs
|
.ChannelFnPtrs:
|
||||||
dw .Channel1
|
dw .Channel1
|
||||||
dw .Channel2
|
dw .Channel2
|
||||||
dw .Channel3
|
dw .Channel3
|
||||||
@ -245,11 +245,11 @@ UpdateChannels: ; e8125
|
|||||||
dw .Channel7
|
dw .Channel7
|
||||||
dw .Channel8
|
dw .Channel8
|
||||||
|
|
||||||
.Channel1
|
.Channel1:
|
||||||
ld a, [Danger]
|
ld a, [Danger]
|
||||||
bit 7, a
|
bit 7, a
|
||||||
ret nz
|
ret nz
|
||||||
.Channel5
|
.Channel5:
|
||||||
ld hl, Channel1NoteFlags - Channel1
|
ld hl, Channel1NoteFlags - Channel1
|
||||||
add hl, bc
|
add hl, bc
|
||||||
bit NOTE_UNKN_3, [hl]
|
bit NOTE_UNKN_3, [hl]
|
||||||
@ -317,8 +317,8 @@ UpdateChannels: ; e8125
|
|||||||
ld [rNR14], a
|
ld [rNR14], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.Channel2
|
.Channel2:
|
||||||
.Channel6
|
.Channel6:
|
||||||
ld hl, Channel1NoteFlags - Channel1
|
ld hl, Channel1NoteFlags - Channel1
|
||||||
add hl, bc
|
add hl, bc
|
||||||
bit NOTE_REST, [hl] ; rest
|
bit NOTE_REST, [hl] ; rest
|
||||||
@ -377,8 +377,8 @@ UpdateChannels: ; e8125
|
|||||||
ld [rNR24], a
|
ld [rNR24], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.Channel3
|
.Channel3:
|
||||||
.Channel7
|
.Channel7:
|
||||||
ld hl, Channel1NoteFlags - Channel1
|
ld hl, Channel1NoteFlags - Channel1
|
||||||
add hl, bc
|
add hl, bc
|
||||||
bit NOTE_REST, [hl] ; rest
|
bit NOTE_REST, [hl] ; rest
|
||||||
@ -478,8 +478,8 @@ endr
|
|||||||
ld [rNR32], a
|
ld [rNR32], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.Channel4
|
.Channel4:
|
||||||
.Channel8
|
.Channel8:
|
||||||
ld hl, Channel1NoteFlags - Channel1
|
ld hl, Channel1NoteFlags - Channel1
|
||||||
add hl, bc
|
add hl, bc
|
||||||
bit NOTE_REST, [hl] ; rest
|
bit NOTE_REST, [hl] ; rest
|
||||||
@ -2483,62 +2483,62 @@ _PlayCryHeader:: ; e8b79
|
|||||||
; Play cry de using parameters:
|
; Play cry de using parameters:
|
||||||
; CryPitch
|
; CryPitch
|
||||||
; CryLength
|
; CryLength
|
||||||
|
|
||||||
call MusicOff
|
call MusicOff
|
||||||
|
|
||||||
; Overload the music id with the cry id
|
; Overload the music id with the cry id
|
||||||
ld hl, MusicID
|
ld hl, MusicID
|
||||||
ld [hl], e
|
ld [hl], e
|
||||||
inc hl
|
inc hl
|
||||||
ld [hl], d
|
ld [hl], d
|
||||||
|
|
||||||
; 3-byte pointers (bank, address)
|
; 3-byte pointers (bank, address)
|
||||||
ld hl, Cries
|
ld hl, Cries
|
||||||
rept 3
|
rept 3
|
||||||
add hl, de
|
add hl, de
|
||||||
endr
|
endr
|
||||||
|
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
ld [MusicBank], a
|
ld [MusicBank], a
|
||||||
|
|
||||||
ld e, [hl]
|
ld e, [hl]
|
||||||
inc hl
|
inc hl
|
||||||
ld d, [hl]
|
ld d, [hl]
|
||||||
|
|
||||||
; Read the cry's sound header
|
; Read the cry's sound header
|
||||||
call LoadMusicByte
|
call LoadMusicByte
|
||||||
; Top 2 bits contain the number of channels
|
; Top 2 bits contain the number of channels
|
||||||
rlca
|
rlca
|
||||||
rlca
|
rlca
|
||||||
and 3
|
and 3
|
||||||
|
|
||||||
; For each channel:
|
; For each channel:
|
||||||
inc a
|
inc a
|
||||||
.loop
|
.loop
|
||||||
push af
|
push af
|
||||||
call LoadChannel
|
call LoadChannel
|
||||||
|
|
||||||
ld hl, Channel1Flags - Channel1
|
ld hl, Channel1Flags - Channel1
|
||||||
add hl, bc
|
add hl, bc
|
||||||
set SOUND_REST, [hl]
|
set SOUND_REST, [hl]
|
||||||
|
|
||||||
ld hl, Channel1Flags2 - Channel1
|
ld hl, Channel1Flags2 - Channel1
|
||||||
add hl, bc
|
add hl, bc
|
||||||
set SOUND_CRY_PITCH, [hl]
|
set SOUND_CRY_PITCH, [hl]
|
||||||
|
|
||||||
ld hl, Channel1CryPitch - Channel1
|
ld hl, Channel1CryPitch - Channel1
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, [CryPitch]
|
ld a, [CryPitch]
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
ld a, [CryPitch + 1]
|
ld a, [CryPitch + 1]
|
||||||
ld [hl], a
|
ld [hl], a
|
||||||
|
|
||||||
; No tempo for channel 4
|
; No tempo for channel 4
|
||||||
ld a, [CurChannel]
|
ld a, [CurChannel]
|
||||||
and 3
|
and 3
|
||||||
cp 3
|
cp 3
|
||||||
jr nc, .start
|
jr nc, .start
|
||||||
|
|
||||||
; Tempo is effectively length
|
; Tempo is effectively length
|
||||||
ld hl, Channel1Tempo - Channel1
|
ld hl, Channel1Tempo - Channel1
|
||||||
add hl, bc
|
add hl, bc
|
||||||
@ -2551,14 +2551,14 @@ endr
|
|||||||
ld a, [wStereoPanningMask]
|
ld a, [wStereoPanningMask]
|
||||||
and a
|
and a
|
||||||
jr z, .next
|
jr z, .next
|
||||||
|
|
||||||
; Stereo only: Play cry from the monster's side.
|
; Stereo only: Play cry from the monster's side.
|
||||||
; This only applies in-battle.
|
; This only applies in-battle.
|
||||||
|
|
||||||
ld a, [Options]
|
ld a, [Options]
|
||||||
bit 5, a ; stereo
|
bit 5, a ; stereo
|
||||||
jr z, .next
|
jr z, .next
|
||||||
|
|
||||||
; [Tracks] &= [CryTracks]
|
; [Tracks] &= [CryTracks]
|
||||||
ld hl, Channel1Tracks - Channel1
|
ld hl, Channel1Tracks - Channel1
|
||||||
add hl, bc
|
add hl, bc
|
||||||
@ -2568,23 +2568,23 @@ endr
|
|||||||
ld hl, Channel1Tracks - Channel1
|
ld hl, Channel1Tracks - Channel1
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], a
|
ld [hl], a
|
||||||
|
|
||||||
.next
|
.next
|
||||||
pop af
|
pop af
|
||||||
dec a
|
dec a
|
||||||
jr nz, .loop
|
jr nz, .loop
|
||||||
|
|
||||||
|
|
||||||
; Cries play at max volume, so we save the current volume for later.
|
; Cries play at max volume, so we save the current volume for later.
|
||||||
ld a, [LastVolume]
|
ld a, [LastVolume]
|
||||||
and a
|
and a
|
||||||
jr nz, .end
|
jr nz, .end
|
||||||
|
|
||||||
ld a, [Volume]
|
ld a, [Volume]
|
||||||
ld [LastVolume], a
|
ld [LastVolume], a
|
||||||
ld a, $77
|
ld a, $77
|
||||||
ld [Volume], a
|
ld [Volume], a
|
||||||
|
|
||||||
.end
|
.end
|
||||||
ld a, 1 ; stop playing music
|
ld a, 1 ; stop playing music
|
||||||
ld [SFXPriority], a
|
ld [SFXPriority], a
|
||||||
@ -2699,24 +2699,24 @@ PlayStereoSFX:: ; e8ca6
|
|||||||
; play sfx de
|
; play sfx de
|
||||||
|
|
||||||
call MusicOff
|
call MusicOff
|
||||||
|
|
||||||
; standard procedure if stereo's off
|
; standard procedure if stereo's off
|
||||||
ld a, [Options]
|
ld a, [Options]
|
||||||
bit 5, a
|
bit 5, a
|
||||||
jp z, _PlaySFX
|
jp z, _PlaySFX
|
||||||
|
|
||||||
; else, let's go ahead with this
|
; else, let's go ahead with this
|
||||||
ld hl, MusicID
|
ld hl, MusicID
|
||||||
ld [hl], e
|
ld [hl], e
|
||||||
inc hl
|
inc hl
|
||||||
ld [hl], d
|
ld [hl], d
|
||||||
|
|
||||||
; get sfx ptr
|
; get sfx ptr
|
||||||
ld hl, SFX
|
ld hl, SFX
|
||||||
rept 3
|
rept 3
|
||||||
add hl, de
|
add hl, de
|
||||||
endr
|
endr
|
||||||
|
|
||||||
; bank
|
; bank
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
ld [MusicBank], a
|
ld [MusicBank], a
|
||||||
@ -2724,22 +2724,22 @@ endr
|
|||||||
ld e, [hl]
|
ld e, [hl]
|
||||||
inc hl
|
inc hl
|
||||||
ld d, [hl]
|
ld d, [hl]
|
||||||
|
|
||||||
; bit 2-3
|
; bit 2-3
|
||||||
call LoadMusicByte
|
call LoadMusicByte
|
||||||
rlca
|
rlca
|
||||||
rlca
|
rlca
|
||||||
and 3 ; ch1-4
|
and 3 ; ch1-4
|
||||||
inc a
|
inc a
|
||||||
|
|
||||||
.loop
|
.loop
|
||||||
push af
|
push af
|
||||||
call LoadChannel
|
call LoadChannel
|
||||||
|
|
||||||
ld hl, Channel1Flags - Channel1
|
ld hl, Channel1Flags - Channel1
|
||||||
add hl, bc
|
add hl, bc
|
||||||
set SOUND_SFX, [hl]
|
set SOUND_SFX, [hl]
|
||||||
|
|
||||||
push de
|
push de
|
||||||
; get tracks for this channel
|
; get tracks for this channel
|
||||||
ld a, [CurChannel]
|
ld a, [CurChannel]
|
||||||
@ -2751,47 +2751,47 @@ endr
|
|||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
ld hl, wStereoPanningMask
|
ld hl, wStereoPanningMask
|
||||||
and [hl]
|
and [hl]
|
||||||
|
|
||||||
ld hl, Channel1Tracks - Channel1
|
ld hl, Channel1Tracks - Channel1
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], a
|
ld [hl], a
|
||||||
|
|
||||||
ld hl, Channel1Field0x30 - Channel1 ; $c131 - Channel1
|
ld hl, Channel1Field0x30 - Channel1 ; $c131 - Channel1
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], a
|
ld [hl], a
|
||||||
|
|
||||||
ld a, [CryTracks]
|
ld a, [CryTracks]
|
||||||
cp 2 ; ch 1-2
|
cp 2 ; ch 1-2
|
||||||
jr c, .skip
|
jr c, .skip
|
||||||
|
|
||||||
; ch3-4
|
; ch3-4
|
||||||
ld a, [wSFXDuration]
|
ld a, [wSFXDuration]
|
||||||
|
|
||||||
ld hl, Channel1Field0x2e - Channel1 ; $c12f - Channel1
|
ld hl, Channel1Field0x2e - Channel1 ; $c12f - Channel1
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], a
|
ld [hl], a
|
||||||
|
|
||||||
ld hl, Channel1Field0x2f - Channel1 ; $c130 - Channel1
|
ld hl, Channel1Field0x2f - Channel1 ; $c130 - Channel1
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], a
|
ld [hl], a
|
||||||
|
|
||||||
ld hl, Channel1Flags2 - Channel1
|
ld hl, Channel1Flags2 - Channel1
|
||||||
add hl, bc
|
add hl, bc
|
||||||
set SOUND_UNKN_0F, [hl]
|
set SOUND_UNKN_0F, [hl]
|
||||||
|
|
||||||
.skip
|
.skip
|
||||||
pop de
|
pop de
|
||||||
|
|
||||||
; turn channel on
|
; turn channel on
|
||||||
ld hl, Channel1Flags - Channel1
|
ld hl, Channel1Flags - Channel1
|
||||||
add hl, bc
|
add hl, bc
|
||||||
set SOUND_CHANNEL_ON, [hl] ; on
|
set SOUND_CHANNEL_ON, [hl] ; on
|
||||||
|
|
||||||
; done?
|
; done?
|
||||||
pop af
|
pop af
|
||||||
dec a
|
dec a
|
||||||
jr nz, .loop
|
jr nz, .loop
|
||||||
|
|
||||||
; we're done
|
; we're done
|
||||||
call MusicOn
|
call MusicOn
|
||||||
ret
|
ret
|
||||||
|
@ -102,9 +102,9 @@
|
|||||||
dba Music_LakeOfRageRocketRadio ; 0xef5b1
|
dba Music_LakeOfRageRocketRadio ; 0xef5b1
|
||||||
dba Music_Printer ; 0xf07fd
|
dba Music_Printer ; 0xf07fd
|
||||||
dba Music_PostCredits ; 0xcfd9e
|
dba Music_PostCredits ; 0xcfd9e
|
||||||
|
|
||||||
; Crystal adds the following songs:
|
; Crystal adds the following songs:
|
||||||
|
|
||||||
dba Music_Clair ; 0x1fa8d
|
dba Music_Clair ; 0x1fa8d
|
||||||
dba Music_MobileAdapterMenu ; 0x17801f
|
dba Music_MobileAdapterMenu ; 0x17801f
|
||||||
dba Music_MobileAdapter ; 0x1fc87
|
dba Music_MobileAdapter ; 0x1fc87
|
||||||
|
@ -9,7 +9,7 @@ AI_SwitchOrTryItem: ; 38000
|
|||||||
and a
|
and a
|
||||||
ret nz
|
ret nz
|
||||||
|
|
||||||
callba CheckSubstatus_RechargeChargedRampageBideRollout
|
callba CheckEnemyLockedIn
|
||||||
ret nz
|
ret nz
|
||||||
|
|
||||||
ld a, [PlayerSubStatus5]
|
ld a, [PlayerSubStatus5]
|
||||||
@ -318,7 +318,7 @@ AI_Items: ; 39196
|
|||||||
jp c, .Use
|
jp c, .Use
|
||||||
jp .DontUse
|
jp .DontUse
|
||||||
|
|
||||||
.StatusCheckContext
|
.StatusCheckContext:
|
||||||
ld a, [EnemySubStatus5]
|
ld a, [EnemySubStatus5]
|
||||||
bit SUBSTATUS_TOXIC, a
|
bit SUBSTATUS_TOXIC, a
|
||||||
jr z, .FailToxicCheck
|
jr z, .FailToxicCheck
|
||||||
@ -328,7 +328,7 @@ AI_Items: ; 39196
|
|||||||
call Random
|
call Random
|
||||||
cp 1 + 50 percent
|
cp 1 + 50 percent
|
||||||
jp c, .Use
|
jp c, .Use
|
||||||
.FailToxicCheck
|
.FailToxicCheck:
|
||||||
ld a, [EnemyMonStatus]
|
ld a, [EnemyMonStatus]
|
||||||
and 1 << FRZ | SLP
|
and 1 << FRZ | SLP
|
||||||
jp z, .DontUse
|
jp z, .DontUse
|
||||||
@ -344,7 +344,7 @@ AI_Items: ; 39196
|
|||||||
call .Status
|
call .Status
|
||||||
jp c, .DontUse
|
jp c, .DontUse
|
||||||
|
|
||||||
.UseFullRestore
|
.UseFullRestore:
|
||||||
call EnemyUsedFullRestore
|
call EnemyUsedFullRestore
|
||||||
jp .Use
|
jp .Use
|
||||||
; 38220
|
; 38220
|
||||||
@ -416,7 +416,7 @@ AI_Items: ; 39196
|
|||||||
jp .Use
|
jp .Use
|
||||||
; 382ae
|
; 382ae
|
||||||
|
|
||||||
.asm_382ae: ; This appears to be unused
|
.asm_382ae ; This appears to be unused
|
||||||
callab AICheckEnemyMaxHP
|
callab AICheckEnemyMaxHP
|
||||||
jr c, .dont_use
|
jr c, .dont_use
|
||||||
push bc
|
push bc
|
||||||
@ -676,7 +676,7 @@ AI_TrySwitch: ; 3844b
|
|||||||
ld c, a
|
ld c, a
|
||||||
ld hl, OTPartyMon1HP
|
ld hl, OTPartyMon1HP
|
||||||
ld d, 0
|
ld d, 0
|
||||||
.SwitchLoop
|
.SwitchLoop:
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
ld b, a
|
ld b, a
|
||||||
ld a, [hld]
|
ld a, [hld]
|
||||||
@ -716,7 +716,7 @@ AI_Switch: ; 3846c
|
|||||||
ld d, h
|
ld d, h
|
||||||
ld e, l
|
ld e, l
|
||||||
ld hl, EnemyMonStatus
|
ld hl, EnemyMonStatus
|
||||||
ld bc, $0004
|
ld bc, MON_MAXHP - MON_STATUS
|
||||||
call CopyBytes
|
call CopyBytes
|
||||||
pop af
|
pop af
|
||||||
|
|
||||||
@ -726,7 +726,7 @@ AI_Switch: ; 3846c
|
|||||||
|
|
||||||
.skiptext
|
.skiptext
|
||||||
ld a, 1
|
ld a, 1
|
||||||
ld [wd264], a
|
ld [wAISwitch], a
|
||||||
callab NewEnemyMonStatus
|
callab NewEnemyMonStatus
|
||||||
callab ResetEnemyStatLevels
|
callab ResetEnemyStatLevels
|
||||||
ld hl, PlayerSubStatus1
|
ld hl, PlayerSubStatus1
|
||||||
@ -734,7 +734,7 @@ AI_Switch: ; 3846c
|
|||||||
callba EnemySwitch
|
callba EnemySwitch
|
||||||
callba ResetBattleParticipants
|
callba ResetBattleParticipants
|
||||||
xor a
|
xor a
|
||||||
ld [wd264], a
|
ld [wAISwitch], a
|
||||||
ld a, [wLinkMode]
|
ld a, [wLinkMode]
|
||||||
and a
|
and a
|
||||||
ret nz
|
ret nz
|
||||||
|
@ -12,7 +12,7 @@ AIChooseMove: ; 440ce
|
|||||||
ret nz
|
ret nz
|
||||||
|
|
||||||
; No use picking a move if there's no choice.
|
; No use picking a move if there's no choice.
|
||||||
callba CheckSubstatus_RechargeChargedRampageBideRollout
|
callba CheckEnemyLockedIn
|
||||||
ret nz
|
ret nz
|
||||||
|
|
||||||
|
|
||||||
@ -31,24 +31,24 @@ endr
|
|||||||
|
|
||||||
ld hl, EnemyMonMoves
|
ld hl, EnemyMonMoves
|
||||||
ld c, 0
|
ld c, 0
|
||||||
.CheckDisabledMove
|
.CheckDisabledMove:
|
||||||
cp [hl]
|
cp [hl]
|
||||||
jr z, .ScoreDisabledMove
|
jr z, .ScoreDisabledMove
|
||||||
inc c
|
inc c
|
||||||
inc hl
|
inc hl
|
||||||
jr .CheckDisabledMove
|
jr .CheckDisabledMove
|
||||||
.ScoreDisabledMove
|
.ScoreDisabledMove:
|
||||||
ld hl, Buffer1
|
ld hl, Buffer1
|
||||||
ld b, 0
|
ld b, 0
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], 80
|
ld [hl], 80
|
||||||
|
|
||||||
; Don't pick moves with 0 PP.
|
; Don't pick moves with 0 PP.
|
||||||
.CheckPP
|
.CheckPP:
|
||||||
ld hl, Buffer1 - 1
|
ld hl, Buffer1 - 1
|
||||||
ld de, EnemyMonPP
|
ld de, EnemyMonPP
|
||||||
ld b, 0
|
ld b, 0
|
||||||
.CheckMovePP
|
.CheckMovePP:
|
||||||
inc b
|
inc b
|
||||||
ld a, b
|
ld a, b
|
||||||
cp EnemyMonMovesEnd - EnemyMonMoves + 1
|
cp EnemyMonMovesEnd - EnemyMonMoves + 1
|
||||||
@ -63,7 +63,7 @@ endr
|
|||||||
|
|
||||||
|
|
||||||
; Apply AI scoring layers depending on the trainer class.
|
; Apply AI scoring layers depending on the trainer class.
|
||||||
.ApplyLayers
|
.ApplyLayers:
|
||||||
ld hl, TrainerClassAttributes + TRNATTR_AI_MOVE_WEIGHTS
|
ld hl, TrainerClassAttributes + TRNATTR_AI_MOVE_WEIGHTS
|
||||||
|
|
||||||
; If we have a battle in BattleTower just load the Attributes of the first TrainerClass (Falkner)
|
; If we have a battle in BattleTower just load the Attributes of the first TrainerClass (Falkner)
|
||||||
@ -82,7 +82,7 @@ endr
|
|||||||
push bc
|
push bc
|
||||||
push hl
|
push hl
|
||||||
|
|
||||||
.CheckLayer
|
.CheckLayer:
|
||||||
pop hl
|
pop hl
|
||||||
pop bc
|
pop bc
|
||||||
|
|
||||||
@ -119,12 +119,12 @@ endr
|
|||||||
jr .CheckLayer
|
jr .CheckLayer
|
||||||
|
|
||||||
; Decrement the scores of all moves one by one until one reaches 0.
|
; Decrement the scores of all moves one by one until one reaches 0.
|
||||||
.DecrementScores
|
.DecrementScores:
|
||||||
ld hl, Buffer1
|
ld hl, Buffer1
|
||||||
ld de, EnemyMonMoves
|
ld de, EnemyMonMoves
|
||||||
ld c, EnemyMonMovesEnd - EnemyMonMoves
|
ld c, EnemyMonMovesEnd - EnemyMonMoves
|
||||||
|
|
||||||
.DecrementNextScore
|
.DecrementNextScore:
|
||||||
; If the enemy has no moves, this will infinite.
|
; If the enemy has no moves, this will infinite.
|
||||||
ld a, [de]
|
ld a, [de]
|
||||||
inc de
|
inc de
|
||||||
@ -145,7 +145,7 @@ endr
|
|||||||
; In order to avoid bias towards the moves located first in memory, increment the scores
|
; In order to avoid bias towards the moves located first in memory, increment the scores
|
||||||
; that were decremented one more time than the rest (in case there was a tie).
|
; that were decremented one more time than the rest (in case there was a tie).
|
||||||
; This means that the minimum score will be 1.
|
; This means that the minimum score will be 1.
|
||||||
.PickLowestScoreMoves
|
.PickLowestScoreMoves:
|
||||||
ld a, c
|
ld a, c
|
||||||
|
|
||||||
.move_loop
|
.move_loop
|
||||||
@ -159,14 +159,14 @@ endr
|
|||||||
ld de, EnemyMonMoves
|
ld de, EnemyMonMoves
|
||||||
ld c, NUM_MOVES
|
ld c, NUM_MOVES
|
||||||
|
|
||||||
; Give a score of 0 to a blank move
|
; Give a score of 0 to a blank move
|
||||||
.loop2
|
.loop2
|
||||||
ld a, [de]
|
ld a, [de]
|
||||||
and a
|
and a
|
||||||
jr nz, .skip_load
|
jr nz, .skip_load
|
||||||
ld [hl], a
|
ld [hl], a
|
||||||
|
|
||||||
; Disregard the move if its score is not 1
|
; Disregard the move if its score is not 1
|
||||||
.skip_load
|
.skip_load
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
dec a
|
dec a
|
||||||
@ -183,8 +183,8 @@ endr
|
|||||||
dec c
|
dec c
|
||||||
jr nz, .loop2
|
jr nz, .loop2
|
||||||
|
|
||||||
; Randomly choose one of the moves with a score of 1
|
; Randomly choose one of the moves with a score of 1
|
||||||
.ChooseMove
|
.ChooseMove:
|
||||||
ld hl, Buffer1
|
ld hl, Buffer1
|
||||||
call Random
|
call Random
|
||||||
and 3
|
and 3
|
||||||
|
@ -23,7 +23,7 @@ AI_Basic: ; 38591
|
|||||||
|
|
||||||
; Dismiss moves with special effects if they are
|
; Dismiss moves with special effects if they are
|
||||||
; useless or not a good choice right now.
|
; useless or not a good choice right now.
|
||||||
; For example, healing moves, weather moves, Dream Eater...
|
; For example, healing moves, weather moves, Dream Eater...
|
||||||
push hl
|
push hl
|
||||||
push de
|
push de
|
||||||
push bc
|
push bc
|
||||||
@ -33,7 +33,7 @@ AI_Basic: ; 38591
|
|||||||
pop hl
|
pop hl
|
||||||
jr nz, .discourage
|
jr nz, .discourage
|
||||||
|
|
||||||
; Dismiss status-only moves if the player can't be statused.
|
; Dismiss status-only moves if the player can't be statused.
|
||||||
ld a, [wEnemyMoveStruct + MOVE_EFFECT]
|
ld a, [wEnemyMoveStruct + MOVE_EFFECT]
|
||||||
push hl
|
push hl
|
||||||
push de
|
push de
|
||||||
@ -680,7 +680,7 @@ rept 2
|
|||||||
inc [hl]
|
inc [hl]
|
||||||
endr
|
endr
|
||||||
|
|
||||||
; 30% chance to end up here if enemy's HP is full and player is not badly poisoned.
|
; 30% chance to end up here if enemy's HP is full and player is not badly poisoned.
|
||||||
; 77% chance to end up here if enemy's HP is above 50% but not full.
|
; 77% chance to end up here if enemy's HP is above 50% but not full.
|
||||||
; 96% chance to end up here if enemy's HP is between 25% and 50%.
|
; 96% chance to end up here if enemy's HP is between 25% and 50%.
|
||||||
; 100% chance to end up here if enemy's HP is below 25%.
|
; 100% chance to end up here if enemy's HP is below 25%.
|
||||||
@ -771,7 +771,7 @@ AI_Smart_MirrorMove: ; 3895b
|
|||||||
jr nz, .asm_38968
|
jr nz, .asm_38968
|
||||||
|
|
||||||
; ...do nothing if enemy is slower than player
|
; ...do nothing if enemy is slower than player
|
||||||
call AICompareSpeed
|
call AICompareSpeed
|
||||||
ret nc
|
ret nc
|
||||||
|
|
||||||
; ...or dismiss this move if enemy is faster than player.
|
; ...or dismiss this move if enemy is faster than player.
|
||||||
@ -784,7 +784,7 @@ AI_Smart_MirrorMove: ; 3895b
|
|||||||
ld de, 1
|
ld de, 1
|
||||||
call IsInArray
|
call IsInArray
|
||||||
pop hl
|
pop hl
|
||||||
|
|
||||||
; ...do nothing if he didn't use a useful move.
|
; ...do nothing if he didn't use a useful move.
|
||||||
ret nc
|
ret nc
|
||||||
|
|
||||||
@ -813,11 +813,11 @@ AI_Smart_AccuracyDown: ; 38985
|
|||||||
call AICheckPlayerMaxHP
|
call AICheckPlayerMaxHP
|
||||||
jr nc, .asm_389a0
|
jr nc, .asm_389a0
|
||||||
|
|
||||||
; ...and enemy's HP is above 50%...
|
; ...and enemy's HP is above 50%...
|
||||||
call AICheckEnemyHalfHP
|
call AICheckEnemyHalfHP
|
||||||
jr nc, .asm_389a0
|
jr nc, .asm_389a0
|
||||||
|
|
||||||
; ...greatly encourage this move if player is badly poisoned.
|
; ...greatly encourage this move if player is badly poisoned.
|
||||||
ld a, [PlayerSubStatus5]
|
ld a, [PlayerSubStatus5]
|
||||||
bit SUBSTATUS_TOXIC, a
|
bit SUBSTATUS_TOXIC, a
|
||||||
jr nz, .asm_3899d
|
jr nz, .asm_3899d
|
||||||
@ -839,21 +839,21 @@ endr
|
|||||||
call AICheckPlayerQuarterHP
|
call AICheckPlayerQuarterHP
|
||||||
jr nc, .asm_389bd
|
jr nc, .asm_389bd
|
||||||
|
|
||||||
; If player's HP is above 25% but not full, 4% chance to greatly encourage this move.
|
; If player's HP is above 25% but not full, 4% chance to greatly encourage this move.
|
||||||
call Random
|
call Random
|
||||||
cp $a
|
cp $a
|
||||||
jr c, .asm_3899d
|
jr c, .asm_3899d
|
||||||
|
|
||||||
; If player's HP is between 25% and 50%,...
|
; If player's HP is between 25% and 50%,...
|
||||||
call AICheckPlayerHalfHP
|
call AICheckPlayerHalfHP
|
||||||
jr nc, .asm_389b8
|
jr nc, .asm_389b8
|
||||||
|
|
||||||
; If player's HP is above 50% but not full, 20% chance to greatly encourage this move.
|
; If player's HP is above 50% but not full, 20% chance to greatly encourage this move.
|
||||||
call AI_80_20
|
call AI_80_20
|
||||||
jr c, .asm_3899d
|
jr c, .asm_3899d
|
||||||
jr .asm_389bf
|
jr .asm_389bf
|
||||||
|
|
||||||
; ...50% chance to greatly discourage this move.
|
; ...50% chance to greatly discourage this move.
|
||||||
.asm_389b8
|
.asm_389b8
|
||||||
call AI_50_50
|
call AI_50_50
|
||||||
jr c, .asm_389bf
|
jr c, .asm_389bf
|
||||||
@ -863,7 +863,7 @@ rept 2
|
|||||||
inc [hl]
|
inc [hl]
|
||||||
endr
|
endr
|
||||||
|
|
||||||
; We only end up here if the move has not been already encouraged.
|
; We only end up here if the move has not been already encouraged.
|
||||||
.asm_389bf
|
.asm_389bf
|
||||||
ld a, [PlayerSubStatus5]
|
ld a, [PlayerSubStatus5]
|
||||||
bit SUBSTATUS_TOXIC, a
|
bit SUBSTATUS_TOXIC, a
|
||||||
@ -873,14 +873,14 @@ endr
|
|||||||
bit SUBSTATUS_LEECH_SEED, a
|
bit SUBSTATUS_LEECH_SEED, a
|
||||||
jr nz, .asm_389ef
|
jr nz, .asm_389ef
|
||||||
|
|
||||||
; Discourage this move if enemy's evasion level is higher than player's accuracy level.
|
; Discourage this move if enemy's evasion level is higher than player's accuracy level.
|
||||||
ld a, [EnemyEvaLevel]
|
ld a, [EnemyEvaLevel]
|
||||||
ld b, a
|
ld b, a
|
||||||
ld a, [PlayerAccLevel]
|
ld a, [PlayerAccLevel]
|
||||||
cp b
|
cp b
|
||||||
jr c, .asm_389e4
|
jr c, .asm_389e4
|
||||||
|
|
||||||
; Greatly encourage this move if the player is in the middle of Fury Cutter or Rollout.
|
; Greatly encourage this move if the player is in the middle of Fury Cutter or Rollout.
|
||||||
ld a, [PlayerFuryCutterCount]
|
ld a, [PlayerFuryCutterCount]
|
||||||
and a
|
and a
|
||||||
jr nz, .asm_3899d
|
jr nz, .asm_3899d
|
||||||
@ -895,7 +895,7 @@ endr
|
|||||||
|
|
||||||
; Player is badly poisoned.
|
; Player is badly poisoned.
|
||||||
; 80% chance to greatly encourage this move.
|
; 80% chance to greatly encourage this move.
|
||||||
; This would counter any previous discouragement.
|
; This would counter any previous discouragement.
|
||||||
.asm_389e6
|
.asm_389e6
|
||||||
call Random
|
call Random
|
||||||
cp $50
|
cp $50
|
||||||
@ -907,7 +907,7 @@ endr
|
|||||||
|
|
||||||
; Player is seeded.
|
; Player is seeded.
|
||||||
; 50% chance to encourage this move.
|
; 50% chance to encourage this move.
|
||||||
; This would partly counter any previous discouragement.
|
; This would partly counter any previous discouragement.
|
||||||
.asm_389ef
|
.asm_389ef
|
||||||
call AI_50_50
|
call AI_50_50
|
||||||
ret c
|
ret c
|
||||||
@ -931,7 +931,7 @@ AI_Smart_Haze: ; 389f5
|
|||||||
jr c, .asm_38a12
|
jr c, .asm_38a12
|
||||||
jr .asm_389fb
|
jr .asm_389fb
|
||||||
|
|
||||||
; 85% chance to encourage this move if any of player's stat levels is higher than +2.
|
; 85% chance to encourage this move if any of player's stat levels is higher than +2.
|
||||||
.asm_38a05
|
.asm_38a05
|
||||||
ld hl, PlayerAtkLevel
|
ld hl, PlayerAtkLevel
|
||||||
ld c, $8
|
ld c, $8
|
||||||
@ -1164,7 +1164,7 @@ AI_Smart_Confuse: ; 38adb
|
|||||||
cp $19
|
cp $19
|
||||||
jr c, .asm_38ae7
|
jr c, .asm_38ae7
|
||||||
inc [hl]
|
inc [hl]
|
||||||
|
|
||||||
.asm_38ae7
|
.asm_38ae7
|
||||||
; Discourage again if player's HP is below 25%.
|
; Discourage again if player's HP is below 25%.
|
||||||
call AICheckPlayerQuarterHP
|
call AICheckPlayerQuarterHP
|
||||||
@ -1220,10 +1220,10 @@ AI_Smart_Fly: ; 38b12
|
|||||||
ld a, [PlayerSubStatus3]
|
ld a, [PlayerSubStatus3]
|
||||||
and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND
|
and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND
|
||||||
ret z
|
ret z
|
||||||
|
|
||||||
call AICompareSpeed
|
call AICompareSpeed
|
||||||
ret nc
|
ret nc
|
||||||
|
|
||||||
rept 3
|
rept 3
|
||||||
dec [hl]
|
dec [hl]
|
||||||
endr
|
endr
|
||||||
@ -1246,9 +1246,9 @@ AI_Smart_Paralyze: ; 38b26
|
|||||||
; 50% chance to discourage this move if player's HP is below 25%.
|
; 50% chance to discourage this move if player's HP is below 25%.
|
||||||
call AICheckPlayerQuarterHP
|
call AICheckPlayerQuarterHP
|
||||||
jr nc, .asm_38b3a
|
jr nc, .asm_38b3a
|
||||||
|
|
||||||
; 80% chance to greatly encourage this move
|
; 80% chance to greatly encourage this move
|
||||||
; if enemy is slower than player and its HP is above 25%.
|
; if enemy is slower than player and its HP is above 25%.
|
||||||
call AICompareSpeed
|
call AICompareSpeed
|
||||||
ret c
|
ret c
|
||||||
call AICheckEnemyQuarterHP
|
call AICheckEnemyQuarterHP
|
||||||
@ -1308,8 +1308,8 @@ AI_Smart_Substitute: ; 38b5c
|
|||||||
AI_Smart_HyperBeam: ; 38b63
|
AI_Smart_HyperBeam: ; 38b63
|
||||||
call AICheckEnemyHalfHP
|
call AICheckEnemyHalfHP
|
||||||
jr c, .asm_38b72
|
jr c, .asm_38b72
|
||||||
|
|
||||||
; 50% chance to encourage this move if enemy's HP is below 25%.
|
; 50% chance to encourage this move if enemy's HP is below 25%.
|
||||||
call AICheckEnemyQuarterHP
|
call AICheckEnemyQuarterHP
|
||||||
ret c
|
ret c
|
||||||
call AI_50_50
|
call AI_50_50
|
||||||
@ -1335,13 +1335,13 @@ AI_Smart_Rage: ; 38b7f
|
|||||||
bit SUBSTATUS_RAGE, a
|
bit SUBSTATUS_RAGE, a
|
||||||
jr z, .asm_38b9b
|
jr z, .asm_38b9b
|
||||||
|
|
||||||
; If enemy's Rage is building, 50% chance to encourage this move.
|
; If enemy's Rage is building, 50% chance to encourage this move.
|
||||||
call AI_50_50
|
call AI_50_50
|
||||||
jr c, .asm_38b8c
|
jr c, .asm_38b8c
|
||||||
|
|
||||||
dec [hl]
|
dec [hl]
|
||||||
|
|
||||||
; Encourage this move based on Rage's counter.
|
; Encourage this move based on Rage's counter.
|
||||||
.asm_38b8c
|
.asm_38b8c
|
||||||
ld a, [wEnemyRageCounter]
|
ld a, [wEnemyRageCounter]
|
||||||
cp $2
|
cp $2
|
||||||
@ -1773,12 +1773,12 @@ AI_Smart_PriorityHit: ; 38d5a
|
|||||||
call AICompareSpeed
|
call AICompareSpeed
|
||||||
ret c
|
ret c
|
||||||
|
|
||||||
; Dismiss this move if the player is flying or underground.
|
; Dismiss this move if the player is flying or underground.
|
||||||
ld a, [PlayerSubStatus3]
|
ld a, [PlayerSubStatus3]
|
||||||
and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND
|
and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND
|
||||||
jp nz, AIDiscourageMove
|
jp nz, AIDiscourageMove
|
||||||
|
|
||||||
; Greatly encourage this move if it will KO the player.
|
; Greatly encourage this move if it will KO the player.
|
||||||
ld a, $1
|
ld a, $1
|
||||||
ld [hBattleTurn], a
|
ld [hBattleTurn], a
|
||||||
push hl
|
push hl
|
||||||
@ -1895,18 +1895,18 @@ AI_Smart_MeanLook: ; 38dfb
|
|||||||
pop hl
|
pop hl
|
||||||
jp z, AIDiscourageMove
|
jp z, AIDiscourageMove
|
||||||
|
|
||||||
; 80% chance to greatly encourage this move if the enemy is badly poisoned (weird).
|
; 80% chance to greatly encourage this move if the enemy is badly poisoned (weird).
|
||||||
ld a, [EnemySubStatus5]
|
ld a, [EnemySubStatus5]
|
||||||
bit SUBSTATUS_TOXIC, a
|
bit SUBSTATUS_TOXIC, a
|
||||||
jr nz, .asm_38e26
|
jr nz, .asm_38e26
|
||||||
|
|
||||||
; 80% chance to greatly encourage this move if the player is either
|
; 80% chance to greatly encourage this move if the player is either
|
||||||
; in love, identified, stuck in Rollout, or has a Nightmare.
|
; in love, identified, stuck in Rollout, or has a Nightmare.
|
||||||
ld a, [PlayerSubStatus1]
|
ld a, [PlayerSubStatus1]
|
||||||
and 1<<SUBSTATUS_IN_LOVE | 1<<SUBSTATUS_ROLLOUT | 1<<SUBSTATUS_IDENTIFIED | 1<<SUBSTATUS_NIGHTMARE
|
and 1<<SUBSTATUS_IN_LOVE | 1<<SUBSTATUS_ROLLOUT | 1<<SUBSTATUS_IDENTIFIED | 1<<SUBSTATUS_NIGHTMARE
|
||||||
jr nz, .asm_38e26
|
jr nz, .asm_38e26
|
||||||
|
|
||||||
; Otherwise, discourage this move unless the player only has not very effective moves against the enemy.
|
; Otherwise, discourage this move unless the player only has not very effective moves against the enemy.
|
||||||
push hl
|
push hl
|
||||||
callab CheckPlayerMoveTypeMatchups
|
callab CheckPlayerMoveTypeMatchups
|
||||||
ld a, [wEnemyAISwitchScore]
|
ld a, [wEnemyAISwitchScore]
|
||||||
@ -2233,7 +2233,7 @@ AI_Smart_Sandstorm: ; 38f7a
|
|||||||
inc [hl]
|
inc [hl]
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.SandstormImmuneTypes
|
.SandstormImmuneTypes:
|
||||||
db ROCK
|
db ROCK
|
||||||
db GROUND
|
db GROUND
|
||||||
db STEEL
|
db STEEL
|
||||||
@ -2493,7 +2493,7 @@ AI_Smart_HiddenPower: ; 3909e
|
|||||||
push hl
|
push hl
|
||||||
ld a, 1
|
ld a, 1
|
||||||
ld [hBattleTurn], a
|
ld [hBattleTurn], a
|
||||||
|
|
||||||
; Calculate Hidden Power's type and base power based on enemy's DVs.
|
; Calculate Hidden Power's type and base power based on enemy's DVs.
|
||||||
callab HiddenPowerDamage
|
callab HiddenPowerDamage
|
||||||
callab BattleCheckTypeMatchup
|
callab BattleCheckTypeMatchup
|
||||||
@ -2697,7 +2697,7 @@ AI_Smart_PsychUp: ; 39152
|
|||||||
jr nz, .asm_3915a
|
jr nz, .asm_3915a
|
||||||
|
|
||||||
; Calculate the sum of all player's stat level modifiers. Add 100 first to prevent underflow.
|
; Calculate the sum of all player's stat level modifiers. Add 100 first to prevent underflow.
|
||||||
; Put the result in d. d will range between 58 and 142.
|
; Put the result in d. d will range between 58 and 142.
|
||||||
ld hl, PlayerAtkLevel
|
ld hl, PlayerAtkLevel
|
||||||
ld b, $8
|
ld b, $8
|
||||||
ld d, 100
|
ld d, 100
|
||||||
@ -2716,12 +2716,12 @@ AI_Smart_PsychUp: ; 39152
|
|||||||
pop hl
|
pop hl
|
||||||
jr nc, .asm_39188
|
jr nc, .asm_39188
|
||||||
|
|
||||||
; Else, 80% chance to encourage this move unless player's accuracy level is lower than -1...
|
; Else, 80% chance to encourage this move unless player's accuracy level is lower than -1...
|
||||||
ld a, [PlayerAccLevel]
|
ld a, [PlayerAccLevel]
|
||||||
cp $6
|
cp $6
|
||||||
ret c
|
ret c
|
||||||
|
|
||||||
; ...or enemy's evasion level is higher than +0.
|
; ...or enemy's evasion level is higher than +0.
|
||||||
ld a, [EnemyEvaLevel]
|
ld a, [EnemyEvaLevel]
|
||||||
cp $8
|
cp $8
|
||||||
ret nc
|
ret nc
|
||||||
@ -2825,7 +2825,7 @@ rept 2
|
|||||||
endr
|
endr
|
||||||
ret
|
ret
|
||||||
|
|
||||||
; Try to predict if the player will use Fly this turn.
|
; Try to predict if the player will use Fly this turn.
|
||||||
.couldFly
|
.couldFly
|
||||||
|
|
||||||
; 50% chance to encourage this move if the enemy is slower than the player.
|
; 50% chance to encourage this move if the enemy is slower than the player.
|
||||||
@ -3175,10 +3175,10 @@ AI_Opportunist: ; 39315
|
|||||||
call AICheckEnemyHalfHP
|
call AICheckEnemyHalfHP
|
||||||
ret c
|
ret c
|
||||||
|
|
||||||
; Discourage stall moves if enemy's HP is below 25%.
|
; Discourage stall moves if enemy's HP is below 25%.
|
||||||
call AICheckEnemyQuarterHP
|
call AICheckEnemyQuarterHP
|
||||||
jr nc, .asm_39322
|
jr nc, .asm_39322
|
||||||
|
|
||||||
; 50% chance to discourage stall moves if enemy's HP is between 25% and 50%.
|
; 50% chance to discourage stall moves if enemy's HP is between 25% and 50%.
|
||||||
call AI_50_50
|
call AI_50_50
|
||||||
ret c
|
ret c
|
||||||
@ -3333,12 +3333,12 @@ AI_Aggressive: ; 39369
|
|||||||
|
|
||||||
; Ignore this move if its power is 0 or 1.
|
; Ignore this move if its power is 0 or 1.
|
||||||
; Moves such as Seismic Toss, Hidden Power,
|
; Moves such as Seismic Toss, Hidden Power,
|
||||||
; Counter and Fissure have a base power of 1.
|
; Counter and Fissure have a base power of 1.
|
||||||
ld a, [wEnemyMoveStruct + MOVE_POWER]
|
ld a, [wEnemyMoveStruct + MOVE_POWER]
|
||||||
cp 2
|
cp 2
|
||||||
jr c, .checkmove2
|
jr c, .checkmove2
|
||||||
|
|
||||||
; Ignore this move if it is reckless.
|
; Ignore this move if it is reckless.
|
||||||
push hl
|
push hl
|
||||||
push de
|
push de
|
||||||
push bc
|
push bc
|
||||||
@ -3351,7 +3351,7 @@ AI_Aggressive: ; 39369
|
|||||||
pop hl
|
pop hl
|
||||||
jr c, .checkmove2
|
jr c, .checkmove2
|
||||||
|
|
||||||
; If we made it this far, discourage this move.
|
; If we made it this far, discourage this move.
|
||||||
inc [hl]
|
inc [hl]
|
||||||
jr .checkmove2
|
jr .checkmove2
|
||||||
|
|
||||||
@ -3384,7 +3384,7 @@ AIDamageCalc: ; 393e7
|
|||||||
callab BattleCommand_Stab
|
callab BattleCommand_Stab
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.ConstantDamageEffects
|
.ConstantDamageEffects:
|
||||||
db EFFECT_SUPER_FANG
|
db EFFECT_SUPER_FANG
|
||||||
db EFFECT_STATIC_DAMAGE
|
db EFFECT_STATIC_DAMAGE
|
||||||
db EFFECT_LEVEL_DAMAGE
|
db EFFECT_LEVEL_DAMAGE
|
||||||
@ -3550,7 +3550,7 @@ AI_Risky: ; 394a9
|
|||||||
call AICheckEnemyMaxHP
|
call AICheckEnemyMaxHP
|
||||||
jr c, .nextmove
|
jr c, .nextmove
|
||||||
|
|
||||||
; Else, 80% chance to exclude them.
|
; Else, 80% chance to exclude them.
|
||||||
call Random
|
call Random
|
||||||
cp 200 ; 1/5
|
cp 200 ; 1/5
|
||||||
jr c, .nextmove
|
jr c, .nextmove
|
||||||
|
@ -161,7 +161,7 @@ endr
|
|||||||
|
|
||||||
.doubledown
|
.doubledown
|
||||||
call .DecreaseScore
|
call .DecreaseScore
|
||||||
|
|
||||||
; fallthrough
|
; fallthrough
|
||||||
; 34931
|
; 34931
|
||||||
|
|
||||||
|
@ -980,7 +980,7 @@ BattleAnimCmd_RaiseSub: ; cc640 (33:4640)
|
|||||||
GetSubstitutePic: ; cc64c
|
GetSubstitutePic: ; cc64c
|
||||||
|
|
||||||
ld hl, sScratch
|
ld hl, sScratch
|
||||||
ld bc, $310
|
ld bc, (7 * 7) tiles
|
||||||
.loop
|
.loop
|
||||||
xor a
|
xor a
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
@ -994,16 +994,16 @@ GetSubstitutePic: ; cc64c
|
|||||||
jr z, .player
|
jr z, .player
|
||||||
|
|
||||||
ld hl, MonsterSpriteGFX + 0 tiles
|
ld hl, MonsterSpriteGFX + 0 tiles
|
||||||
ld de, sScratch + $13 tiles
|
ld de, sScratch + (2 * 7 + 5) tiles
|
||||||
call .CopyTile
|
call .CopyTile
|
||||||
ld hl, MonsterSpriteGFX + 1 tiles
|
ld hl, MonsterSpriteGFX + 1 tiles
|
||||||
ld de, sScratch + $1a tiles
|
ld de, sScratch + (3 * 7 + 5) tiles
|
||||||
call .CopyTile
|
call .CopyTile
|
||||||
ld hl, MonsterSpriteGFX + 2 tiles
|
ld hl, MonsterSpriteGFX + 2 tiles
|
||||||
ld de, sScratch + $14 tiles
|
ld de, sScratch + (2 * 7 + 6) tiles
|
||||||
call .CopyTile
|
call .CopyTile
|
||||||
ld hl, MonsterSpriteGFX + 3 tiles
|
ld hl, MonsterSpriteGFX + 3 tiles
|
||||||
ld de, sScratch + $1b tiles
|
ld de, sScratch + (3 * 7 + 6) tiles
|
||||||
call .CopyTile
|
call .CopyTile
|
||||||
|
|
||||||
ld hl, VTiles2 tile $00
|
ld hl, VTiles2 tile $00
|
||||||
@ -1014,16 +1014,16 @@ GetSubstitutePic: ; cc64c
|
|||||||
|
|
||||||
.player
|
.player
|
||||||
ld hl, MonsterSpriteGFX + 4 tiles
|
ld hl, MonsterSpriteGFX + 4 tiles
|
||||||
ld de, sScratch + $10 tiles
|
ld de, sScratch + (2 * 6 + 4) tiles
|
||||||
call .CopyTile
|
call .CopyTile
|
||||||
ld hl, MonsterSpriteGFX + 5 tiles
|
ld hl, MonsterSpriteGFX + 5 tiles
|
||||||
ld de, sScratch + $16 tiles
|
ld de, sScratch + (3 * 6 + 4) tiles
|
||||||
call .CopyTile
|
call .CopyTile
|
||||||
ld hl, MonsterSpriteGFX + 6 tiles
|
ld hl, MonsterSpriteGFX + 6 tiles
|
||||||
ld de, sScratch + $11 tiles
|
ld de, sScratch + (2 * 6 + 5) tiles
|
||||||
call .CopyTile
|
call .CopyTile
|
||||||
ld hl, MonsterSpriteGFX + 7 tiles
|
ld hl, MonsterSpriteGFX + 7 tiles
|
||||||
ld de, sScratch + $17 tiles
|
ld de, sScratch + (3 * 6 + 5) tiles
|
||||||
call .CopyTile
|
call .CopyTile
|
||||||
|
|
||||||
ld hl, VTiles2 tile $31
|
ld hl, VTiles2 tile $31
|
||||||
|
@ -1,41 +1,41 @@
|
|||||||
AnimObj00GFX: ; 84a2e
|
AnimObj00GFX: ; 84a2e
|
||||||
AnimObj01GFX: INCBIN "gfx/fx/001.2bpp.lz"
|
AnimObjHitGFX: INCBIN "gfx/fx/hit.2bpp.lz"
|
||||||
AnimObj02GFX: INCBIN "gfx/fx/002.2bpp.lz"
|
AnimObjCutGFX: INCBIN "gfx/fx/cut.2bpp.lz"
|
||||||
AnimObj03GFX: INCBIN "gfx/fx/003.2bpp.lz"
|
AnimObjFireGFX: INCBIN "gfx/fx/fire.2bpp.lz"
|
||||||
AnimObj04GFX: INCBIN "gfx/fx/004.2bpp.lz"
|
AnimObjWaterGFX: INCBIN "gfx/fx/water.2bpp.lz"
|
||||||
AnimObj05GFX: INCBIN "gfx/fx/005.2bpp.lz"
|
AnimObjLightningGFX: INCBIN "gfx/fx/lightning.2bpp.lz"
|
||||||
AnimObj07GFX: INCBIN "gfx/fx/007.2bpp.lz"
|
AnimObjSmokeGFX: INCBIN "gfx/fx/smoke.2bpp.lz"
|
||||||
AnimObj08GFX: INCBIN "gfx/fx/008.2bpp.lz"
|
AnimObjExplosionGFX: INCBIN "gfx/fx/explosion.2bpp.lz"
|
||||||
AnimObj10GFX: INCBIN "gfx/fx/010.2bpp.lz"
|
AnimObjIceGFX: INCBIN "gfx/fx/ice.2bpp.lz"
|
||||||
AnimObj09GFX: INCBIN "gfx/fx/009.2bpp.lz"
|
AnimObjRocksGFX: INCBIN "gfx/fx/rocks.2bpp.lz"
|
||||||
AnimObj12GFX: INCBIN "gfx/fx/012.2bpp.lz"
|
AnimObjPoisonGFX: INCBIN "gfx/fx/poison.2bpp.lz"
|
||||||
AnimObj06GFX: INCBIN "gfx/fx/006.2bpp.lz"
|
AnimObjPlantGFX: INCBIN "gfx/fx/plant.2bpp.lz"
|
||||||
AnimObj11GFX: INCBIN "gfx/fx/011.2bpp.lz"
|
AnimObjPokeBallGFX: INCBIN "gfx/fx/pokeball.2bpp.lz"
|
||||||
AnimObj13GFX: INCBIN "gfx/fx/013.2bpp.lz"
|
AnimObjBubbleGFX: INCBIN "gfx/fx/bubble.2bpp.lz"
|
||||||
AnimObj14GFX: INCBIN "gfx/fx/014.2bpp.lz"
|
AnimObjNoiseGFX: INCBIN "gfx/fx/noise.2bpp.lz"
|
||||||
AnimObj24GFX: INCBIN "gfx/fx/024.2bpp.lz"
|
AnimObjReflectGFX: INCBIN "gfx/fx/reflect.2bpp.lz"
|
||||||
AnimObj15GFX: INCBIN "gfx/fx/015.2bpp.lz"
|
AnimObjPowderGFX: INCBIN "gfx/fx/powder.2bpp.lz"
|
||||||
AnimObj16GFX: INCBIN "gfx/fx/016.2bpp.lz"
|
AnimObjBeamGFX: INCBIN "gfx/fx/beam.2bpp.lz"
|
||||||
AnimObj17GFX: INCBIN "gfx/fx/017.2bpp.lz"
|
AnimObjSpeedGFX: INCBIN "gfx/fx/speed.2bpp.lz"
|
||||||
AnimObj18GFX: INCBIN "gfx/fx/018.2bpp.lz"
|
AnimObjChargeGFX: INCBIN "gfx/fx/charge.2bpp.lz"
|
||||||
AnimObj19GFX: INCBIN "gfx/fx/019.2bpp.lz"
|
AnimObjWindGFX: INCBIN "gfx/fx/wind.2bpp.lz"
|
||||||
AnimObj20GFX: INCBIN "gfx/fx/020.2bpp.lz"
|
AnimObjWhipGFX: INCBIN "gfx/fx/whip.2bpp.lz"
|
||||||
AnimObj22GFX: INCBIN "gfx/fx/022.2bpp.lz"
|
AnimObjRopeGFX: INCBIN "gfx/fx/rope.2bpp.lz"
|
||||||
AnimObj21GFX: INCBIN "gfx/fx/021.2bpp.lz"
|
AnimObjEggGFX: INCBIN "gfx/fx/egg.2bpp.lz"
|
||||||
AnimObj23GFX: INCBIN "gfx/fx/023.2bpp.lz"
|
AnimObjPsychicGFX: INCBIN "gfx/fx/psychic.2bpp.lz"
|
||||||
AnimObj26GFX: INCBIN "gfx/fx/026.2bpp.lz"
|
AnimObjSandGFX: INCBIN "gfx/fx/sand.2bpp.lz"
|
||||||
AnimObj27GFX: INCBIN "gfx/fx/027.2bpp.lz"
|
AnimObjWebGFX: INCBIN "gfx/fx/web.2bpp.lz"
|
||||||
AnimObj28GFX: INCBIN "gfx/fx/028.2bpp.lz"
|
AnimObjHazeGFX: INCBIN "gfx/fx/haze.2bpp.lz"
|
||||||
AnimObj29GFX: INCBIN "gfx/fx/029.2bpp.lz"
|
AnimObjHornGFX: INCBIN "gfx/fx/horn.2bpp.lz"
|
||||||
AnimObj30GFX: INCBIN "gfx/fx/030.2bpp.lz"
|
AnimObjFlowerGFX: INCBIN "gfx/fx/flower.2bpp.lz"
|
||||||
AnimObj31GFX: INCBIN "gfx/fx/031.2bpp.lz"
|
AnimObjMiscGFX: INCBIN "gfx/fx/misc.2bpp.lz"
|
||||||
AnimObj32GFX: INCBIN "gfx/fx/032.2bpp.lz"
|
AnimObjSkyAttackGFX: INCBIN "gfx/fx/skyattack.2bpp.lz"
|
||||||
AnimObj33GFX: INCBIN "gfx/fx/033.2bpp.lz"
|
AnimObjGlobeGFX: INCBIN "gfx/fx/globe.2bpp.lz"
|
||||||
AnimObj34GFX: INCBIN "gfx/fx/034.2bpp.lz"
|
AnimObjShapesGFX: INCBIN "gfx/fx/shapes.2bpp.lz"
|
||||||
AnimObj25GFX: INCBIN "gfx/fx/025.2bpp.lz"
|
AnimObjStatusGFX: INCBIN "gfx/fx/status.2bpp.lz"
|
||||||
AnimObj35GFX: INCBIN "gfx/fx/035.2bpp.lz"
|
AnimObjObjectsGFX: INCBIN "gfx/fx/objects.2bpp.lz"
|
||||||
AnimObj36GFX: INCBIN "gfx/fx/036.2bpp.lz"
|
AnimObjShineGFX: INCBIN "gfx/fx/shine.2bpp.lz"
|
||||||
AnimObj37GFX: INCBIN "gfx/fx/037.2bpp.lz"
|
AnimObjAngelsGFX: INCBIN "gfx/fx/angels.2bpp.lz"
|
||||||
AnimObj38GFX: INCBIN "gfx/fx/038.2bpp.lz"
|
AnimObjWaveGFX: INCBIN "gfx/fx/wave.2bpp.lz"
|
||||||
AnimObj39GFX: INCBIN "gfx/fx/039.2bpp.lz"
|
AnimObjAeroblastGFX: INCBIN "gfx/fx/aeroblast.2bpp.lz"
|
||||||
; 8640e
|
; 8640e
|
||||||
|
@ -321,7 +321,7 @@ BattleAnim_ThrowPokeBall
|
|||||||
anim_jump .Shake
|
anim_jump .Shake
|
||||||
; c92f2
|
; c92f2
|
||||||
|
|
||||||
.TheTrainerBlockedTheBall
|
.TheTrainerBlockedTheBall:
|
||||||
anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_HIT
|
anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_HIT
|
||||||
anim_sound 6, 2, SFX_THROW_BALL
|
anim_sound 6, 2, SFX_THROW_BALL
|
||||||
anim_obj ANIM_OBJ_16, 8, 0, 11, 4, $20
|
anim_obj ANIM_OBJ_16, 8, 0, 11, 4, $20
|
||||||
@ -331,7 +331,7 @@ BattleAnim_ThrowPokeBall
|
|||||||
anim_ret
|
anim_ret
|
||||||
; c9305
|
; c9305
|
||||||
|
|
||||||
.UltraBall
|
.UltraBall:
|
||||||
anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE
|
anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE
|
||||||
anim_sound 6, 2, SFX_THROW_BALL
|
anim_sound 6, 2, SFX_THROW_BALL
|
||||||
anim_obj ANIM_OBJ_POKE_BALL, 8, 4, 11, 4, $40
|
anim_obj ANIM_OBJ_POKE_BALL, 8, 4, 11, 4, $40
|
||||||
@ -345,7 +345,7 @@ BattleAnim_ThrowPokeBall
|
|||||||
anim_jump .Shake
|
anim_jump .Shake
|
||||||
; c9326
|
; c9326
|
||||||
|
|
||||||
.GreatBall
|
.GreatBall:
|
||||||
anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE
|
anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE
|
||||||
anim_sound 6, 2, SFX_THROW_BALL
|
anim_sound 6, 2, SFX_THROW_BALL
|
||||||
anim_obj ANIM_OBJ_POKE_BALL, 8, 4, 11, 4, $40
|
anim_obj ANIM_OBJ_POKE_BALL, 8, 4, 11, 4, $40
|
||||||
@ -359,7 +359,7 @@ BattleAnim_ThrowPokeBall
|
|||||||
anim_jump .Shake
|
anim_jump .Shake
|
||||||
; c9347
|
; c9347
|
||||||
|
|
||||||
.MasterBall
|
.MasterBall:
|
||||||
anim_3gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE, ANIM_GFX_SPEED
|
anim_3gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE, ANIM_GFX_SPEED
|
||||||
anim_sound 6, 2, SFX_THROW_BALL
|
anim_sound 6, 2, SFX_THROW_BALL
|
||||||
anim_obj ANIM_OBJ_POKE_BALL, 8, 0, 11, 4, $20
|
anim_obj ANIM_OBJ_POKE_BALL, 8, 0, 11, 4, $20
|
||||||
@ -380,7 +380,7 @@ BattleAnim_ThrowPokeBall
|
|||||||
anim_obj ANIM_OBJ_2B, -15, 0, 7, 0, $36
|
anim_obj ANIM_OBJ_2B, -15, 0, 7, 0, $36
|
||||||
anim_obj ANIM_OBJ_2B, -15, 0, 7, 0, $37
|
anim_obj ANIM_OBJ_2B, -15, 0, 7, 0, $37
|
||||||
anim_wait 64
|
anim_wait 64
|
||||||
.Shake
|
.Shake:
|
||||||
anim_bgeffect ANIM_BG_RETURN_MON, $0, $0, $0
|
anim_bgeffect ANIM_BG_RETURN_MON, $0, $0, $0
|
||||||
anim_wait 8
|
anim_wait 8
|
||||||
anim_incobj 2
|
anim_incobj 2
|
||||||
@ -394,7 +394,7 @@ BattleAnim_ThrowPokeBall
|
|||||||
anim_wait 32
|
anim_wait 32
|
||||||
anim_wait 8
|
anim_wait 8
|
||||||
anim_setvar $0
|
anim_setvar $0
|
||||||
.Loop
|
.Loop:
|
||||||
anim_wait 48
|
anim_wait 48
|
||||||
anim_checkpokeball
|
anim_checkpokeball
|
||||||
anim_jumpvar $1, .Click
|
anim_jumpvar $1, .Click
|
||||||
@ -404,12 +404,12 @@ BattleAnim_ThrowPokeBall
|
|||||||
anim_jump .Loop
|
anim_jump .Loop
|
||||||
; c93bc
|
; c93bc
|
||||||
|
|
||||||
.Click
|
.Click:
|
||||||
anim_clearsprites
|
anim_clearsprites
|
||||||
anim_ret
|
anim_ret
|
||||||
; c93be
|
; c93be
|
||||||
|
|
||||||
.BreakFree
|
.BreakFree:
|
||||||
anim_setobj $1, $b
|
anim_setobj $1, $b
|
||||||
anim_sound 0, 1, SFX_BALL_POOF
|
anim_sound 0, 1, SFX_BALL_POOF
|
||||||
anim_obj ANIM_OBJ_1C, -15, 0, 8, 0, $10
|
anim_obj ANIM_OBJ_1C, -15, 0, 8, 0, $10
|
||||||
@ -434,7 +434,7 @@ BattleAnim_SendOutMon: ; c93d1
|
|||||||
anim_call BattleAnim_ShowMon_0
|
anim_call BattleAnim_ShowMon_0
|
||||||
anim_ret
|
anim_ret
|
||||||
|
|
||||||
.Unknown
|
.Unknown:
|
||||||
anim_1gfx ANIM_GFX_SMOKE
|
anim_1gfx ANIM_GFX_SMOKE
|
||||||
anim_call BattleAnim_FollowEnemyFeet_0
|
anim_call BattleAnim_FollowEnemyFeet_0
|
||||||
anim_bgeffect ANIM_BG_2A, $0, $1, $0
|
anim_bgeffect ANIM_BG_2A, $0, $1, $0
|
||||||
@ -449,7 +449,7 @@ BattleAnim_SendOutMon: ; c93d1
|
|||||||
anim_call BattleAnim_ShowMon_0
|
anim_call BattleAnim_ShowMon_0
|
||||||
anim_ret
|
anim_ret
|
||||||
|
|
||||||
.Shiny
|
.Shiny:
|
||||||
anim_1gfx ANIM_GFX_SPEED
|
anim_1gfx ANIM_GFX_SPEED
|
||||||
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3
|
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3
|
||||||
anim_bgeffect ANIM_BG_06, $0, $2, $0
|
anim_bgeffect ANIM_BG_06, $0, $2, $0
|
||||||
@ -479,7 +479,7 @@ BattleAnim_SendOutMon: ; c93d1
|
|||||||
anim_wait 32
|
anim_wait 32
|
||||||
anim_ret
|
anim_ret
|
||||||
|
|
||||||
.Normal
|
.Normal:
|
||||||
anim_1gfx ANIM_GFX_SMOKE
|
anim_1gfx ANIM_GFX_SMOKE
|
||||||
anim_sound 0, 0, SFX_BALL_POOF
|
anim_sound 0, 0, SFX_BALL_POOF
|
||||||
anim_obj ANIM_OBJ_1C, 5, 4, 12, 0, $0
|
anim_obj ANIM_OBJ_1C, 5, 4, 12, 0, $0
|
||||||
@ -1323,7 +1323,7 @@ BattleAnim_Thundershock: ; c9b53
|
|||||||
|
|
||||||
BattleAnim_Thunderbolt: ; c9b66
|
BattleAnim_Thunderbolt: ; c9b66
|
||||||
anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_EXPLOSION
|
anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_EXPLOSION
|
||||||
anim_obj ANIM_OBJ_32, -15, 0, 7, 0, $2
|
anim_obj ANIM_OBJ_LIGHTNING_BOLT, -15, 0, 7, 0, $2
|
||||||
anim_wait 16
|
anim_wait 16
|
||||||
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
|
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
|
||||||
anim_sound 0, 1, SFX_THUNDERSHOCK
|
anim_sound 0, 1, SFX_THUNDERSHOCK
|
||||||
@ -2497,10 +2497,10 @@ BattleAnim_Transform: ; ca54d
|
|||||||
anim_call BattleAnim_FollowPlayerHead_0
|
anim_call BattleAnim_FollowPlayerHead_0
|
||||||
anim_transform
|
anim_transform
|
||||||
anim_sound 0, 0, SFX_PSYBEAM
|
anim_sound 0, 0, SFX_PSYBEAM
|
||||||
anim_bgeffect ANIM_BG_28, $0, $1, $0
|
anim_bgeffect ANIM_BG_WAVE_DEFORM_USER, $0, $1, $0
|
||||||
anim_wait 48
|
anim_wait 48
|
||||||
anim_updateactorpic
|
anim_updateactorpic
|
||||||
anim_incbgeffect ANIM_BG_28
|
anim_incbgeffect ANIM_BG_WAVE_DEFORM_USER
|
||||||
anim_wait 48
|
anim_wait 48
|
||||||
anim_call BattleAnim_ShowMon_0
|
anim_call BattleAnim_ShowMon_0
|
||||||
anim_ret
|
anim_ret
|
||||||
@ -2759,10 +2759,10 @@ BattleAnim_Minimize: ; ca78a
|
|||||||
anim_1gfx ANIM_GFX_HIT
|
anim_1gfx ANIM_GFX_HIT
|
||||||
anim_call BattleAnim_FollowPlayerHead_0
|
anim_call BattleAnim_FollowPlayerHead_0
|
||||||
anim_minimize
|
anim_minimize
|
||||||
anim_bgeffect ANIM_BG_28, $0, $1, $0
|
anim_bgeffect ANIM_BG_WAVE_DEFORM_USER, $0, $1, $0
|
||||||
anim_wait 48
|
anim_wait 48
|
||||||
anim_updateactorpic
|
anim_updateactorpic
|
||||||
anim_incbgeffect ANIM_BG_28
|
anim_incbgeffect ANIM_BG_WAVE_DEFORM_USER
|
||||||
anim_wait 48
|
anim_wait 48
|
||||||
anim_call BattleAnim_ShowMon_0
|
anim_call BattleAnim_ShowMon_0
|
||||||
anim_ret
|
anim_ret
|
||||||
@ -2774,7 +2774,7 @@ BattleAnim_SkyAttack: ; ca7a1
|
|||||||
anim_bgeffect ANIM_BG_27, $0, $1, $0
|
anim_bgeffect ANIM_BG_27, $0, $1, $0
|
||||||
anim_wait 32
|
anim_wait 32
|
||||||
anim_sound 0, 0, SFX_HYPER_BEAM
|
anim_sound 0, 0, SFX_HYPER_BEAM
|
||||||
anim_obj ANIM_OBJ_6E, 6, 0, 11, 0, $40
|
anim_obj ANIM_OBJ_SKY_ATTACK_FEAROW, 6, 0, 11, 0, $40
|
||||||
anim_wait 64
|
anim_wait 64
|
||||||
anim_incobj 1
|
anim_incobj 1
|
||||||
anim_wait 21
|
anim_wait 21
|
||||||
@ -2805,7 +2805,7 @@ BattleAnim_NightShade: ; ca7cc
|
|||||||
BattleAnim_Lick: ; ca7e5
|
BattleAnim_Lick: ; ca7e5
|
||||||
anim_1gfx ANIM_GFX_WATER
|
anim_1gfx ANIM_GFX_WATER
|
||||||
anim_sound 0, 1, SFX_LICK
|
anim_sound 0, 1, SFX_LICK
|
||||||
anim_obj ANIM_OBJ_6F, -15, 0, 7, 0, $0
|
anim_obj ANIM_OBJ_LICK, -15, 0, 7, 0, $0
|
||||||
anim_wait 64
|
anim_wait 64
|
||||||
anim_ret
|
anim_ret
|
||||||
; ca7f1
|
; ca7f1
|
||||||
@ -3025,9 +3025,9 @@ BattleAnim_Meditate: ; ca9d8
|
|||||||
anim_1gfx ANIM_GFX_HIT
|
anim_1gfx ANIM_GFX_HIT
|
||||||
anim_call BattleAnim_FollowEnemyFeet_0
|
anim_call BattleAnim_FollowEnemyFeet_0
|
||||||
anim_sound 0, 0, SFX_PSYBEAM
|
anim_sound 0, 0, SFX_PSYBEAM
|
||||||
anim_bgeffect ANIM_BG_28, $0, $1, $0
|
anim_bgeffect ANIM_BG_WAVE_DEFORM_USER, $0, $1, $0
|
||||||
anim_wait 48
|
anim_wait 48
|
||||||
anim_incbgeffect ANIM_BG_28
|
anim_incbgeffect ANIM_BG_WAVE_DEFORM_USER
|
||||||
anim_wait 48
|
anim_wait 48
|
||||||
anim_call BattleAnim_ShowMon_0
|
anim_call BattleAnim_ShowMon_0
|
||||||
anim_ret
|
anim_ret
|
||||||
@ -3550,7 +3550,7 @@ BattleAnim_CottonSpore: ; cae84
|
|||||||
anim_obp0 $54
|
anim_obp0 $54
|
||||||
anim_1gfx ANIM_GFX_MISC
|
anim_1gfx ANIM_GFX_MISC
|
||||||
anim_sound 0, 1, SFX_POWDER
|
anim_sound 0, 1, SFX_POWDER
|
||||||
.loop: ; cae8b
|
.loop ; cae8b
|
||||||
anim_obj ANIM_OBJ_81, -16, 4, 4, 0, $0
|
anim_obj ANIM_OBJ_81, -16, 4, 4, 0, $0
|
||||||
anim_wait 8
|
anim_wait 8
|
||||||
anim_loop 5, .loop
|
anim_loop 5, .loop
|
||||||
@ -3592,7 +3592,7 @@ BattleAnim_Spite: ; caed6
|
|||||||
|
|
||||||
BattleAnim_PowderSnow: ; caee2
|
BattleAnim_PowderSnow: ; caee2
|
||||||
anim_1gfx ANIM_GFX_ICE
|
anim_1gfx ANIM_GFX_ICE
|
||||||
.loop: ; caee4
|
.loop ; caee4
|
||||||
anim_sound 6, 2, SFX_SHINE
|
anim_sound 6, 2, SFX_SHINE
|
||||||
anim_obj ANIM_OBJ_8F, 8, 0, 11, 0, $23
|
anim_obj ANIM_OBJ_8F, 8, 0, 11, 0, $23
|
||||||
anim_wait 2
|
anim_wait 2
|
||||||
@ -3765,13 +3765,13 @@ BattleAnim_Octazooka: ; cb06f
|
|||||||
BattleAnim_Spikes: ; cb092
|
BattleAnim_Spikes: ; cb092
|
||||||
anim_1gfx ANIM_GFX_MISC
|
anim_1gfx ANIM_GFX_MISC
|
||||||
anim_sound 6, 2, SFX_MENU
|
anim_sound 6, 2, SFX_MENU
|
||||||
anim_obj ANIM_OBJ_8E, 6, 0, 11, 0, $20
|
anim_obj ANIM_OBJ_SPIKES, 6, 0, 11, 0, $20
|
||||||
anim_wait 8
|
anim_wait 8
|
||||||
anim_sound 6, 2, SFX_MENU
|
anim_sound 6, 2, SFX_MENU
|
||||||
anim_obj ANIM_OBJ_8E, 6, 0, 11, 0, $30
|
anim_obj ANIM_OBJ_SPIKES, 6, 0, 11, 0, $30
|
||||||
anim_wait 8
|
anim_wait 8
|
||||||
anim_sound 6, 2, SFX_MENU
|
anim_sound 6, 2, SFX_MENU
|
||||||
anim_obj ANIM_OBJ_8E, 6, 0, 11, 0, $28
|
anim_obj ANIM_OBJ_SPIKES, 6, 0, 11, 0, $28
|
||||||
anim_wait 64
|
anim_wait 64
|
||||||
anim_ret
|
anim_ret
|
||||||
; cb0b0
|
; cb0b0
|
||||||
@ -3784,7 +3784,7 @@ BattleAnim_ZapCannon: ; cb0b0
|
|||||||
anim_obj ANIM_OBJ_A3, 8, 0, 11, 4, $2
|
anim_obj ANIM_OBJ_A3, 8, 0, 11, 4, $2
|
||||||
anim_wait 40
|
anim_wait 40
|
||||||
anim_sound 0, 1, SFX_THUNDERSHOCK
|
anim_sound 0, 1, SFX_THUNDERSHOCK
|
||||||
anim_obj ANIM_OBJ_32, -15, 0, 7, 0, $2
|
anim_obj ANIM_OBJ_LIGHTNING_BOLT, -15, 0, 7, 0, $2
|
||||||
anim_wait 16
|
anim_wait 16
|
||||||
anim_obj ANIM_OBJ_31, -15, 0, 7, 0, $0
|
anim_obj ANIM_OBJ_31, -15, 0, 7, 0, $0
|
||||||
anim_wait 128
|
anim_wait 128
|
||||||
@ -3830,14 +3830,14 @@ BattleAnim_PerishSong: ; cb113
|
|||||||
anim_bgeffect ANIM_BG_06, $0, $2, $0
|
anim_bgeffect ANIM_BG_06, $0, $2, $0
|
||||||
anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
|
anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
|
||||||
anim_sound 0, 2, SFX_PERISH_SONG
|
anim_sound 0, 2, SFX_PERISH_SONG
|
||||||
anim_obj ANIM_OBJ_A6, 11, 0, 0, 0, $0
|
anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $0
|
||||||
anim_obj ANIM_OBJ_A6, 11, 0, 0, 0, $8
|
anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $8
|
||||||
anim_obj ANIM_OBJ_A6, 11, 0, 0, 0, $10
|
anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $10
|
||||||
anim_obj ANIM_OBJ_A6, 11, 0, 0, 0, $18
|
anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $18
|
||||||
anim_obj ANIM_OBJ_A6, 11, 0, 0, 0, $20
|
anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $20
|
||||||
anim_obj ANIM_OBJ_A6, 11, 0, 0, 0, $28
|
anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $28
|
||||||
anim_obj ANIM_OBJ_A6, 11, 0, 0, 0, $30
|
anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $30
|
||||||
anim_obj ANIM_OBJ_A6, 11, 0, 0, 0, $38
|
anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $38
|
||||||
anim_wait 112
|
anim_wait 112
|
||||||
anim_ret
|
anim_ret
|
||||||
; cb14c
|
; cb14c
|
||||||
@ -4087,7 +4087,7 @@ BattleAnim_Spark: ; cb34d
|
|||||||
anim_incobj 2
|
anim_incobj 2
|
||||||
anim_wait 1
|
anim_wait 1
|
||||||
anim_sound 0, 1, SFX_THUNDERSHOCK
|
anim_sound 0, 1, SFX_THUNDERSHOCK
|
||||||
anim_obj ANIM_OBJ_32, -15, 0, 7, 0, $2
|
anim_obj ANIM_OBJ_LIGHTNING_BOLT, -15, 0, 7, 0, $2
|
||||||
anim_obj ANIM_OBJ_33, -15, 0, 7, 0, $0
|
anim_obj ANIM_OBJ_33, -15, 0, 7, 0, $0
|
||||||
anim_wait 32
|
anim_wait 32
|
||||||
anim_ret
|
anim_ret
|
||||||
|
@ -236,7 +236,7 @@ BattleBGEffect_WhiteHues: ; c812d (32:412d)
|
|||||||
call EndBattleBGEffect
|
call EndBattleBGEffect
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.Pals
|
.Pals:
|
||||||
db %11100100
|
db %11100100
|
||||||
db %11100000
|
db %11100000
|
||||||
db %11010000
|
db %11010000
|
||||||
@ -254,7 +254,7 @@ BattleBGEffect_BlackHues: ; c8141 (32:4141)
|
|||||||
call EndBattleBGEffect
|
call EndBattleBGEffect
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.Pals
|
.Pals:
|
||||||
db %11100100
|
db %11100100
|
||||||
db %11110100
|
db %11110100
|
||||||
db %11111000
|
db %11111000
|
||||||
@ -273,7 +273,7 @@ BattleBGEffect_AlternateHues: ; c8155 (32:4155)
|
|||||||
call EndBattleBGEffect
|
call EndBattleBGEffect
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.Pals
|
.Pals:
|
||||||
db %11100100
|
db %11100100
|
||||||
db %11111000
|
db %11111000
|
||||||
db %11111100
|
db %11111100
|
||||||
@ -298,12 +298,12 @@ BattleBGEffect_06: ; c8171 (32:4171)
|
|||||||
ld [wOBP0], a
|
ld [wOBP0], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.PalsCGB
|
.PalsCGB:
|
||||||
db %11100100
|
db %11100100
|
||||||
db %10010000
|
db %10010000
|
||||||
db -2
|
db -2
|
||||||
|
|
||||||
.PalsSGB
|
.PalsSGB:
|
||||||
db %11110000
|
db %11110000
|
||||||
db %11000000
|
db %11000000
|
||||||
db -2
|
db -2
|
||||||
@ -322,12 +322,12 @@ BattleBGEffect_07: ; c818b (32:418b)
|
|||||||
ld [wOBP0], a
|
ld [wOBP0], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.PalsCGB
|
.PalsCGB:
|
||||||
db %11100100
|
db %11100100
|
||||||
db %11011000
|
db %11011000
|
||||||
db -2
|
db -2
|
||||||
|
|
||||||
.PalsSGB
|
.PalsSGB:
|
||||||
db %11110000
|
db %11110000
|
||||||
db %11001100
|
db %11001100
|
||||||
db -2
|
db -2
|
||||||
@ -339,7 +339,7 @@ BattleBGEffect_08: ; c81a5 (32:41a5)
|
|||||||
ld [wBGP], a
|
ld [wBGP], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.Pals
|
.Pals:
|
||||||
db %00011011
|
db %00011011
|
||||||
db %01100011
|
db %01100011
|
||||||
db %10000111
|
db %10000111
|
||||||
@ -405,10 +405,10 @@ BattleBGEffect_ShowMon: ; c81ea (32:41ea)
|
|||||||
call BattleBGEffect_RunPicResizeScript
|
call BattleBGEffect_RunPicResizeScript
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.PlayerData
|
.PlayerData:
|
||||||
db 0, $31, 0
|
db 0, $31, 0
|
||||||
db -1
|
db -1
|
||||||
.EnemyData
|
.EnemyData:
|
||||||
db 3, $00, 3
|
db 3, $00, 3
|
||||||
db -1
|
db -1
|
||||||
; c8214
|
; c8214
|
||||||
@ -670,12 +670,12 @@ BattleBGEffect_EnterMon: ; c837b (32:437b)
|
|||||||
call BattleBGEffect_RunPicResizeScript
|
call BattleBGEffect_RunPicResizeScript
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.PlayerData
|
.PlayerData:
|
||||||
db 2, $31, 2
|
db 2, $31, 2
|
||||||
db 1, $31, 1
|
db 1, $31, 1
|
||||||
db 0, $31, 0
|
db 0, $31, 0
|
||||||
db -1
|
db -1
|
||||||
.EnemyData
|
.EnemyData:
|
||||||
db 5, $00, 5
|
db 5, $00, 5
|
||||||
db 4, $00, 4
|
db 4, $00, 4
|
||||||
db 3, $00, 3
|
db 3, $00, 3
|
||||||
@ -698,7 +698,7 @@ BattleBGEffect_ReturnMon: ; c83a8 (32:43a8)
|
|||||||
call BattleBGEffect_RunPicResizeScript
|
call BattleBGEffect_RunPicResizeScript
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.PlayerData
|
.PlayerData:
|
||||||
db 0, $31, 0
|
db 0, $31, 0
|
||||||
db -2, $66, 0
|
db -2, $66, 0
|
||||||
db 1, $31, 1
|
db 1, $31, 1
|
||||||
@ -707,7 +707,7 @@ BattleBGEffect_ReturnMon: ; c83a8 (32:43a8)
|
|||||||
db -2, $22, 2
|
db -2, $22, 2
|
||||||
db -3, $00, 0
|
db -3, $00, 0
|
||||||
db -1
|
db -1
|
||||||
.EnemyData
|
.EnemyData:
|
||||||
db 3, $00, 3
|
db 3, $00, 3
|
||||||
db -2, $77, 3
|
db -2, $77, 3
|
||||||
db 4, $00, 4
|
db 4, $00, 4
|
||||||
@ -773,7 +773,7 @@ endr
|
|||||||
call EndBattleBGEffect
|
call EndBattleBGEffect
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.ClearBox
|
.ClearBox:
|
||||||
; get dims
|
; get dims
|
||||||
push bc
|
push bc
|
||||||
inc hl
|
inc hl
|
||||||
@ -798,7 +798,7 @@ endr
|
|||||||
pop bc
|
pop bc
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.PlaceGraphic
|
.PlaceGraphic:
|
||||||
; get dims
|
; get dims
|
||||||
push bc
|
push bc
|
||||||
push hl
|
push hl
|
||||||
@ -858,7 +858,7 @@ endr
|
|||||||
pop bc
|
pop bc
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.Coords
|
.Coords:
|
||||||
dwcoord 2, 6
|
dwcoord 2, 6
|
||||||
dwcoord 3, 8
|
dwcoord 3, 8
|
||||||
dwcoord 4, 10
|
dwcoord 4, 10
|
||||||
@ -866,7 +866,7 @@ endr
|
|||||||
dwcoord 13, 2
|
dwcoord 13, 2
|
||||||
dwcoord 14, 4
|
dwcoord 14, 4
|
||||||
|
|
||||||
.BGSquares
|
.BGSquares:
|
||||||
bgsquare: MACRO
|
bgsquare: MACRO
|
||||||
dn \1,\2
|
dn \1,\2
|
||||||
dw \3
|
dw \3
|
||||||
@ -879,7 +879,7 @@ endm
|
|||||||
bgsquare 5, 5, .FiveByFive
|
bgsquare 5, 5, .FiveByFive
|
||||||
bgsquare 3, 3, .ThreeByThree
|
bgsquare 3, 3, .ThreeByThree
|
||||||
|
|
||||||
.SixBySix
|
.SixBySix:
|
||||||
db $00, $06, $0c, $12, $18, $1e
|
db $00, $06, $0c, $12, $18, $1e
|
||||||
db $01, $07, $0d, $13, $19, $1f
|
db $01, $07, $0d, $13, $19, $1f
|
||||||
db $02, $08, $0e, $14, $1a, $20
|
db $02, $08, $0e, $14, $1a, $20
|
||||||
@ -887,17 +887,17 @@ endm
|
|||||||
db $04, $0a, $10, $16, $1c, $22
|
db $04, $0a, $10, $16, $1c, $22
|
||||||
db $05, $0b, $11, $17, $1d, $23
|
db $05, $0b, $11, $17, $1d, $23
|
||||||
|
|
||||||
.FourByFour
|
.FourByFour:
|
||||||
db $00, $0c, $12, $1e
|
db $00, $0c, $12, $1e
|
||||||
db $02, $0e, $14, $20
|
db $02, $0e, $14, $20
|
||||||
db $03, $0f, $15, $21
|
db $03, $0f, $15, $21
|
||||||
db $05, $11, $17, $23
|
db $05, $11, $17, $23
|
||||||
|
|
||||||
.TwoByTwo
|
.TwoByTwo:
|
||||||
db $00, $1e
|
db $00, $1e
|
||||||
db $05, $23
|
db $05, $23
|
||||||
|
|
||||||
.SevenBySeven
|
.SevenBySeven:
|
||||||
db $00, $07, $0e, $15, $1c, $23, $2a
|
db $00, $07, $0e, $15, $1c, $23, $2a
|
||||||
db $01, $08, $0f, $16, $1d, $24, $2b
|
db $01, $08, $0f, $16, $1d, $24, $2b
|
||||||
db $02, $09, $10, $17, $1e, $25, $2c
|
db $02, $09, $10, $17, $1e, $25, $2c
|
||||||
@ -906,14 +906,14 @@ endm
|
|||||||
db $05, $0c, $13, $1a, $21, $28, $2f
|
db $05, $0c, $13, $1a, $21, $28, $2f
|
||||||
db $06, $0d, $14, $1b, $22, $29, $30
|
db $06, $0d, $14, $1b, $22, $29, $30
|
||||||
|
|
||||||
.FiveByFive
|
.FiveByFive:
|
||||||
db $00, $07, $15, $23, $2a
|
db $00, $07, $15, $23, $2a
|
||||||
db $01, $08, $16, $24, $2b
|
db $01, $08, $16, $24, $2b
|
||||||
db $03, $0a, $18, $26, $2d
|
db $03, $0a, $18, $26, $2d
|
||||||
db $05, $0c, $1a, $28, $2f
|
db $05, $0c, $1a, $28, $2f
|
||||||
db $06, $0d, $1b, $29, $30
|
db $06, $0d, $1b, $29, $30
|
||||||
|
|
||||||
.ThreeByThree
|
.ThreeByThree:
|
||||||
db $00, $15, $2a
|
db $00, $15, $2a
|
||||||
db $03, $18, $2d
|
db $03, $18, $2d
|
||||||
db $06, $1b, $30
|
db $06, $1b, $30
|
||||||
@ -945,7 +945,7 @@ BattleBGEffect_Surf: ; c8545 (32:4545)
|
|||||||
call BattleAnim_ResetLCDStatCustom
|
call BattleAnim_ResetLCDStatCustom
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.RotatewSurfWaveBGEffect
|
.RotatewSurfWaveBGEffect:
|
||||||
ld hl, wSurfWaveBGEffect
|
ld hl, wSurfWaveBGEffect
|
||||||
ld de, wSurfWaveBGEffect + 1
|
ld de, wSurfWaveBGEffect + 1
|
||||||
ld c, wSurfWaveBGEffectEnd - wSurfWaveBGEffect - 1
|
ld c, wSurfWaveBGEffectEnd - wSurfWaveBGEffect - 1
|
||||||
@ -1218,7 +1218,7 @@ BattleBGEffect_DoubleTeam: ; c8689 (32:4689)
|
|||||||
.four
|
.four
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.UpdateLYOverrides
|
.UpdateLYOverrides:
|
||||||
ld e, a
|
ld e, a
|
||||||
xor $ff
|
xor $ff
|
||||||
inc a
|
inc a
|
||||||
@ -1893,7 +1893,7 @@ BattleBGEffect_2a: ; c8a3a (32:4a3a)
|
|||||||
call BattleBGEffects_IncrementJumptable
|
call BattleBGEffects_IncrementJumptable
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.SetLYOverridesBackup
|
.SetLYOverridesBackup:
|
||||||
ld e, a
|
ld e, a
|
||||||
ld a, [hFFC7]
|
ld a, [hFFC7]
|
||||||
ld l, a
|
ld l, a
|
||||||
@ -1913,7 +1913,7 @@ BattleBGEffect_2a: ; c8a3a (32:4a3a)
|
|||||||
call BattleBGEffects_ResetVideoHRAM
|
call BattleBGEffects_ResetVideoHRAM
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.GetLYOverride
|
.GetLYOverride:
|
||||||
ld hl, BG_EFFECT_STRUCT_03
|
ld hl, BG_EFFECT_STRUCT_03
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
@ -2042,7 +2042,7 @@ BattleBGEffect_1c: ; c8b00 (32:4b00)
|
|||||||
ld [wOBP1], a
|
ld [wOBP1], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.DMG_LYOverrideLoads
|
.DMG_LYOverrideLoads:
|
||||||
ld hl, LYOverridesBackup
|
ld hl, LYOverridesBackup
|
||||||
.loop1
|
.loop1
|
||||||
ld [hl], d
|
ld [hl], d
|
||||||
@ -2061,7 +2061,7 @@ BattleBGEffect_1c: ; c8b00 (32:4b00)
|
|||||||
call BatttleBGEffects_GetNamedJumptablePointer
|
call BatttleBGEffects_GetNamedJumptablePointer
|
||||||
jp [hl]
|
jp [hl]
|
||||||
|
|
||||||
.Jumptable
|
.Jumptable:
|
||||||
dw .cgb_zero
|
dw .cgb_zero
|
||||||
dw .cgb_one
|
dw .cgb_one
|
||||||
dw .cgb_two
|
dw .cgb_two
|
||||||
@ -2118,12 +2118,12 @@ BattleBGEffect_1c: ; c8b00 (32:4b00)
|
|||||||
call EndBattleBGEffect
|
call EndBattleBGEffect
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.CGB_DMGEnemyData
|
.CGB_DMGEnemyData:
|
||||||
db $e4, $e4
|
db $e4, $e4
|
||||||
db $f8, $90
|
db $f8, $90
|
||||||
db $fc, $40
|
db $fc, $40
|
||||||
db $f8, $90
|
db $f8, $90
|
||||||
.DMG_PlayerData
|
.DMG_PlayerData:
|
||||||
db $e4, $e4
|
db $e4, $e4
|
||||||
db $90, $f8
|
db $90, $f8
|
||||||
db $40, $fc
|
db $40, $fc
|
||||||
@ -2135,7 +2135,7 @@ BattleBGEffect_RapidFlash: ; c8be8 (32:4be8)
|
|||||||
call BGEffect_RapidCyclePals
|
call BGEffect_RapidCyclePals
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.FlashPals
|
.FlashPals:
|
||||||
db $e4, $6c, $fe
|
db $e4, $6c, $fe
|
||||||
; c8bf2
|
; c8bf2
|
||||||
|
|
||||||
@ -2144,7 +2144,7 @@ BattleBGEffect_16: ; c8bf2 (32:4bf2)
|
|||||||
call BGEffect_RapidCyclePals
|
call BGEffect_RapidCyclePals
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.Pals
|
.Pals:
|
||||||
db $e4, $90, $40, $ff
|
db $e4, $90, $40, $ff
|
||||||
; c8bfd
|
; c8bfd
|
||||||
|
|
||||||
@ -2153,7 +2153,7 @@ BattleBGEffect_17: ; c8bfd (32:4bfd)
|
|||||||
call BGEffect_RapidCyclePals
|
call BGEffect_RapidCyclePals
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.Pals
|
.Pals:
|
||||||
db $e4, $f8, $fc, $ff
|
db $e4, $f8, $fc, $ff
|
||||||
; c8c08
|
; c8c08
|
||||||
|
|
||||||
@ -2162,7 +2162,7 @@ BattleBGEffect_18: ; c8c08 (32:4c08)
|
|||||||
call BGEffect_RapidCyclePals
|
call BGEffect_RapidCyclePals
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.Pals
|
.Pals:
|
||||||
db $e4, $90, $40, $90, $fe
|
db $e4, $90, $40, $90, $fe
|
||||||
; c8c14
|
; c8c14
|
||||||
|
|
||||||
@ -2171,7 +2171,7 @@ BattleBGEffect_19: ; c8c14 (32:4c14)
|
|||||||
call BGEffect_RapidCyclePals
|
call BGEffect_RapidCyclePals
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.Pals
|
.Pals:
|
||||||
db $e4, $f8, $fc, $f8, $fe
|
db $e4, $f8, $fc, $f8, $fe
|
||||||
; c8c20
|
; c8c20
|
||||||
|
|
||||||
@ -2180,7 +2180,7 @@ BattleBGEffect_1a: ; c8c20 (32:4c20)
|
|||||||
call BGEffect_RapidCyclePals
|
call BGEffect_RapidCyclePals
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.Pals
|
.Pals:
|
||||||
db $e4, $f8, $fc, $f8, $e4, $90, $40, $90, $fe
|
db $e4, $f8, $fc, $f8, $e4, $90, $40, $90, $fe
|
||||||
; c8c30
|
; c8c30
|
||||||
|
|
||||||
@ -2189,7 +2189,7 @@ BattleBGEffect_1b: ; c8c30 (32:4c30)
|
|||||||
call BGEffect_RapidCyclePals
|
call BGEffect_RapidCyclePals
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.Pals
|
.Pals:
|
||||||
db $e4, $fc, $e4, $00, $fe
|
db $e4, $fc, $e4, $00, $fe
|
||||||
; c8c3c
|
; c8c3c
|
||||||
|
|
||||||
@ -2198,7 +2198,7 @@ BattleBGEffect_1d: ; c8c3c (32:4c3c)
|
|||||||
call BGEffect_RapidCyclePals
|
call BGEffect_RapidCyclePals
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.Pals
|
.Pals:
|
||||||
db $e4, $90, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $90, $e4, $ff
|
db $e4, $90, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $90, $e4, $ff
|
||||||
; c8c55
|
; c8c55
|
||||||
|
|
||||||
@ -2207,7 +2207,7 @@ BattleBGEffect_1e: ; c8c55 (32:4c55)
|
|||||||
call BGEffect_RapidCyclePals
|
call BGEffect_RapidCyclePals
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.Pals
|
.Pals:
|
||||||
db $00, $40, $90, $e4, $ff
|
db $00, $40, $90, $e4, $ff
|
||||||
; c8c61
|
; c8c61
|
||||||
|
|
||||||
@ -2218,7 +2218,7 @@ BattleBGEffect_VibrateMon: ; c8c61 (32:4c61)
|
|||||||
dw .one
|
dw .one
|
||||||
|
|
||||||
|
|
||||||
.zero: ; c8c68 (32:4c68)
|
.zero ; c8c68 (32:4c68)
|
||||||
call BattleBGEffects_IncrementJumptable
|
call BattleBGEffects_IncrementJumptable
|
||||||
call BattleBGEffects_ClearLYOverrides
|
call BattleBGEffects_ClearLYOverrides
|
||||||
ld a, $43
|
ld a, $43
|
||||||
@ -2234,7 +2234,7 @@ BattleBGEffect_VibrateMon: ; c8c61 (32:4c61)
|
|||||||
ld [hl], $20
|
ld [hl], $20
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.one: ; c8c85 (32:4c85)
|
.one ; c8c85 (32:4c85)
|
||||||
ld hl, BG_EFFECT_STRUCT_03
|
ld hl, BG_EFFECT_STRUCT_03
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
@ -2264,7 +2264,7 @@ BattleBGEffect_WobbleMon: ; c8ca2 (32:4ca2)
|
|||||||
dw .two
|
dw .two
|
||||||
|
|
||||||
|
|
||||||
.zero: ; c8cab (32:4cab)
|
.zero ; c8cab (32:4cab)
|
||||||
call BattleBGEffects_IncrementJumptable
|
call BattleBGEffects_IncrementJumptable
|
||||||
call BattleBGEffects_ClearLYOverrides
|
call BattleBGEffects_ClearLYOverrides
|
||||||
ld a, $43
|
ld a, $43
|
||||||
@ -2278,7 +2278,7 @@ BattleBGEffect_WobbleMon: ; c8ca2 (32:4ca2)
|
|||||||
ld [hl], $0
|
ld [hl], $0
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.one: ; c8cc3 (32:4cc3)
|
.one ; c8cc3 (32:4cc3)
|
||||||
ld hl, BG_EFFECT_STRUCT_03
|
ld hl, BG_EFFECT_STRUCT_03
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
@ -2294,7 +2294,7 @@ BattleBGEffect_WobbleMon: ; c8ca2 (32:4ca2)
|
|||||||
ld [hl], a
|
ld [hl], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.two: ; c8cdd (32:4cdd)
|
.two ; c8cdd (32:4cdd)
|
||||||
call BattleAnim_ResetLCDStatCustom
|
call BattleAnim_ResetLCDStatCustom
|
||||||
ret
|
ret
|
||||||
|
|
||||||
@ -2423,13 +2423,13 @@ BGEffect_RapidCyclePals: ; c8d77 (32:4d77)
|
|||||||
pop de
|
pop de
|
||||||
jp [hl]
|
jp [hl]
|
||||||
|
|
||||||
.Jumptable_DMG
|
.Jumptable_DMG:
|
||||||
dw .zero_dmg
|
dw .zero_dmg
|
||||||
dw .one_dmg
|
dw .one_dmg
|
||||||
dw .two_dmg
|
dw .two_dmg
|
||||||
|
|
||||||
|
|
||||||
.zero_dmg: ; c8d8b (32:4d8b)
|
.zero_dmg ; c8d8b (32:4d8b)
|
||||||
call BattleBGEffects_IncrementJumptable
|
call BattleBGEffects_IncrementJumptable
|
||||||
ld a, $e4
|
ld a, $e4
|
||||||
call BattleBGEffects_SetLYOverrides
|
call BattleBGEffects_SetLYOverrides
|
||||||
@ -2447,7 +2447,7 @@ BGEffect_RapidCyclePals: ; c8d77 (32:4d77)
|
|||||||
ld [hl], a
|
ld [hl], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.one_dmg: ; c8daa (32:4daa)
|
.one_dmg ; c8daa (32:4daa)
|
||||||
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
|
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
@ -2472,7 +2472,7 @@ BGEffect_RapidCyclePals: ; c8d77 (32:4d77)
|
|||||||
dec [hl]
|
dec [hl]
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.two_dmg: ; c8dc9 (32:4dc9)
|
.two_dmg ; c8dc9 (32:4dc9)
|
||||||
call BattleBGEffects_ResetVideoHRAM
|
call BattleBGEffects_ResetVideoHRAM
|
||||||
ld a, %11100100
|
ld a, %11100100
|
||||||
ld [rBGP], a
|
ld [rBGP], a
|
||||||
@ -2494,7 +2494,7 @@ BGEffect_RapidCyclePals: ; c8d77 (32:4d77)
|
|||||||
dw .four_cgb
|
dw .four_cgb
|
||||||
|
|
||||||
|
|
||||||
.zero_cgb: ; c8de7 (32:4de7)
|
.zero_cgb ; c8de7 (32:4de7)
|
||||||
call BGEffect_CheckBattleTurn
|
call BGEffect_CheckBattleTurn
|
||||||
jr nz, .player_turn_cgb
|
jr nz, .player_turn_cgb
|
||||||
call BattleBGEffects_IncrementJumptable
|
call BattleBGEffects_IncrementJumptable
|
||||||
@ -2510,7 +2510,7 @@ BGEffect_RapidCyclePals: ; c8d77 (32:4d77)
|
|||||||
ld [hl], a
|
ld [hl], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.one_cgb: ; c8e02 (32:4e02)
|
.one_cgb ; c8e02 (32:4e02)
|
||||||
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
|
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
@ -2535,13 +2535,13 @@ BGEffect_RapidCyclePals: ; c8d77 (32:4d77)
|
|||||||
dec [hl]
|
dec [hl]
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.two_cgb: ; c8e21 (32:4e21)
|
.two_cgb ; c8e21 (32:4e21)
|
||||||
ld a, $e4
|
ld a, $e4
|
||||||
call BGEffects_LoadBGPal0_OBPal1
|
call BGEffects_LoadBGPal0_OBPal1
|
||||||
call EndBattleBGEffect
|
call EndBattleBGEffect
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.three_cgb: ; c8e2a (32:4e2a)
|
.three_cgb ; c8e2a (32:4e2a)
|
||||||
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
|
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
@ -2566,7 +2566,7 @@ BGEffect_RapidCyclePals: ; c8d77 (32:4d77)
|
|||||||
dec [hl]
|
dec [hl]
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.four_cgb: ; c8e49 (32:4e49)
|
.four_cgb ; c8e49 (32:4e49)
|
||||||
ld a, $e4
|
ld a, $e4
|
||||||
call BGEffects_LoadBGPal1_OBPal0
|
call BGEffects_LoadBGPal1_OBPal0
|
||||||
call EndBattleBGEffect
|
call EndBattleBGEffect
|
||||||
@ -2836,7 +2836,7 @@ Functionc8f9a: ; c8f9a (32:4f9a)
|
|||||||
and a
|
and a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.GetLYOverrideBackupAddrOffset
|
.GetLYOverrideBackupAddrOffset:
|
||||||
ld a, [hFFC7]
|
ld a, [hFFC7]
|
||||||
ld e, a
|
ld e, a
|
||||||
ld a, [wBattleAnimTemp0]
|
ld a, [wBattleAnimTemp0]
|
||||||
|
249
battle/core.asm
249
battle/core.asm
@ -7,7 +7,7 @@ DoBattle: ; 3c000
|
|||||||
ld [wPlayerAction], a
|
ld [wPlayerAction], a
|
||||||
ld [BattleEnded], a
|
ld [BattleEnded], a
|
||||||
inc a
|
inc a
|
||||||
ld [wd264], a
|
ld [wAISwitch], a
|
||||||
ld hl, OTPartyMon1HP
|
ld hl, OTPartyMon1HP
|
||||||
ld bc, PARTYMON_STRUCT_LENGTH - 1
|
ld bc, PARTYMON_STRUCT_LENGTH - 1
|
||||||
ld d, BATTLEACTION_SWITCH1 - 1
|
ld d, BATTLEACTION_SWITCH1 - 1
|
||||||
@ -60,7 +60,7 @@ DoBattle: ; 3c000
|
|||||||
xor a
|
xor a
|
||||||
ld [CurPartyMon], a
|
ld [CurPartyMon], a
|
||||||
.loop2
|
.loop2
|
||||||
call CheckIfPartyHasPkmnToBattleWith
|
call CheckIfCurPartyMonIsFitToFight
|
||||||
jr nz, .alive2
|
jr nz, .alive2
|
||||||
ld hl, CurPartyMon
|
ld hl, CurPartyMon
|
||||||
inc [hl]
|
inc [hl]
|
||||||
@ -170,7 +170,7 @@ BattleTurn: ; 3c12f
|
|||||||
xor a
|
xor a
|
||||||
ld [wPlayerIsSwitching], a
|
ld [wPlayerIsSwitching], a
|
||||||
ld [wEnemyIsSwitching], a
|
ld [wEnemyIsSwitching], a
|
||||||
ld [wd264], a
|
ld [wAISwitch], a
|
||||||
ld [wPlayerJustGotFrozen], a
|
ld [wPlayerJustGotFrozen], a
|
||||||
ld [wEnemyJustGotFrozen], a
|
ld [wEnemyJustGotFrozen], a
|
||||||
ld [CurDamage], a
|
ld [CurDamage], a
|
||||||
@ -273,7 +273,7 @@ HandleBetweenTurnEffects: ; 3c1d6
|
|||||||
ret c
|
ret c
|
||||||
jr .NoMoreFaintingConditions
|
jr .NoMoreFaintingConditions
|
||||||
|
|
||||||
.CheckEnemyFirst
|
.CheckEnemyFirst:
|
||||||
call CheckFaint_EnemyThenPlayer
|
call CheckFaint_EnemyThenPlayer
|
||||||
ret c
|
ret c
|
||||||
call HandleFutureSight
|
call HandleFutureSight
|
||||||
@ -289,7 +289,7 @@ HandleBetweenTurnEffects: ; 3c1d6
|
|||||||
call CheckFaint_EnemyThenPlayer
|
call CheckFaint_EnemyThenPlayer
|
||||||
ret c
|
ret c
|
||||||
|
|
||||||
.NoMoreFaintingConditions
|
.NoMoreFaintingConditions:
|
||||||
call HandleLeftovers
|
call HandleLeftovers
|
||||||
call HandleMysteryberry
|
call HandleMysteryberry
|
||||||
call HanleDefrost
|
call HanleDefrost
|
||||||
@ -310,7 +310,7 @@ CheckFaint_PlayerThenEnemy: ; 3c23c
|
|||||||
and a
|
and a
|
||||||
jr nz, .BattleIsOver
|
jr nz, .BattleIsOver
|
||||||
|
|
||||||
.PlayerNotFainted
|
.PlayerNotFainted:
|
||||||
call HasEnemyFainted
|
call HasEnemyFainted
|
||||||
jr nz, .BattleContinues
|
jr nz, .BattleContinues
|
||||||
call HandleEnemyMonFaint
|
call HandleEnemyMonFaint
|
||||||
@ -318,11 +318,11 @@ CheckFaint_PlayerThenEnemy: ; 3c23c
|
|||||||
and a
|
and a
|
||||||
jr nz, .BattleIsOver
|
jr nz, .BattleIsOver
|
||||||
|
|
||||||
.BattleContinues
|
.BattleContinues:
|
||||||
and a
|
and a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.BattleIsOver
|
.BattleIsOver:
|
||||||
scf
|
scf
|
||||||
ret
|
ret
|
||||||
; 3c25c
|
; 3c25c
|
||||||
@ -335,7 +335,7 @@ CheckFaint_EnemyThenPlayer: ; 3c25c
|
|||||||
and a
|
and a
|
||||||
jr nz, .BattleIsOver
|
jr nz, .BattleIsOver
|
||||||
|
|
||||||
.EnemyNotFainted
|
.EnemyNotFainted:
|
||||||
call HasPlayerFainted
|
call HasPlayerFainted
|
||||||
jr nz, .BattleContinues
|
jr nz, .BattleContinues
|
||||||
call HandlePlayerMonFaint
|
call HandlePlayerMonFaint
|
||||||
@ -343,11 +343,11 @@ CheckFaint_EnemyThenPlayer: ; 3c25c
|
|||||||
and a
|
and a
|
||||||
jr nz, .BattleIsOver
|
jr nz, .BattleIsOver
|
||||||
|
|
||||||
.BattleContinues
|
.BattleContinues:
|
||||||
and a
|
and a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.BattleIsOver
|
.BattleIsOver:
|
||||||
scf
|
scf
|
||||||
ret
|
ret
|
||||||
; 3c27c
|
; 3c27c
|
||||||
@ -565,7 +565,7 @@ DetermineMoveOrder: ; 3c314
|
|||||||
ret
|
ret
|
||||||
; 3c3f3
|
; 3c3f3
|
||||||
|
|
||||||
.enemy_first: ; 3c3f3
|
.enemy_first ; 3c3f3
|
||||||
and a
|
and a
|
||||||
ret
|
ret
|
||||||
; 3c3f5
|
; 3c3f5
|
||||||
@ -816,11 +816,11 @@ TryEnemyFlee: ; 3c543
|
|||||||
call IsInArray
|
call IsInArray
|
||||||
jr c, .Flee
|
jr c, .Flee
|
||||||
|
|
||||||
.Stay
|
.Stay:
|
||||||
and a
|
and a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.Flee
|
.Flee:
|
||||||
scf
|
scf
|
||||||
ret
|
ret
|
||||||
; 3c59a
|
; 3c59a
|
||||||
@ -1218,7 +1218,7 @@ HandlePerishSong: ; 3c801
|
|||||||
call SetEnemyTurn
|
call SetEnemyTurn
|
||||||
jp .do_it
|
jp .do_it
|
||||||
|
|
||||||
.EnemyFirst
|
.EnemyFirst:
|
||||||
call SetEnemyTurn
|
call SetEnemyTurn
|
||||||
call .do_it
|
call .do_it
|
||||||
call SetPlayerTurn
|
call SetPlayerTurn
|
||||||
@ -1287,7 +1287,7 @@ HandleWrap: ; 3c874
|
|||||||
call SetEnemyTurn
|
call SetEnemyTurn
|
||||||
jp .do_it
|
jp .do_it
|
||||||
|
|
||||||
.EnemyFirst
|
.EnemyFirst:
|
||||||
call SetEnemyTurn
|
call SetEnemyTurn
|
||||||
call .do_it
|
call .do_it
|
||||||
call SetPlayerTurn
|
call SetPlayerTurn
|
||||||
@ -1359,7 +1359,7 @@ HandleLeftovers: ; 3c8eb
|
|||||||
call SetEnemyTurn
|
call SetEnemyTurn
|
||||||
jp .do_it
|
jp .do_it
|
||||||
|
|
||||||
.DoEnemyFirst
|
.DoEnemyFirst:
|
||||||
call SetEnemyTurn
|
call SetEnemyTurn
|
||||||
call .do_it
|
call .do_it
|
||||||
call SetPlayerTurn
|
call SetPlayerTurn
|
||||||
@ -1409,7 +1409,7 @@ HandleMysteryberry: ; 3c93c
|
|||||||
call SetEnemyTurn
|
call SetEnemyTurn
|
||||||
jp .do_it
|
jp .do_it
|
||||||
|
|
||||||
.DoEnemyFirst
|
.DoEnemyFirst:
|
||||||
call SetEnemyTurn
|
call SetEnemyTurn
|
||||||
call .do_it
|
call .do_it
|
||||||
call SetPlayerTurn
|
call SetPlayerTurn
|
||||||
@ -1667,7 +1667,7 @@ HandleSafeguard: ; 3cafb
|
|||||||
|
|
||||||
.player1
|
.player1
|
||||||
call .CheckEnemy
|
call .CheckEnemy
|
||||||
.CheckPlayer
|
.CheckPlayer:
|
||||||
ld a, [PlayerScreens]
|
ld a, [PlayerScreens]
|
||||||
bit SCREENS_SAFEGUARD, a
|
bit SCREENS_SAFEGUARD, a
|
||||||
ret z
|
ret z
|
||||||
@ -1679,7 +1679,7 @@ HandleSafeguard: ; 3cafb
|
|||||||
xor a
|
xor a
|
||||||
jr .print
|
jr .print
|
||||||
|
|
||||||
.CheckEnemy
|
.CheckEnemy:
|
||||||
ld a, [EnemyScreens]
|
ld a, [EnemyScreens]
|
||||||
bit SCREENS_SAFEGUARD, a
|
bit SCREENS_SAFEGUARD, a
|
||||||
ret z
|
ret z
|
||||||
@ -1703,10 +1703,10 @@ HandleScreens: ; 3cb36
|
|||||||
call .CheckPlayer
|
call .CheckPlayer
|
||||||
jr .CheckEnemy
|
jr .CheckEnemy
|
||||||
|
|
||||||
.Both
|
.Both:
|
||||||
call .CheckEnemy
|
call .CheckEnemy
|
||||||
|
|
||||||
.CheckPlayer
|
.CheckPlayer:
|
||||||
call SetPlayerTurn
|
call SetPlayerTurn
|
||||||
ld de, .Your
|
ld de, .Your
|
||||||
call .Copy
|
call .Copy
|
||||||
@ -1714,28 +1714,28 @@ HandleScreens: ; 3cb36
|
|||||||
ld de, PlayerLightScreenCount
|
ld de, PlayerLightScreenCount
|
||||||
jr .TickScreens
|
jr .TickScreens
|
||||||
|
|
||||||
.CheckEnemy
|
.CheckEnemy:
|
||||||
call SetEnemyTurn
|
call SetEnemyTurn
|
||||||
ld de, .Enemy
|
ld de, .Enemy
|
||||||
call .Copy
|
call .Copy
|
||||||
ld hl, EnemyScreens
|
ld hl, EnemyScreens
|
||||||
ld de, EnemyLightScreenCount
|
ld de, EnemyLightScreenCount
|
||||||
|
|
||||||
.TickScreens
|
.TickScreens:
|
||||||
bit SCREENS_LIGHT_SCREEN, [hl]
|
bit SCREENS_LIGHT_SCREEN, [hl]
|
||||||
call nz, .LightScreenTick
|
call nz, .LightScreenTick
|
||||||
bit SCREENS_REFLECT, [hl]
|
bit SCREENS_REFLECT, [hl]
|
||||||
call nz, .ReflectTick
|
call nz, .ReflectTick
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.Copy
|
.Copy:
|
||||||
ld hl, StringBuffer1
|
ld hl, StringBuffer1
|
||||||
jp CopyName2
|
jp CopyName2
|
||||||
; 3cb75
|
; 3cb75
|
||||||
|
|
||||||
.Your
|
.Your:
|
||||||
db "Your@"
|
db "Your@"
|
||||||
.Enemy
|
.Enemy:
|
||||||
db "Enemy@"
|
db "Enemy@"
|
||||||
; 3cb80
|
; 3cb80
|
||||||
|
|
||||||
@ -1797,7 +1797,7 @@ HandleWeather: ; 3cb9e
|
|||||||
call .SandstormDamage
|
call .SandstormDamage
|
||||||
call SetPlayerTurn
|
call SetPlayerTurn
|
||||||
|
|
||||||
.SandstormDamage
|
.SandstormDamage:
|
||||||
ld a, BATTLE_VARS_SUBSTATUS3
|
ld a, BATTLE_VARS_SUBSTATUS3
|
||||||
call GetBattleVar
|
call GetBattleVar
|
||||||
bit SUBSTATUS_UNDERGROUND, a
|
bit SUBSTATUS_UNDERGROUND, a
|
||||||
@ -1844,7 +1844,7 @@ HandleWeather: ; 3cb9e
|
|||||||
ld [Weather], a
|
ld [Weather], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.PrintWeatherMessage
|
.PrintWeatherMessage:
|
||||||
ld a, [Weather]
|
ld a, [Weather]
|
||||||
dec a
|
dec a
|
||||||
ld c, a
|
ld c, a
|
||||||
@ -1857,11 +1857,11 @@ HandleWeather: ; 3cb9e
|
|||||||
jp StdBattleTextBox
|
jp StdBattleTextBox
|
||||||
; 3cc2d
|
; 3cc2d
|
||||||
|
|
||||||
.WeatherMessages
|
.WeatherMessages:
|
||||||
dw BattleText_RainContinuesToFall
|
dw BattleText_RainContinuesToFall
|
||||||
dw BattleText_TheSunlightIsStrong
|
dw BattleText_TheSunlightIsStrong
|
||||||
dw BattleText_TheSandstormRages
|
dw BattleText_TheSandstormRages
|
||||||
.WeatherEndedMessages
|
.WeatherEndedMessages:
|
||||||
dw BattleText_TheRainStopped
|
dw BattleText_TheRainStopped
|
||||||
dw BattleText_TheSunlightFaded
|
dw BattleText_TheSunlightFaded
|
||||||
dw BattleText_TheSandstormSubsided
|
dw BattleText_TheSandstormSubsided
|
||||||
@ -2497,7 +2497,7 @@ WinTrainerBattle: ; 3cfa4
|
|||||||
call PrintWinLossText
|
call PrintWinLossText
|
||||||
|
|
||||||
.skip_win_loss_text
|
.skip_win_loss_text
|
||||||
jp HandleBattleReward
|
jp .GiveMoney
|
||||||
|
|
||||||
.mobile
|
.mobile
|
||||||
call BattleWinSlideInEnemyTrainerFrontpic
|
call BattleWinSlideInEnemyTrainerFrontpic
|
||||||
@ -2524,9 +2524,8 @@ WinTrainerBattle: ; 3cfa4
|
|||||||
call ClearTileMap
|
call ClearTileMap
|
||||||
call ClearBGPalettes
|
call ClearBGPalettes
|
||||||
ret
|
ret
|
||||||
; 3d02b
|
|
||||||
|
|
||||||
HandleBattleReward: ; 3d02b
|
.GiveMoney:
|
||||||
ld a, [wAmuletCoin]
|
ld a, [wAmuletCoin]
|
||||||
and a
|
and a
|
||||||
call nz, .DoubleReward
|
call nz, .DoubleReward
|
||||||
@ -2579,7 +2578,7 @@ HandleBattleReward: ; 3d02b
|
|||||||
ld l, a
|
ld l, a
|
||||||
jp StdBattleTextBox
|
jp StdBattleTextBox
|
||||||
|
|
||||||
.KeepItAll
|
.KeepItAll:
|
||||||
ld hl, GotMoneyForWinningText
|
ld hl, GotMoneyForWinningText
|
||||||
jp StdBattleTextBox
|
jp StdBattleTextBox
|
||||||
; 3d081
|
; 3d081
|
||||||
@ -3024,7 +3023,7 @@ PickPartyMonInBattle: ; 3d33c
|
|||||||
call JumpToPartyMenuAndPrintText
|
call JumpToPartyMenuAndPrintText
|
||||||
call SelectBattleMon
|
call SelectBattleMon
|
||||||
ret c
|
ret c
|
||||||
call CheckIfPartyHasPkmnToBattleWith
|
call CheckIfCurPartyMonIsFitToFight
|
||||||
jr z, .loop
|
jr z, .loop
|
||||||
xor a
|
xor a
|
||||||
ret
|
ret
|
||||||
@ -3144,7 +3143,7 @@ LostBattle: ; 3d38e
|
|||||||
call SetPalettes
|
call SetPalettes
|
||||||
jr .end
|
jr .end
|
||||||
|
|
||||||
.LostLinkBattle
|
.LostLinkBattle:
|
||||||
call UpdateEnemyMonInParty
|
call UpdateEnemyMonInParty
|
||||||
call CheckEnemyTrainerDefeated
|
call CheckEnemyTrainerDefeated
|
||||||
jr nz, .not_tied
|
jr nz, .not_tied
|
||||||
@ -3203,13 +3202,13 @@ MonFaintedAnimation: ; 3d444
|
|||||||
ld [wcfbe], a
|
ld [wcfbe], a
|
||||||
ld b, 7
|
ld b, 7
|
||||||
|
|
||||||
.OuterLoop
|
.OuterLoop:
|
||||||
push bc
|
push bc
|
||||||
push de
|
push de
|
||||||
push hl
|
push hl
|
||||||
ld b, 6
|
ld b, 6
|
||||||
|
|
||||||
.InnerLoop
|
.InnerLoop:
|
||||||
push bc
|
push bc
|
||||||
push hl
|
push hl
|
||||||
push de
|
push de
|
||||||
@ -3247,7 +3246,7 @@ MonFaintedAnimation: ; 3d444
|
|||||||
ret
|
ret
|
||||||
; 3d488
|
; 3d488
|
||||||
|
|
||||||
.Spaces
|
.Spaces:
|
||||||
db " @"
|
db " @"
|
||||||
; 3d490
|
; 3d490
|
||||||
|
|
||||||
@ -3373,14 +3372,14 @@ CheckWhetherSwitchmonIsPredetermined: ; 3d533
|
|||||||
.not_linked
|
.not_linked
|
||||||
ld a, [wEnemySwitchMonIndex]
|
ld a, [wEnemySwitchMonIndex]
|
||||||
and a
|
and a
|
||||||
jr z, .check_wd264
|
jr z, .check_wAISwitch
|
||||||
|
|
||||||
dec a
|
dec a
|
||||||
ld b, a
|
ld b, a
|
||||||
jr .return_carry
|
jr .return_carry
|
||||||
|
|
||||||
.check_wd264
|
.check_wAISwitch
|
||||||
ld a, [wd264]
|
ld a, [wAISwitch]
|
||||||
and a
|
and a
|
||||||
ld b, $0
|
ld b, $0
|
||||||
jr nz, .return_carry
|
jr nz, .return_carry
|
||||||
@ -3656,7 +3655,7 @@ LoadEnemyPkmnToSwitchTo: ; 3d6ca
|
|||||||
; 3d714
|
; 3d714
|
||||||
|
|
||||||
CheckWhetherToAskSwitch: ; 3d714
|
CheckWhetherToAskSwitch: ; 3d714
|
||||||
ld a, [wd264]
|
ld a, [wAISwitch]
|
||||||
dec a
|
dec a
|
||||||
jp z, .return_nc
|
jp z, .return_nc
|
||||||
ld a, [PartyCount]
|
ld a, [PartyCount]
|
||||||
@ -3836,19 +3835,19 @@ CheckPlayerPartyForFitPkmn: ; 3d873
|
|||||||
xor a
|
xor a
|
||||||
ld hl, PartyMon1HP
|
ld hl, PartyMon1HP
|
||||||
ld bc, PartyMon2 - (PartyMon1 + 1)
|
ld bc, PartyMon2 - (PartyMon1 + 1)
|
||||||
.asm_3d87e
|
.loop
|
||||||
or [hl]
|
or [hl]
|
||||||
inc hl
|
inc hl
|
||||||
or [hl]
|
or [hl]
|
||||||
add hl, bc
|
add hl, bc
|
||||||
dec e
|
dec e
|
||||||
jr nz, .asm_3d87e
|
jr nz, .loop
|
||||||
ld d, a
|
ld d, a
|
||||||
ret
|
ret
|
||||||
; 3d887
|
; 3d887
|
||||||
|
|
||||||
|
|
||||||
CheckIfPartyHasPkmnToBattleWith: ; 3d887
|
CheckIfCurPartyMonIsFitToFight: ; 3d887
|
||||||
ld a, [CurPartyMon]
|
ld a, [CurPartyMon]
|
||||||
ld hl, PartyMon1HP
|
ld hl, PartyMon1HP
|
||||||
call GetPartyLocation
|
call GetPartyLocation
|
||||||
@ -3856,9 +3855,9 @@ CheckIfPartyHasPkmnToBattleWith: ; 3d887
|
|||||||
or [hl]
|
or [hl]
|
||||||
ret nz
|
ret nz
|
||||||
|
|
||||||
ld a, [wd264]
|
ld a, [wAISwitch]
|
||||||
and a
|
and a
|
||||||
jr nz, .asm_3d8b1
|
jr nz, .finish_fail
|
||||||
ld hl, PartySpecies
|
ld hl, PartySpecies
|
||||||
ld a, [CurPartyMon]
|
ld a, [CurPartyMon]
|
||||||
ld c, a
|
ld c, a
|
||||||
@ -3867,14 +3866,14 @@ CheckIfPartyHasPkmnToBattleWith: ; 3d887
|
|||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
cp EGG
|
cp EGG
|
||||||
ld hl, BattleText_AnEGGCantBattle
|
ld hl, BattleText_AnEGGCantBattle
|
||||||
jr z, .asm_3d8ae
|
jr z, .print_textbox
|
||||||
|
|
||||||
ld hl, BattleText_TheresNoWillToBattle
|
ld hl, BattleText_TheresNoWillToBattle
|
||||||
|
|
||||||
.asm_3d8ae
|
.print_textbox
|
||||||
call StdBattleTextBox
|
call StdBattleTextBox
|
||||||
|
|
||||||
.asm_3d8b1
|
.finish_fail
|
||||||
xor a
|
xor a
|
||||||
ret
|
ret
|
||||||
; 3d8b3
|
; 3d8b3
|
||||||
@ -4501,6 +4500,8 @@ HandleHPHealingItem: ; 3dd2f
|
|||||||
ld hl, BattleMonMaxHP
|
ld hl, BattleMonMaxHP
|
||||||
|
|
||||||
.go
|
.go
|
||||||
|
; If, and only if, Pokemon's HP is less than half max, use the item.
|
||||||
|
; Store current HP in Buffer 3/4
|
||||||
push bc
|
push bc
|
||||||
ld a, [de]
|
ld a, [de]
|
||||||
ld [Buffer3], a
|
ld [Buffer3], a
|
||||||
@ -4528,6 +4529,7 @@ HandleHPHealingItem: ; 3dd2f
|
|||||||
|
|
||||||
.less
|
.less
|
||||||
call ItemRecoveryAnim
|
call ItemRecoveryAnim
|
||||||
|
; store max HP in Buffer1/2
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
ld [Buffer2], a
|
ld [Buffer2], a
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
@ -4653,7 +4655,7 @@ UseHeldStatusHealingItem: ; 3dde9
|
|||||||
ret
|
ret
|
||||||
; 3de44
|
; 3de44
|
||||||
|
|
||||||
.Statuses ; 3de44
|
.Statuses: ; 3de44
|
||||||
db HELD_HEAL_POISON, 1 << PSN
|
db HELD_HEAL_POISON, 1 << PSN
|
||||||
db HELD_HEAL_FREEZE, 1 << FRZ
|
db HELD_HEAL_FREEZE, 1 << FRZ
|
||||||
db HELD_HEAL_BURN, 1 << BRN
|
db HELD_HEAL_BURN, 1 << BRN
|
||||||
@ -4777,7 +4779,7 @@ HandleStatBoostingHeldItems: ; 3de97
|
|||||||
ret
|
ret
|
||||||
; 3defc
|
; 3defc
|
||||||
|
|
||||||
.StatUpItems
|
.StatUpItems:
|
||||||
dbw HELD_ATTACK_UP, BattleCommand_AttackUp
|
dbw HELD_ATTACK_UP, BattleCommand_AttackUp
|
||||||
dbw HELD_DEFENSE_UP, BattleCommand_DefenseUp
|
dbw HELD_DEFENSE_UP, BattleCommand_DefenseUp
|
||||||
dbw HELD_SPEED_UP, BattleCommand_SpeedUp
|
dbw HELD_SPEED_UP, BattleCommand_SpeedUp
|
||||||
@ -5345,18 +5347,18 @@ BattleMenuPKMN_Loop:
|
|||||||
jr z, .Cancel
|
jr z, .Cancel
|
||||||
jr .loop
|
jr .loop
|
||||||
|
|
||||||
.PressedB
|
.PressedB:
|
||||||
call CheckMobileBattleError
|
call CheckMobileBattleError
|
||||||
jr c, .Cancel
|
jr c, .Cancel
|
||||||
jr BattleMenuPKMN_Loop
|
jr BattleMenuPKMN_Loop
|
||||||
|
|
||||||
.Stats
|
.Stats:
|
||||||
call Battle_StatsScreen
|
call Battle_StatsScreen
|
||||||
call CheckMobileBattleError
|
call CheckMobileBattleError
|
||||||
jr c, .Cancel
|
jr c, .Cancel
|
||||||
jp BattleMenuPKMN_ReturnFromStats
|
jp BattleMenuPKMN_ReturnFromStats
|
||||||
|
|
||||||
.Cancel
|
.Cancel:
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
call ClearPalettes
|
call ClearPalettes
|
||||||
call DelayFrame
|
call DelayFrame
|
||||||
@ -5434,7 +5436,7 @@ TryPlayerSwitch: ; 3e358
|
|||||||
jp BattleMenuPKMN_Loop
|
jp BattleMenuPKMN_Loop
|
||||||
|
|
||||||
.try_switch
|
.try_switch
|
||||||
call CheckIfPartyHasPkmnToBattleWith
|
call CheckIfCurPartyMonIsFitToFight
|
||||||
jp z, BattleMenuPKMN_Loop
|
jp z, BattleMenuPKMN_Loop
|
||||||
ld a, [CurBattleMon]
|
ld a, [CurBattleMon]
|
||||||
ld [LastPlayerMon], a
|
ld [LastPlayerMon], a
|
||||||
@ -5675,15 +5677,15 @@ MoveSelectionScreen: ; 3e4bc
|
|||||||
ld c, $2c
|
ld c, $2c
|
||||||
ld a, [wMoveSelectionMenuType]
|
ld a, [wMoveSelectionMenuType]
|
||||||
dec a
|
dec a
|
||||||
ld b, $c1
|
ld b, D_DOWN | D_UP | A_BUTTON
|
||||||
jr z, .okay
|
jr z, .okay
|
||||||
dec a
|
dec a
|
||||||
ld b, $c3
|
ld b, D_DOWN | D_UP | A_BUTTON | B_BUTTON
|
||||||
jr z, .okay
|
jr z, .okay
|
||||||
ld a, [wLinkMode]
|
ld a, [wLinkMode]
|
||||||
and a
|
and a
|
||||||
jr nz, .okay
|
jr nz, .okay
|
||||||
ld b, $c7
|
ld b, D_DOWN | D_UP | A_BUTTON | B_BUTTON | SELECT
|
||||||
|
|
||||||
.okay
|
.okay
|
||||||
ld a, b
|
ld a, b
|
||||||
@ -5727,6 +5729,7 @@ MoveSelectionScreen: ; 3e4bc
|
|||||||
bit SELECT_F, a
|
bit SELECT_F, a
|
||||||
jp nz, .pressed_select
|
jp nz, .pressed_select
|
||||||
bit B_BUTTON_F, a
|
bit B_BUTTON_F, a
|
||||||
|
; A button
|
||||||
push af
|
push af
|
||||||
|
|
||||||
xor a
|
xor a
|
||||||
@ -5981,9 +5984,9 @@ MoveInfoBox: ; 3e6c8
|
|||||||
ret
|
ret
|
||||||
; 3e74f
|
; 3e74f
|
||||||
|
|
||||||
.Disabled
|
.Disabled:
|
||||||
db "Disabled!@"
|
db "Disabled!@"
|
||||||
.Type
|
.Type:
|
||||||
db "TYPE/@"
|
db "TYPE/@"
|
||||||
; 3e75f
|
; 3e75f
|
||||||
|
|
||||||
@ -6106,7 +6109,7 @@ ParseEnemyAction: ; 3e7c1
|
|||||||
jp .finish
|
jp .finish
|
||||||
|
|
||||||
.skip_encore
|
.skip_encore
|
||||||
call CheckSubstatus_RechargeChargedRampageBideRollout
|
call CheckEnemyLockedIn
|
||||||
jp nz, ResetVarsForSubstatusRage
|
jp nz, ResetVarsForSubstatusRage
|
||||||
jr .continue
|
jr .continue
|
||||||
|
|
||||||
@ -6173,7 +6176,7 @@ ParseEnemyAction: ; 3e7c1
|
|||||||
.skip_load
|
.skip_load
|
||||||
call SetEnemyTurn
|
call SetEnemyTurn
|
||||||
callab UpdateMoveData
|
callab UpdateMoveData
|
||||||
call CheckSubstatus_RechargeChargedRampageBideRollout
|
call CheckEnemyLockedIn
|
||||||
jr nz, .raging
|
jr nz, .raging
|
||||||
xor a
|
xor a
|
||||||
ld [wEnemyCharging], a
|
ld [wEnemyCharging], a
|
||||||
@ -6219,7 +6222,7 @@ ResetVarsForSubstatusRage: ; 3e8c1
|
|||||||
ret
|
ret
|
||||||
; 3e8d1
|
; 3e8d1
|
||||||
|
|
||||||
CheckSubstatus_RechargeChargedRampageBideRollout: ; 3e8d1
|
CheckEnemyLockedIn: ; 3e8d1
|
||||||
ld a, [EnemySubStatus4]
|
ld a, [EnemySubStatus4]
|
||||||
and 1 << SUBSTATUS_RECHARGE
|
and 1 << SUBSTATUS_RECHARGE
|
||||||
ret nz
|
ret nz
|
||||||
@ -6288,7 +6291,7 @@ LoadEnemyMon: ; 3e8eb
|
|||||||
jr .UpdateItem
|
jr .UpdateItem
|
||||||
|
|
||||||
|
|
||||||
.WildItem
|
.WildItem:
|
||||||
; In a wild battle, we pull from the item slots in BaseData
|
; In a wild battle, we pull from the item slots in BaseData
|
||||||
|
|
||||||
; Force Item1
|
; Force Item1
|
||||||
@ -6318,7 +6321,7 @@ LoadEnemyMon: ; 3e8eb
|
|||||||
ld a, [BaseItems+1]
|
ld a, [BaseItems+1]
|
||||||
|
|
||||||
|
|
||||||
.UpdateItem
|
.UpdateItem:
|
||||||
ld [EnemyMonItem], a
|
ld [EnemyMonItem], a
|
||||||
|
|
||||||
|
|
||||||
@ -6344,7 +6347,7 @@ LoadEnemyMon: ; 3e8eb
|
|||||||
jp .Happiness
|
jp .Happiness
|
||||||
|
|
||||||
|
|
||||||
.InitDVs
|
.InitDVs:
|
||||||
|
|
||||||
; Trainer DVs
|
; Trainer DVs
|
||||||
|
|
||||||
@ -6400,7 +6403,7 @@ LoadEnemyMon: ; 3e8eb
|
|||||||
jr .UpdateDVs
|
jr .UpdateDVs
|
||||||
|
|
||||||
|
|
||||||
.NotRoaming
|
.NotRoaming:
|
||||||
; Register a contains BattleType
|
; Register a contains BattleType
|
||||||
|
|
||||||
; Forced shiny battle type
|
; Forced shiny battle type
|
||||||
@ -6412,14 +6415,14 @@ LoadEnemyMon: ; 3e8eb
|
|||||||
ld c, SPDSPCDV_SHINY ; $aa
|
ld c, SPDSPCDV_SHINY ; $aa
|
||||||
jr .UpdateDVs
|
jr .UpdateDVs
|
||||||
|
|
||||||
.GenerateDVs
|
.GenerateDVs:
|
||||||
; Generate new random DVs
|
; Generate new random DVs
|
||||||
call BattleRandom
|
call BattleRandom
|
||||||
ld b, a
|
ld b, a
|
||||||
call BattleRandom
|
call BattleRandom
|
||||||
ld c, a
|
ld c, a
|
||||||
|
|
||||||
.UpdateDVs
|
.UpdateDVs:
|
||||||
; Input DVs in register bc
|
; Input DVs in register bc
|
||||||
ld hl, EnemyMonDVs
|
ld hl, EnemyMonDVs
|
||||||
ld a, b
|
ld a, b
|
||||||
@ -6450,7 +6453,7 @@ LoadEnemyMon: ; 3e8eb
|
|||||||
jr c, .GenerateDVs ; try again
|
jr c, .GenerateDVs ; try again
|
||||||
|
|
||||||
|
|
||||||
.Magikarp
|
.Magikarp:
|
||||||
; Skimming this part recommended
|
; Skimming this part recommended
|
||||||
|
|
||||||
ld a, [TempEnemyMonSpecies]
|
ld a, [TempEnemyMonSpecies]
|
||||||
@ -6485,7 +6488,7 @@ LoadEnemyMon: ; 3e8eb
|
|||||||
cp a, $40
|
cp a, $40
|
||||||
jr nc, .GenerateDVs
|
jr nc, .GenerateDVs
|
||||||
|
|
||||||
.CheckMagikarpArea
|
.CheckMagikarpArea:
|
||||||
; The z checks are supposed to be nz
|
; The z checks are supposed to be nz
|
||||||
; Instead, all maps in GROUP_LAKE_OF_RAGE (mahogany area)
|
; Instead, all maps in GROUP_LAKE_OF_RAGE (mahogany area)
|
||||||
; and routes 20 and 44 are treated as Lake of Rage
|
; and routes 20 and 44 are treated as Lake of Rage
|
||||||
@ -6513,7 +6516,7 @@ LoadEnemyMon: ; 3e8eb
|
|||||||
|
|
||||||
; Finally done with DVs
|
; Finally done with DVs
|
||||||
|
|
||||||
.Happiness
|
.Happiness:
|
||||||
; Set happiness
|
; Set happiness
|
||||||
ld a, BASE_HAPPINESS
|
ld a, BASE_HAPPINESS
|
||||||
ld [EnemyMonHappiness], a
|
ld [EnemyMonHappiness], a
|
||||||
@ -6540,7 +6543,7 @@ LoadEnemyMon: ; 3e8eb
|
|||||||
bit SUBSTATUS_TRANSFORMED, a
|
bit SUBSTATUS_TRANSFORMED, a
|
||||||
jp nz, .Moves
|
jp nz, .Moves
|
||||||
|
|
||||||
.TreeMon
|
.TreeMon:
|
||||||
; If we're headbutting trees, some monsters enter battle asleep
|
; If we're headbutting trees, some monsters enter battle asleep
|
||||||
call CheckSleepingTreeMon
|
call CheckSleepingTreeMon
|
||||||
ld a, SLP ; Asleep for 7 turns
|
ld a, SLP ; Asleep for 7 turns
|
||||||
@ -6548,7 +6551,7 @@ LoadEnemyMon: ; 3e8eb
|
|||||||
; Otherwise, no status
|
; Otherwise, no status
|
||||||
xor a
|
xor a
|
||||||
|
|
||||||
.UpdateStatus
|
.UpdateStatus:
|
||||||
ld hl, EnemyMonStatus
|
ld hl, EnemyMonStatus
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
|
|
||||||
@ -6578,7 +6581,7 @@ LoadEnemyMon: ; 3e8eb
|
|||||||
ld [EnemyMonHP + 1], a
|
ld [EnemyMonHP + 1], a
|
||||||
jr .Moves
|
jr .Moves
|
||||||
|
|
||||||
.InitRoamHP
|
.InitRoamHP:
|
||||||
; HP only uses the lo byte in the RoamMon struct since
|
; HP only uses the lo byte in the RoamMon struct since
|
||||||
; Raikou/Entei/Suicune will have < 256 hp at level 40
|
; Raikou/Entei/Suicune will have < 256 hp at level 40
|
||||||
ld a, [EnemyMonHP + 1]
|
ld a, [EnemyMonHP + 1]
|
||||||
@ -6586,7 +6589,7 @@ LoadEnemyMon: ; 3e8eb
|
|||||||
jr .Moves
|
jr .Moves
|
||||||
|
|
||||||
|
|
||||||
.OpponentParty
|
.OpponentParty:
|
||||||
; Get HP from the party struct
|
; Get HP from the party struct
|
||||||
ld hl, (OTPartyMon1HP + 1)
|
ld hl, (OTPartyMon1HP + 1)
|
||||||
ld a, [CurPartyMon]
|
ld a, [CurPartyMon]
|
||||||
@ -6606,7 +6609,7 @@ LoadEnemyMon: ; 3e8eb
|
|||||||
ld [EnemyMonStatus], a
|
ld [EnemyMonStatus], a
|
||||||
|
|
||||||
|
|
||||||
.Moves
|
.Moves:
|
||||||
ld hl, BaseType1
|
ld hl, BaseType1
|
||||||
ld de, EnemyMonType1
|
ld de, EnemyMonType1
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
@ -6629,7 +6632,7 @@ LoadEnemyMon: ; 3e8eb
|
|||||||
call CopyBytes
|
call CopyBytes
|
||||||
jr .PP
|
jr .PP
|
||||||
|
|
||||||
.WildMoves
|
.WildMoves:
|
||||||
; Clear EnemyMonMoves
|
; Clear EnemyMonMoves
|
||||||
xor a
|
xor a
|
||||||
ld h, d
|
ld h, d
|
||||||
@ -6643,7 +6646,7 @@ endr
|
|||||||
; Fill moves based on level
|
; Fill moves based on level
|
||||||
predef FillMoves
|
predef FillMoves
|
||||||
|
|
||||||
.PP
|
.PP:
|
||||||
; Trainer battle?
|
; Trainer battle?
|
||||||
ld a, [wBattleMode]
|
ld a, [wBattleMode]
|
||||||
cp a, TRAINER_BATTLE
|
cp a, TRAINER_BATTLE
|
||||||
@ -6655,7 +6658,7 @@ endr
|
|||||||
predef FillPP
|
predef FillPP
|
||||||
jr .Finish
|
jr .Finish
|
||||||
|
|
||||||
.TrainerPP
|
.TrainerPP:
|
||||||
; Copy PP from the party struct
|
; Copy PP from the party struct
|
||||||
ld hl, OTPartyMon1PP
|
ld hl, OTPartyMon1PP
|
||||||
ld a, [CurPartyMon]
|
ld a, [CurPartyMon]
|
||||||
@ -6664,7 +6667,7 @@ endr
|
|||||||
ld bc, NUM_MOVES
|
ld bc, NUM_MOVES
|
||||||
call CopyBytes
|
call CopyBytes
|
||||||
|
|
||||||
.Finish
|
.Finish:
|
||||||
; Only the first five base stats are copied..
|
; Only the first five base stats are copied..
|
||||||
ld hl, BaseStats
|
ld hl, BaseStats
|
||||||
ld de, EnemyMonBaseStats
|
ld de, EnemyMonBaseStats
|
||||||
@ -6734,18 +6737,18 @@ CheckSleepingTreeMon: ; 3eb38
|
|||||||
jr z, .Check
|
jr z, .Check
|
||||||
ld hl, .Nite
|
ld hl, .Nite
|
||||||
|
|
||||||
.Check
|
.Check:
|
||||||
ld a, [TempEnemyMonSpecies]
|
ld a, [TempEnemyMonSpecies]
|
||||||
ld de, 1 ; length of species id
|
ld de, 1 ; length of species id
|
||||||
call IsInArray
|
call IsInArray
|
||||||
; If it's a match, the opponent is asleep
|
; If it's a match, the opponent is asleep
|
||||||
ret c
|
ret c
|
||||||
|
|
||||||
.NotSleeping
|
.NotSleeping:
|
||||||
and a
|
and a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.Nite
|
.Nite:
|
||||||
db CATERPIE
|
db CATERPIE
|
||||||
db METAPOD
|
db METAPOD
|
||||||
db BUTTERFREE
|
db BUTTERFREE
|
||||||
@ -6759,7 +6762,7 @@ CheckSleepingTreeMon: ; 3eb38
|
|||||||
db AIPOM
|
db AIPOM
|
||||||
db -1 ; end
|
db -1 ; end
|
||||||
|
|
||||||
.Day
|
.Day:
|
||||||
db VENONAT
|
db VENONAT
|
||||||
db HOOTHOOT
|
db HOOTHOOT
|
||||||
db NOCTOWL
|
db NOCTOWL
|
||||||
@ -6767,7 +6770,7 @@ CheckSleepingTreeMon: ; 3eb38
|
|||||||
db HERACROSS
|
db HERACROSS
|
||||||
db -1 ; end
|
db -1 ; end
|
||||||
|
|
||||||
.Morn
|
.Morn:
|
||||||
db VENONAT
|
db VENONAT
|
||||||
db HOOTHOOT
|
db HOOTHOOT
|
||||||
db NOCTOWL
|
db NOCTOWL
|
||||||
@ -6824,22 +6827,22 @@ CheckUnownLetter: ; 3eb75
|
|||||||
and a
|
and a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.LetterSets
|
.LetterSets:
|
||||||
dw .Set1
|
dw .Set1
|
||||||
dw .Set2
|
dw .Set2
|
||||||
dw .Set3
|
dw .Set3
|
||||||
dw .Set4
|
dw .Set4
|
||||||
|
|
||||||
.Set1
|
.Set1:
|
||||||
; A B C D E F G H I J K
|
; A B C D E F G H I J K
|
||||||
db 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, $ff
|
db 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, $ff
|
||||||
.Set2
|
.Set2:
|
||||||
; L M N O P Q R
|
; L M N O P Q R
|
||||||
db 12, 13, 14, 15, 16, 17, 18, $ff
|
db 12, 13, 14, 15, 16, 17, 18, $ff
|
||||||
.Set3
|
.Set3:
|
||||||
; S T U V W
|
; S T U V W
|
||||||
db 19, 20, 21, 22, 23, $ff
|
db 19, 20, 21, 22, 23, $ff
|
||||||
.Set4
|
.Set4:
|
||||||
; X Y Z
|
; X Y Z
|
||||||
db 24, 25, 26, $ff
|
db 24, 25, 26, $ff
|
||||||
|
|
||||||
@ -7121,7 +7124,7 @@ ApplyStatLevelMultiplier: ; 3ecb7
|
|||||||
ret
|
ret
|
||||||
; 3ed2b
|
; 3ed2b
|
||||||
|
|
||||||
.StatLevelMultipliers
|
.StatLevelMultipliers:
|
||||||
; /
|
; /
|
||||||
db 25, 100 ; 25%
|
db 25, 100 ; 25%
|
||||||
db 28, 100 ; 28%
|
db 28, 100 ; 28%
|
||||||
@ -7183,7 +7186,7 @@ BadgeStatBoosts: ; 3ed45
|
|||||||
|
|
||||||
ld hl, BattleMonAttack
|
ld hl, BattleMonAttack
|
||||||
ld c, 4
|
ld c, 4
|
||||||
.CheckBadge
|
.CheckBadge:
|
||||||
ld a, b
|
ld a, b
|
||||||
srl b
|
srl b
|
||||||
call c, BoostStat
|
call c, BoostStat
|
||||||
@ -7751,7 +7754,7 @@ GiveExperiencePoints: ; 3ee3b
|
|||||||
jp ResetBattleParticipants
|
jp ResetBattleParticipants
|
||||||
; 3f0d4
|
; 3f0d4
|
||||||
|
|
||||||
.EvenlyDivideExpAmongParticipants
|
.EvenlyDivideExpAmongParticipants:
|
||||||
; count number of battle participants
|
; count number of battle participants
|
||||||
ld a, [wBattleParticipantsNotFainted]
|
ld a, [wBattleParticipantsNotFainted]
|
||||||
ld b, a
|
ld b, a
|
||||||
@ -7875,7 +7878,7 @@ AnimateExpBar: ; 3f136
|
|||||||
ld [hli], a
|
ld [hli], a
|
||||||
ld [hl], a
|
ld [hl], a
|
||||||
|
|
||||||
.NoOverflow
|
.NoOverflow:
|
||||||
ld d, MAX_LEVEL
|
ld d, MAX_LEVEL
|
||||||
callab CalcExpAtLevel
|
callab CalcExpAtLevel
|
||||||
ld a, [hProduct + 1]
|
ld a, [hProduct + 1]
|
||||||
@ -7899,7 +7902,7 @@ AnimateExpBar: ; 3f136
|
|||||||
ld a, d
|
ld a, d
|
||||||
ld [hld], a
|
ld [hld], a
|
||||||
|
|
||||||
.AlreadyAtMaxExp
|
.AlreadyAtMaxExp:
|
||||||
callab CalcLevel
|
callab CalcLevel
|
||||||
ld a, d
|
ld a, d
|
||||||
pop bc
|
pop bc
|
||||||
@ -7910,7 +7913,7 @@ AnimateExpBar: ; 3f136
|
|||||||
ld a, e
|
ld a, e
|
||||||
ld d, a
|
ld d, a
|
||||||
|
|
||||||
.LoopLevels
|
.LoopLevels:
|
||||||
ld a, e
|
ld a, e
|
||||||
cp MAX_LEVEL
|
cp MAX_LEVEL
|
||||||
jr nc, .FinishExpBar
|
jr nc, .FinishExpBar
|
||||||
@ -7941,7 +7944,7 @@ AnimateExpBar: ; 3f136
|
|||||||
ld b, $0
|
ld b, $0
|
||||||
jr .LoopLevels
|
jr .LoopLevels
|
||||||
|
|
||||||
.FinishExpBar
|
.FinishExpBar:
|
||||||
push bc
|
push bc
|
||||||
ld b, d
|
ld b, d
|
||||||
ld de, TempMonExp + 2
|
ld de, TempMonExp + 2
|
||||||
@ -7961,7 +7964,7 @@ AnimateExpBar: ; 3f136
|
|||||||
pop bc
|
pop bc
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.PlayExpBarSound
|
.PlayExpBarSound:
|
||||||
push bc
|
push bc
|
||||||
call WaitSFX
|
call WaitSFX
|
||||||
ld de, SFX_EXP_BAR
|
ld de, SFX_EXP_BAR
|
||||||
@ -7971,7 +7974,7 @@ AnimateExpBar: ; 3f136
|
|||||||
pop bc
|
pop bc
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.LoopBarAnimation
|
.LoopBarAnimation:
|
||||||
ld d, 3
|
ld d, 3
|
||||||
dec b
|
dec b
|
||||||
.anim_loop
|
.anim_loop
|
||||||
@ -8025,7 +8028,7 @@ SendOutPkmnText: ; 3f26d
|
|||||||
|
|
||||||
ld hl, JumpText_GoPkmn ; If we're in a LinkBattle print just "Go <PlayerMon>"
|
ld hl, JumpText_GoPkmn ; If we're in a LinkBattle print just "Go <PlayerMon>"
|
||||||
|
|
||||||
ld a, [wd264] ; unless this (unidentified) variable is set
|
ld a, [wAISwitch] ; unless this (unidentified) variable is set
|
||||||
and a
|
and a
|
||||||
jr nz, .skip_to_textbox
|
jr nz, .skip_to_textbox
|
||||||
|
|
||||||
@ -8116,7 +8119,7 @@ WithdrawPkmnText: ; 3f2f4
|
|||||||
ld hl, .WithdrawPkmnText
|
ld hl, .WithdrawPkmnText
|
||||||
jp BattleTextBox
|
jp BattleTextBox
|
||||||
|
|
||||||
.WithdrawPkmnText
|
.WithdrawPkmnText:
|
||||||
text_jump Text_BattleMonNickComma
|
text_jump Text_BattleMonNickComma
|
||||||
start_asm
|
start_asm
|
||||||
; Print text to withdraw Pkmn
|
; Print text to withdraw Pkmn
|
||||||
@ -8482,7 +8485,7 @@ BattleIntro: ; 3f4dd
|
|||||||
ld [hMapAnims], a
|
ld [hMapAnims], a
|
||||||
callba PlayBattleMusic
|
callba PlayBattleMusic
|
||||||
callba ShowLinkBattleParticipants
|
callba ShowLinkBattleParticipants
|
||||||
callba FindFirstAliveMon
|
callba FindFirstAliveMonAndStartBattle
|
||||||
call DisableSpriteUpdates
|
call DisableSpriteUpdates
|
||||||
callba ClearBattleRAM
|
callba ClearBattleRAM
|
||||||
call InitEnemy
|
call InitEnemy
|
||||||
@ -8520,7 +8523,7 @@ LoadTrainerOrWildMonPic: ; 3f54e
|
|||||||
ld a, [TempWildMonSpecies]
|
ld a, [TempWildMonSpecies]
|
||||||
ld [CurPartySpecies], a
|
ld [CurPartySpecies], a
|
||||||
|
|
||||||
.Trainer
|
.Trainer:
|
||||||
ld [TempEnemyMonSpecies], a
|
ld [TempEnemyMonSpecies], a
|
||||||
ret
|
ret
|
||||||
; 3f55e
|
; 3f55e
|
||||||
@ -8870,11 +8873,11 @@ DetermineMobileBattleResult: ; 3f77c
|
|||||||
ret
|
ret
|
||||||
; 3f7f7
|
; 3f7f7
|
||||||
|
|
||||||
.Win
|
.Win:
|
||||||
db "YOU WIN@"
|
db "YOU WIN@"
|
||||||
.Lose
|
.Lose:
|
||||||
db "YOU LOSE@"
|
db "YOU LOSE@"
|
||||||
.Draw
|
.Draw:
|
||||||
db " DRAW@"
|
db " DRAW@"
|
||||||
; 3f80f
|
; 3f80f
|
||||||
|
|
||||||
@ -8889,7 +8892,7 @@ DetermineMobileBattleResult: ; 3f77c
|
|||||||
ret
|
ret
|
||||||
; 3f821
|
; 3f821
|
||||||
|
|
||||||
.Invalid
|
.Invalid:
|
||||||
db "INVALID BATTLE@"
|
db "INVALID BATTLE@"
|
||||||
; 3f830
|
; 3f830
|
||||||
|
|
||||||
@ -8977,7 +8980,7 @@ ReadAndPrintLinkBattleRecord: ; 3f85f
|
|||||||
call PrintNum
|
call PrintNum
|
||||||
jr .next
|
jr .next
|
||||||
|
|
||||||
.PrintFormatString
|
.PrintFormatString:
|
||||||
ld de, .Format
|
ld de, .Format
|
||||||
call PlaceString
|
call PlaceString
|
||||||
.next
|
.next
|
||||||
@ -8994,7 +8997,7 @@ ReadAndPrintLinkBattleRecord: ; 3f85f
|
|||||||
jr nz, .loop
|
jr nz, .loop
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.PrintBattleRecord
|
.PrintBattleRecord:
|
||||||
hlcoord 1, 0
|
hlcoord 1, 0
|
||||||
ld de, .Record
|
ld de, .Record
|
||||||
call PlaceString
|
call PlaceString
|
||||||
@ -9032,7 +9035,7 @@ ReadAndPrintLinkBattleRecord: ; 3f85f
|
|||||||
.quit
|
.quit
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.PrintZerosIfNoSaveFileExists
|
.PrintZerosIfNoSaveFileExists:
|
||||||
ld a, [wSavedAtLeastOnce]
|
ld a, [wSavedAtLeastOnce]
|
||||||
and a
|
and a
|
||||||
ret nz
|
ret nz
|
||||||
@ -9042,18 +9045,18 @@ ReadAndPrintLinkBattleRecord: ; 3f85f
|
|||||||
ret
|
ret
|
||||||
; 3f938
|
; 3f938
|
||||||
|
|
||||||
.Scores
|
.Scores:
|
||||||
db " 0 0 0@"
|
db " 0 0 0@"
|
||||||
; 3f947
|
; 3f947
|
||||||
|
|
||||||
.Format ; 3f947
|
.Format: ; 3f947
|
||||||
db " --- <LNBRK>"
|
db " --- <LNBRK>"
|
||||||
db " - - -@"
|
db " - - -@"
|
||||||
.Record ; 3f964
|
.Record: ; 3f964
|
||||||
db "<PLAYER>'s RECORD@"
|
db "<PLAYER>'s RECORD@"
|
||||||
.Result ; 3f96e
|
.Result: ; 3f96e
|
||||||
db "RESULT WIN LOSE DRAW@"
|
db "RESULT WIN LOSE DRAW@"
|
||||||
.Total ; 3f983
|
.Total: ; 3f983
|
||||||
db "TOTAL WIN LOSE DRAW@"
|
db "TOTAL WIN LOSE DRAW@"
|
||||||
; 3f998
|
; 3f998
|
||||||
|
|
||||||
@ -9469,12 +9472,12 @@ GetTrainerBackpic: ; 3fbff
|
|||||||
callba GetKrisBackpic
|
callba GetKrisBackpic
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.Chris
|
.Chris:
|
||||||
; It's a boy.
|
; It's a boy.
|
||||||
ld b, BANK(ChrisBackpic)
|
ld b, BANK(ChrisBackpic)
|
||||||
ld hl, ChrisBackpic
|
ld hl, ChrisBackpic
|
||||||
|
|
||||||
.Decompress
|
.Decompress:
|
||||||
ld de, VTiles2 tile $31
|
ld de, VTiles2 tile $31
|
||||||
ld c, $31
|
ld c, $31
|
||||||
predef DecompressPredef
|
predef DecompressPredef
|
||||||
@ -9600,7 +9603,7 @@ BattleStartMessage: ; 3fc8b
|
|||||||
ld hl, HookedPokemonAttackedText
|
ld hl, HookedPokemonAttackedText
|
||||||
jr .PlaceBattleStartText
|
jr .PlaceBattleStartText
|
||||||
|
|
||||||
.NotFishing
|
.NotFishing:
|
||||||
ld hl, PokemonFellFromTreeText
|
ld hl, PokemonFellFromTreeText
|
||||||
cp BATTLETYPE_TREE
|
cp BATTLETYPE_TREE
|
||||||
jr z, .PlaceBattleStartText
|
jr z, .PlaceBattleStartText
|
||||||
@ -9609,7 +9612,7 @@ BattleStartMessage: ; 3fc8b
|
|||||||
jr z, .PlaceBattleStartText
|
jr z, .PlaceBattleStartText
|
||||||
ld hl, WildPokemonAppearedText
|
ld hl, WildPokemonAppearedText
|
||||||
|
|
||||||
.PlaceBattleStartText
|
.PlaceBattleStartText:
|
||||||
push hl
|
push hl
|
||||||
callba BattleStart_TrainerHuds
|
callba BattleStart_TrainerHuds
|
||||||
pop hl
|
pop hl
|
||||||
|
@ -58,7 +58,7 @@ DoMove: ; 3402c
|
|||||||
|
|
||||||
ld de, BattleScriptBuffer
|
ld de, BattleScriptBuffer
|
||||||
|
|
||||||
.GetMoveEffect
|
.GetMoveEffect:
|
||||||
ld a, BANK(MoveEffects)
|
ld a, BANK(MoveEffects)
|
||||||
call GetFarByte
|
call GetFarByte
|
||||||
inc hl
|
inc hl
|
||||||
@ -74,7 +74,7 @@ DoMove: ; 3402c
|
|||||||
ld a, h
|
ld a, h
|
||||||
ld [BattleScriptBufferLoc + 1], a
|
ld [BattleScriptBufferLoc + 1], a
|
||||||
|
|
||||||
.ReadMoveEffectCommand
|
.ReadMoveEffectCommand:
|
||||||
|
|
||||||
; ld a, [BattleScriptBufferLoc++]
|
; ld a, [BattleScriptBufferLoc++]
|
||||||
ld a, [BattleScriptBufferLoc]
|
ld a, [BattleScriptBufferLoc]
|
||||||
@ -112,7 +112,7 @@ DoMove: ; 3402c
|
|||||||
|
|
||||||
jr .ReadMoveEffectCommand
|
jr .ReadMoveEffectCommand
|
||||||
|
|
||||||
.DoMoveEffectCommand
|
.DoMoveEffectCommand:
|
||||||
jp [hl]
|
jp [hl]
|
||||||
|
|
||||||
; 34084
|
; 34084
|
||||||
@ -830,7 +830,7 @@ BattleCommand_CheckObedience: ; 343db
|
|||||||
jp .EndDisobedience
|
jp .EndDisobedience
|
||||||
|
|
||||||
|
|
||||||
.Nap
|
.Nap:
|
||||||
call BattleRandom
|
call BattleRandom
|
||||||
add a
|
add a
|
||||||
swap a
|
swap a
|
||||||
@ -843,7 +843,7 @@ BattleCommand_CheckObedience: ; 343db
|
|||||||
jr .Print
|
jr .Print
|
||||||
|
|
||||||
|
|
||||||
.DoNothing
|
.DoNothing:
|
||||||
call BattleRandom
|
call BattleRandom
|
||||||
and 3
|
and 3
|
||||||
|
|
||||||
@ -861,12 +861,12 @@ BattleCommand_CheckObedience: ; 343db
|
|||||||
|
|
||||||
ld hl, IgnoredOrdersText
|
ld hl, IgnoredOrdersText
|
||||||
|
|
||||||
.Print
|
.Print:
|
||||||
call StdBattleTextBox
|
call StdBattleTextBox
|
||||||
jp .EndDisobedience
|
jp .EndDisobedience
|
||||||
|
|
||||||
|
|
||||||
.UseInstead
|
.UseInstead:
|
||||||
|
|
||||||
; Can't use another move if the monster only has one!
|
; Can't use another move if the monster only has one!
|
||||||
ld a, [BattleMonMoves + 1]
|
ld a, [BattleMonMoves + 1]
|
||||||
@ -884,7 +884,7 @@ BattleCommand_CheckObedience: ; 343db
|
|||||||
ld b, 0
|
ld b, 0
|
||||||
ld c, NUM_MOVES
|
ld c, NUM_MOVES
|
||||||
|
|
||||||
.GetTotalPP
|
.GetTotalPP:
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
and $3f ; exclude pp up
|
and $3f ; exclude pp up
|
||||||
add b
|
add b
|
||||||
@ -900,7 +900,7 @@ BattleCommand_CheckObedience: ; 343db
|
|||||||
jr nz, .GetTotalPP
|
jr nz, .GetTotalPP
|
||||||
|
|
||||||
|
|
||||||
.CheckMovePP
|
.CheckMovePP:
|
||||||
ld hl, BattleMonPP
|
ld hl, BattleMonPP
|
||||||
ld a, [CurMoveNum]
|
ld a, [CurMoveNum]
|
||||||
ld e, a
|
ld e, a
|
||||||
@ -927,7 +927,7 @@ BattleCommand_CheckObedience: ; 343db
|
|||||||
push af
|
push af
|
||||||
|
|
||||||
|
|
||||||
.RandomMove
|
.RandomMove:
|
||||||
call BattleRandom
|
call BattleRandom
|
||||||
and 3 ; TODO NUM_MOVES
|
and 3 ; TODO NUM_MOVES
|
||||||
|
|
||||||
@ -968,7 +968,7 @@ BattleCommand_CheckObedience: ; 343db
|
|||||||
ld [CurMoveNum], a
|
ld [CurMoveNum], a
|
||||||
|
|
||||||
|
|
||||||
.EndDisobedience
|
.EndDisobedience:
|
||||||
xor a
|
xor a
|
||||||
ld [LastPlayerMove], a
|
ld [LastPlayerMove], a
|
||||||
ld [LastEnemyCounterMove], a
|
ld [LastEnemyCounterMove], a
|
||||||
@ -996,7 +996,7 @@ IgnoreSleepOnly: ; 3451f
|
|||||||
and a
|
and a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.CheckSleep
|
.CheckSleep:
|
||||||
ld a, BATTLE_VARS_STATUS
|
ld a, BATTLE_VARS_STATUS
|
||||||
call GetBattleVar
|
call GetBattleVar
|
||||||
and SLP
|
and SLP
|
||||||
@ -1191,7 +1191,7 @@ CheckMimicUsed: ; 3460b
|
|||||||
call GetBattleVar
|
call GetBattleVar
|
||||||
cp MIMIC
|
cp MIMIC
|
||||||
jr z, .mimic
|
jr z, .mimic
|
||||||
;
|
;
|
||||||
ld b, 0
|
ld b, 0
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
@ -1229,7 +1229,7 @@ BattleCommand_Critical: ; 34631
|
|||||||
ld hl, BattleMonItem
|
ld hl, BattleMonItem
|
||||||
ld a, [BattleMonSpecies]
|
ld a, [BattleMonSpecies]
|
||||||
|
|
||||||
.Item
|
.Item:
|
||||||
ld c, 0
|
ld c, 0
|
||||||
|
|
||||||
cp CHANSEY
|
cp CHANSEY
|
||||||
@ -1242,7 +1242,7 @@ BattleCommand_Critical: ; 34631
|
|||||||
ld c, 2
|
ld c, 2
|
||||||
jr .Tally
|
jr .Tally
|
||||||
|
|
||||||
.Farfetchd
|
.Farfetchd:
|
||||||
cp FARFETCH_D
|
cp FARFETCH_D
|
||||||
jr nz, .FocusEnergy
|
jr nz, .FocusEnergy
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
@ -1253,7 +1253,7 @@ BattleCommand_Critical: ; 34631
|
|||||||
ld c, 2
|
ld c, 2
|
||||||
jr .Tally
|
jr .Tally
|
||||||
|
|
||||||
.FocusEnergy
|
.FocusEnergy:
|
||||||
ld a, BATTLE_VARS_SUBSTATUS4
|
ld a, BATTLE_VARS_SUBSTATUS4
|
||||||
call GetBattleVar
|
call GetBattleVar
|
||||||
bit SUBSTATUS_FOCUS_ENERGY, a
|
bit SUBSTATUS_FOCUS_ENERGY, a
|
||||||
@ -1262,7 +1262,7 @@ BattleCommand_Critical: ; 34631
|
|||||||
; +1 critical level
|
; +1 critical level
|
||||||
inc c
|
inc c
|
||||||
|
|
||||||
.CheckCritical
|
.CheckCritical:
|
||||||
ld a, BATTLE_VARS_MOVE_ANIM
|
ld a, BATTLE_VARS_MOVE_ANIM
|
||||||
call GetBattleVar
|
call GetBattleVar
|
||||||
ld de, 1
|
ld de, 1
|
||||||
@ -1276,7 +1276,7 @@ BattleCommand_Critical: ; 34631
|
|||||||
inc c
|
inc c
|
||||||
inc c
|
inc c
|
||||||
|
|
||||||
.ScopeLens
|
.ScopeLens:
|
||||||
push bc
|
push bc
|
||||||
call GetUserItem
|
call GetUserItem
|
||||||
ld a, b
|
ld a, b
|
||||||
@ -1287,7 +1287,7 @@ BattleCommand_Critical: ; 34631
|
|||||||
; +1 critical level
|
; +1 critical level
|
||||||
inc c
|
inc c
|
||||||
|
|
||||||
.Tally
|
.Tally:
|
||||||
ld hl, .Chances
|
ld hl, .Chances
|
||||||
ld b, 0
|
ld b, 0
|
||||||
add hl, bc
|
add hl, bc
|
||||||
@ -1298,9 +1298,9 @@ BattleCommand_Critical: ; 34631
|
|||||||
ld [CriticalHit], a
|
ld [CriticalHit], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.Criticals
|
.Criticals:
|
||||||
db KARATE_CHOP, RAZOR_WIND, RAZOR_LEAF, CRABHAMMER, SLASH, AEROBLAST, CROSS_CHOP, $ff
|
db KARATE_CHOP, RAZOR_WIND, RAZOR_LEAF, CRABHAMMER, SLASH, AEROBLAST, CROSS_CHOP, $ff
|
||||||
.Chances
|
.Chances:
|
||||||
; 6.25% 12.1% 24.6% 33.2% 49.6% 49.6% 49.6%
|
; 6.25% 12.1% 24.6% 33.2% 49.6% 49.6% 49.6%
|
||||||
db $11, $20, $40, $55, $80, $80, $80
|
db $11, $20, $40, $55, $80, $80, $80
|
||||||
; 0 1 2 3 4 5 6
|
; 0 1 2 3 4 5 6
|
||||||
@ -1424,13 +1424,13 @@ BattleCommand_Stab: ; 346d2
|
|||||||
ld hl, TypeModifier
|
ld hl, TypeModifier
|
||||||
set 7, [hl]
|
set 7, [hl]
|
||||||
|
|
||||||
.SkipStab
|
.SkipStab:
|
||||||
ld a, BATTLE_VARS_MOVE_TYPE
|
ld a, BATTLE_VARS_MOVE_TYPE
|
||||||
call GetBattleVar
|
call GetBattleVar
|
||||||
ld b, a
|
ld b, a
|
||||||
ld hl, TypeMatchup
|
ld hl, TypeMatchup
|
||||||
|
|
||||||
.TypesLoop
|
.TypesLoop:
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
|
|
||||||
cp $ff
|
cp $ff
|
||||||
@ -1446,7 +1446,7 @@ BattleCommand_Stab: ; 346d2
|
|||||||
|
|
||||||
jr .TypesLoop
|
jr .TypesLoop
|
||||||
|
|
||||||
.SkipForesightCheck
|
.SkipForesightCheck:
|
||||||
cp b
|
cp b
|
||||||
jr nz, .SkipType
|
jr nz, .SkipType
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
@ -1456,7 +1456,7 @@ BattleCommand_Stab: ; 346d2
|
|||||||
jr z, .GotMatchup
|
jr z, .GotMatchup
|
||||||
jr .SkipType
|
jr .SkipType
|
||||||
|
|
||||||
.GotMatchup
|
.GotMatchup:
|
||||||
push hl
|
push hl
|
||||||
push bc
|
push bc
|
||||||
inc hl
|
inc hl
|
||||||
@ -1470,7 +1470,7 @@ BattleCommand_Stab: ; 346d2
|
|||||||
inc a
|
inc a
|
||||||
ld [AttackMissed], a
|
ld [AttackMissed], a
|
||||||
xor a
|
xor a
|
||||||
.NotImmune
|
.NotImmune:
|
||||||
ld [hMultiplier], a
|
ld [hMultiplier], a
|
||||||
add b
|
add b
|
||||||
ld [TypeModifier], a
|
ld [TypeModifier], a
|
||||||
@ -1517,7 +1517,7 @@ BattleCommand_Stab: ; 346d2
|
|||||||
pop bc
|
pop bc
|
||||||
pop hl
|
pop hl
|
||||||
|
|
||||||
.SkipType
|
.SkipType:
|
||||||
inc hl
|
inc hl
|
||||||
inc hl
|
inc hl
|
||||||
jr .TypesLoop
|
jr .TypesLoop
|
||||||
@ -1559,7 +1559,7 @@ CheckTypeMatchup: ; 347d3
|
|||||||
ld a, 10 ; 1.0
|
ld a, 10 ; 1.0
|
||||||
ld [wTypeMatchup], a
|
ld [wTypeMatchup], a
|
||||||
ld hl, TypeMatchup
|
ld hl, TypeMatchup
|
||||||
.TypesLoop
|
.TypesLoop:
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
cp $ff
|
cp $ff
|
||||||
jr z, .End
|
jr z, .End
|
||||||
@ -1571,7 +1571,7 @@ CheckTypeMatchup: ; 347d3
|
|||||||
jr nz, .End
|
jr nz, .End
|
||||||
jr .TypesLoop
|
jr .TypesLoop
|
||||||
|
|
||||||
.Next
|
.Next:
|
||||||
cp d
|
cp d
|
||||||
jr nz, .Nope
|
jr nz, .Nope
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
@ -1581,13 +1581,13 @@ CheckTypeMatchup: ; 347d3
|
|||||||
jr z, .Yup
|
jr z, .Yup
|
||||||
jr .Nope2
|
jr .Nope2
|
||||||
|
|
||||||
.Nope
|
.Nope:
|
||||||
inc hl
|
inc hl
|
||||||
.Nope2
|
.Nope2:
|
||||||
inc hl
|
inc hl
|
||||||
jr .TypesLoop
|
jr .TypesLoop
|
||||||
|
|
||||||
.Yup
|
.Yup:
|
||||||
xor a
|
xor a
|
||||||
ld [hDividend + 0], a
|
ld [hDividend + 0], a
|
||||||
ld [hMultiplicand + 0], a
|
ld [hMultiplicand + 0], a
|
||||||
@ -1607,7 +1607,7 @@ CheckTypeMatchup: ; 347d3
|
|||||||
ld [wTypeMatchup], a
|
ld [wTypeMatchup], a
|
||||||
jr .TypesLoop
|
jr .TypesLoop
|
||||||
|
|
||||||
.End
|
.End:
|
||||||
pop bc
|
pop bc
|
||||||
pop de
|
pop de
|
||||||
pop hl
|
pop hl
|
||||||
@ -1740,7 +1740,7 @@ BattleCommand_CheckHit: ; 34d32
|
|||||||
ld a, [wEnemyMoveStruct + MOVE_ACC]
|
ld a, [wEnemyMoveStruct + MOVE_ACC]
|
||||||
ld b, a
|
ld b, a
|
||||||
|
|
||||||
.BrightPowder
|
.BrightPowder:
|
||||||
push bc
|
push bc
|
||||||
call GetOpponentItem
|
call GetOpponentItem
|
||||||
ld a, b
|
ld a, b
|
||||||
@ -1765,11 +1765,11 @@ BattleCommand_CheckHit: ; 34d32
|
|||||||
cp b
|
cp b
|
||||||
jr nc, .Miss
|
jr nc, .Miss
|
||||||
|
|
||||||
.Hit
|
.Hit:
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
.Miss
|
.Miss:
|
||||||
; Keep the damage value intact if we're using (Hi) Jump Kick.
|
; Keep the damage value intact if we're using (Hi) Jump Kick.
|
||||||
ld a, BATTLE_VARS_MOVE_EFFECT
|
ld a, BATTLE_VARS_MOVE_EFFECT
|
||||||
call GetBattleVar
|
call GetBattleVar
|
||||||
@ -1777,13 +1777,13 @@ BattleCommand_CheckHit: ; 34d32
|
|||||||
jr z, .Missed
|
jr z, .Missed
|
||||||
call ResetDamage
|
call ResetDamage
|
||||||
|
|
||||||
.Missed
|
.Missed:
|
||||||
ld a, 1
|
ld a, 1
|
||||||
ld [AttackMissed], a
|
ld [AttackMissed], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
.DreamEater
|
.DreamEater:
|
||||||
; Return z if we're trying to eat the dream of
|
; Return z if we're trying to eat the dream of
|
||||||
; a monster that isn't sleeping.
|
; a monster that isn't sleeping.
|
||||||
ld a, BATTLE_VARS_MOVE_EFFECT
|
ld a, BATTLE_VARS_MOVE_EFFECT
|
||||||
@ -1797,7 +1797,7 @@ BattleCommand_CheckHit: ; 34d32
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
.Protect
|
.Protect:
|
||||||
; Return nz if the opponent is protected.
|
; Return nz if the opponent is protected.
|
||||||
ld a, BATTLE_VARS_SUBSTATUS1_OPP
|
ld a, BATTLE_VARS_SUBSTATUS1_OPP
|
||||||
call GetBattleVar
|
call GetBattleVar
|
||||||
@ -1819,7 +1819,7 @@ BattleCommand_CheckHit: ; 34d32
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
.LockOn
|
.LockOn:
|
||||||
; Return nz if we are locked-on and aren't trying to use Earthquake,
|
; Return nz if we are locked-on and aren't trying to use Earthquake,
|
||||||
; Fissure or Magnitude on a monster that is flying.
|
; Fissure or Magnitude on a monster that is flying.
|
||||||
ld a, BATTLE_VARS_SUBSTATUS5_OPP
|
ld a, BATTLE_VARS_SUBSTATUS5_OPP
|
||||||
@ -1843,13 +1843,13 @@ BattleCommand_CheckHit: ; 34d32
|
|||||||
cp MAGNITUDE
|
cp MAGNITUDE
|
||||||
ret z
|
ret z
|
||||||
|
|
||||||
.LockedOn
|
.LockedOn:
|
||||||
ld a, 1
|
ld a, 1
|
||||||
and a
|
and a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
.DrainSub
|
.DrainSub:
|
||||||
; Return z if using an HP drain move on a substitute.
|
; Return z if using an HP drain move on a substitute.
|
||||||
call CheckSubstituteOpp
|
call CheckSubstituteOpp
|
||||||
jr z, .not_draining_sub
|
jr z, .not_draining_sub
|
||||||
@ -1868,7 +1868,7 @@ BattleCommand_CheckHit: ; 34d32
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
.FlyDigMoves
|
.FlyDigMoves:
|
||||||
; Check for moves that can hit underground/flying opponents.
|
; Check for moves that can hit underground/flying opponents.
|
||||||
; Return z if the current move can hit the opponent.
|
; Return z if the current move can hit the opponent.
|
||||||
|
|
||||||
@ -1892,7 +1892,7 @@ BattleCommand_CheckHit: ; 34d32
|
|||||||
cp TWISTER
|
cp TWISTER
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.DigMoves
|
.DigMoves:
|
||||||
ld a, BATTLE_VARS_MOVE_ANIM
|
ld a, BATTLE_VARS_MOVE_ANIM
|
||||||
call GetBattleVar
|
call GetBattleVar
|
||||||
|
|
||||||
@ -1904,7 +1904,7 @@ BattleCommand_CheckHit: ; 34d32
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
.ThunderRain
|
.ThunderRain:
|
||||||
; Return z if the current move always hits in rain, and it is raining.
|
; Return z if the current move always hits in rain, and it is raining.
|
||||||
ld a, BATTLE_VARS_MOVE_EFFECT
|
ld a, BATTLE_VARS_MOVE_EFFECT
|
||||||
call GetBattleVar
|
call GetBattleVar
|
||||||
@ -1916,14 +1916,14 @@ BattleCommand_CheckHit: ; 34d32
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
.XAccuracy
|
.XAccuracy:
|
||||||
ld a, BATTLE_VARS_SUBSTATUS4
|
ld a, BATTLE_VARS_SUBSTATUS4
|
||||||
call GetBattleVar
|
call GetBattleVar
|
||||||
bit SUBSTATUS_X_ACCURACY, a
|
bit SUBSTATUS_X_ACCURACY, a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
.StatModifiers
|
.StatModifiers:
|
||||||
|
|
||||||
ld a, [hBattleTurn]
|
ld a, [hBattleTurn]
|
||||||
and a
|
and a
|
||||||
@ -2015,7 +2015,7 @@ BattleCommand_CheckHit: ; 34d32
|
|||||||
ld [hl], a
|
ld [hl], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.AccProb
|
.AccProb:
|
||||||
db 33, 100 ; 33% -6
|
db 33, 100 ; 33% -6
|
||||||
db 36, 100 ; 36% -5
|
db 36, 100 ; 36% -5
|
||||||
db 43, 100 ; 43% -4
|
db 43, 100 ; 43% -4
|
||||||
@ -2112,7 +2112,7 @@ BattleCommand_LowerSub: ; 34eee
|
|||||||
call BattleCommand_LowerSubNoAnim
|
call BattleCommand_LowerSubNoAnim
|
||||||
jp BattleCommand_MoveDelay
|
jp BattleCommand_MoveDelay
|
||||||
|
|
||||||
.Rampage
|
.Rampage:
|
||||||
ld a, BATTLE_VARS_MOVE_EFFECT
|
ld a, BATTLE_VARS_MOVE_EFFECT
|
||||||
call GetBattleVar
|
call GetBattleVar
|
||||||
cp EFFECT_ROLLOUT
|
cp EFFECT_ROLLOUT
|
||||||
@ -2764,7 +2764,7 @@ DittoMetalPowder: ; 352b1
|
|||||||
jr nz, .Ditto
|
jr nz, .Ditto
|
||||||
ld a, [TempEnemyMonSpecies]
|
ld a, [TempEnemyMonSpecies]
|
||||||
|
|
||||||
.Ditto
|
.Ditto:
|
||||||
cp DITTO
|
cp DITTO
|
||||||
ret nz
|
ret nz
|
||||||
|
|
||||||
@ -2924,7 +2924,9 @@ TruncateHL_BC: ; 3534d
|
|||||||
ld a, [wLinkMode]
|
ld a, [wLinkMode]
|
||||||
cp 3
|
cp 3
|
||||||
jr z, .done
|
jr z, .done
|
||||||
|
; If we go back to the loop point,
|
||||||
|
; it's the same as doing this exact
|
||||||
|
; same check twice.
|
||||||
ld a, h
|
ld a, h
|
||||||
or b
|
or b
|
||||||
jr nz, .loop
|
jr nz, .loop
|
||||||
@ -3046,7 +3048,7 @@ SpeciesItemBoost: ; 353d1
|
|||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
jr z, .CompareSpecies
|
jr z, .CompareSpecies
|
||||||
ld a, [TempEnemyMonSpecies]
|
ld a, [TempEnemyMonSpecies]
|
||||||
.CompareSpecies
|
.CompareSpecies:
|
||||||
pop hl
|
pop hl
|
||||||
|
|
||||||
cp b
|
cp b
|
||||||
@ -3054,7 +3056,7 @@ SpeciesItemBoost: ; 353d1
|
|||||||
cp c
|
cp c
|
||||||
ret nz
|
ret nz
|
||||||
|
|
||||||
.GetItemHeldEffect
|
.GetItemHeldEffect:
|
||||||
push hl
|
push hl
|
||||||
call GetUserItem
|
call GetUserItem
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
@ -3108,7 +3110,7 @@ EnemyAttackDamage: ; 353f6
|
|||||||
ld hl, EnemyStats
|
ld hl, EnemyStats
|
||||||
jr .thickclub
|
jr .thickclub
|
||||||
|
|
||||||
.Special
|
.Special:
|
||||||
ld hl, BattleMonSpclDef
|
ld hl, BattleMonSpclDef
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
ld b, a
|
ld b, a
|
||||||
@ -3335,7 +3337,7 @@ BattleCommand_BeatUp: ; 35461
|
|||||||
; 355b0
|
; 355b0
|
||||||
|
|
||||||
|
|
||||||
.beatup_fail: ; 355b0
|
.beatup_fail ; 355b0
|
||||||
ld b, buildopponentrage_command
|
ld b, buildopponentrage_command
|
||||||
jp SkipToBattleCommand
|
jp SkipToBattleCommand
|
||||||
|
|
||||||
@ -3515,7 +3517,7 @@ BattleCommand_DamageCalc: ; 35612
|
|||||||
|
|
||||||
ld hl, TypeBoostItems
|
ld hl, TypeBoostItems
|
||||||
|
|
||||||
.NextItem
|
.NextItem:
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
cp $ff
|
cp $ff
|
||||||
jr z, .DoneItem
|
jr z, .DoneItem
|
||||||
@ -3543,7 +3545,7 @@ BattleCommand_DamageCalc: ; 35612
|
|||||||
ld [hDivisor], a
|
ld [hDivisor], a
|
||||||
ld b, 4
|
ld b, 4
|
||||||
call Divide
|
call Divide
|
||||||
.DoneItem
|
.DoneItem:
|
||||||
|
|
||||||
; Critical hits
|
; Critical hits
|
||||||
call .CriticalMultiplier
|
call .CriticalMultiplier
|
||||||
@ -3607,7 +3609,7 @@ BattleCommand_DamageCalc: ; 35612
|
|||||||
cp 998 % $100
|
cp 998 % $100
|
||||||
jr c, .dont_cap_3
|
jr c, .dont_cap_3
|
||||||
|
|
||||||
.Cap
|
.Cap:
|
||||||
ld a, 997 / $100
|
ld a, 997 / $100
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
ld a, 997 % $100
|
ld a, 997 % $100
|
||||||
@ -3629,7 +3631,7 @@ BattleCommand_DamageCalc: ; 35612
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
.CriticalMultiplier
|
.CriticalMultiplier:
|
||||||
ld a, [CriticalHit]
|
ld a, [CriticalHit]
|
||||||
and a
|
and a
|
||||||
ret z
|
ret z
|
||||||
@ -3835,7 +3837,7 @@ BattleCommand_ConstantDamage: ; 35726
|
|||||||
ld [hl], 1
|
ld [hl], 1
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.FlailPower
|
.FlailPower:
|
||||||
; px, bp
|
; px, bp
|
||||||
db 1, 200
|
db 1, 200
|
||||||
db 4, 150
|
db 4, 150
|
||||||
@ -4068,7 +4070,7 @@ BattleCommand_PainSplit: ; 35926
|
|||||||
ld hl, SharedPainText
|
ld hl, SharedPainText
|
||||||
jp StdBattleTextBox
|
jp StdBattleTextBox
|
||||||
|
|
||||||
.PlayerShareHP
|
.PlayerShareHP:
|
||||||
ld a, [hld]
|
ld a, [hld]
|
||||||
ld [Buffer1], a
|
ld [Buffer1], a
|
||||||
ld a, [hld]
|
ld a, [hld]
|
||||||
@ -4125,7 +4127,7 @@ endr
|
|||||||
|
|
||||||
; 359cd
|
; 359cd
|
||||||
|
|
||||||
.ButItFailed
|
.ButItFailed:
|
||||||
jp PrintDidntAffect2
|
jp PrintDidntAffect2
|
||||||
|
|
||||||
; 359d0
|
; 359d0
|
||||||
@ -5186,7 +5188,7 @@ BattleCommand_Poison: ; 35f2c
|
|||||||
; 35fc0
|
; 35fc0
|
||||||
|
|
||||||
|
|
||||||
.apply_poison: ; 35fc0
|
.apply_poison ; 35fc0
|
||||||
call AnimateCurrentMove
|
call AnimateCurrentMove
|
||||||
call PoisonOpponent
|
call PoisonOpponent
|
||||||
jp RefreshBattleHuds
|
jp RefreshBattleHuds
|
||||||
@ -5194,7 +5196,7 @@ BattleCommand_Poison: ; 35f2c
|
|||||||
; 35fc9
|
; 35fc9
|
||||||
|
|
||||||
|
|
||||||
.check_toxic: ; 35fc9
|
.check_toxic ; 35fc9
|
||||||
ld a, BATTLE_VARS_SUBSTATUS5_OPP
|
ld a, BATTLE_VARS_SUBSTATUS5_OPP
|
||||||
call GetBattleVarAddr
|
call GetBattleVarAddr
|
||||||
ld a, [hBattleTurn]
|
ld a, [hBattleTurn]
|
||||||
@ -5669,14 +5671,14 @@ CheckIfStatCanBeRaised: ; 361ef
|
|||||||
; 3626e
|
; 3626e
|
||||||
|
|
||||||
|
|
||||||
.stats_already_max: ; 3626e
|
.stats_already_max ; 3626e
|
||||||
pop hl
|
pop hl
|
||||||
dec [hl]
|
dec [hl]
|
||||||
; fallthrough
|
; fallthrough
|
||||||
; 36270
|
; 36270
|
||||||
|
|
||||||
|
|
||||||
.cant_raise_stat: ; 36270
|
.cant_raise_stat ; 36270
|
||||||
ld a, $2
|
ld a, $2
|
||||||
ld [FailedMessage], a
|
ld [FailedMessage], a
|
||||||
ld a, $1
|
ld a, $1
|
||||||
@ -5686,7 +5688,7 @@ CheckIfStatCanBeRaised: ; 361ef
|
|||||||
; 3627b
|
; 3627b
|
||||||
|
|
||||||
|
|
||||||
.stat_raise_failed: ; 3627b
|
.stat_raise_failed ; 3627b
|
||||||
ld a, $1
|
ld a, $1
|
||||||
ld [FailedMessage], a
|
ld [FailedMessage], a
|
||||||
ret
|
ret
|
||||||
@ -5805,7 +5807,7 @@ BattleCommand_StatDown: ; 362e3
|
|||||||
jr z, .GetStatLevel
|
jr z, .GetStatLevel
|
||||||
ld hl, PlayerStatLevels
|
ld hl, PlayerStatLevels
|
||||||
|
|
||||||
.GetStatLevel
|
.GetStatLevel:
|
||||||
; Attempt to lower the stat.
|
; Attempt to lower the stat.
|
||||||
ld a, [LoweredStat]
|
ld a, [LoweredStat]
|
||||||
and $f
|
and $f
|
||||||
@ -5824,7 +5826,7 @@ BattleCommand_StatDown: ; 362e3
|
|||||||
jr nz, .ComputerMiss
|
jr nz, .ComputerMiss
|
||||||
inc b
|
inc b
|
||||||
|
|
||||||
.ComputerMiss
|
.ComputerMiss:
|
||||||
; Computer opponents have a 1/4 chance of failing.
|
; Computer opponents have a 1/4 chance of failing.
|
||||||
ld a, [hBattleTurn]
|
ld a, [hBattleTurn]
|
||||||
and a
|
and a
|
||||||
@ -5853,7 +5855,7 @@ BattleCommand_StatDown: ; 362e3
|
|||||||
cp $40
|
cp $40
|
||||||
jr c, .Failed
|
jr c, .Failed
|
||||||
|
|
||||||
.DidntMiss
|
.DidntMiss:
|
||||||
call CheckSubstituteOpp
|
call CheckSubstituteOpp
|
||||||
jr nz, .Failed
|
jr nz, .Failed
|
||||||
|
|
||||||
@ -5887,27 +5889,27 @@ BattleCommand_StatDown: ; 362e3
|
|||||||
pop hl
|
pop hl
|
||||||
jr z, .CouldntLower
|
jr z, .CouldntLower
|
||||||
|
|
||||||
.Hit
|
.Hit:
|
||||||
xor a
|
xor a
|
||||||
ld [FailedMessage], a
|
ld [FailedMessage], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.CouldntLower
|
.CouldntLower:
|
||||||
inc [hl]
|
inc [hl]
|
||||||
.CantLower
|
.CantLower:
|
||||||
ld a, 3
|
ld a, 3
|
||||||
ld [FailedMessage], a
|
ld [FailedMessage], a
|
||||||
ld a, 1
|
ld a, 1
|
||||||
ld [AttackMissed], a
|
ld [AttackMissed], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.Failed
|
.Failed:
|
||||||
ld a, 1
|
ld a, 1
|
||||||
ld [FailedMessage], a
|
ld [FailedMessage], a
|
||||||
ld [AttackMissed], a
|
ld [AttackMissed], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.Mist
|
.Mist:
|
||||||
ld a, 2
|
ld a, 2
|
||||||
ld [FailedMessage], a
|
ld [FailedMessage], a
|
||||||
ld a, 1
|
ld a, 1
|
||||||
@ -6044,7 +6046,7 @@ TryLowerStat: ; 3641a
|
|||||||
call BattleCommand_SwitchTurn
|
call BattleCommand_SwitchTurn
|
||||||
jr .end
|
jr .end
|
||||||
|
|
||||||
.Player
|
.Player:
|
||||||
call BattleCommand_SwitchTurn
|
call BattleCommand_SwitchTurn
|
||||||
call CalcEnemyStats
|
call CalcEnemyStats
|
||||||
call BattleCommand_SwitchTurn
|
call BattleCommand_SwitchTurn
|
||||||
@ -6104,16 +6106,16 @@ BattleCommand_StatDownFailText: ; 3646a
|
|||||||
GetStatName: ; 3648f
|
GetStatName: ; 3648f
|
||||||
ld hl, .names
|
ld hl, .names
|
||||||
ld c, "@"
|
ld c, "@"
|
||||||
.CheckName
|
.CheckName:
|
||||||
dec b
|
dec b
|
||||||
jr z, .Copy
|
jr z, .Copy
|
||||||
.GetName
|
.GetName:
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
cp c
|
cp c
|
||||||
jr z, .CheckName
|
jr z, .CheckName
|
||||||
jr .GetName
|
jr .GetName
|
||||||
|
|
||||||
.Copy
|
.Copy:
|
||||||
ld de, StringBuffer2
|
ld de, StringBuffer2
|
||||||
ld bc, StringBuffer3 - StringBuffer2
|
ld bc, StringBuffer3 - StringBuffer2
|
||||||
jp CopyBytes
|
jp CopyBytes
|
||||||
@ -6299,7 +6301,7 @@ BattleCommand_RaiseSubNoAnim: ; 365af
|
|||||||
and a
|
and a
|
||||||
jr z, .PlayerTurn
|
jr z, .PlayerTurn
|
||||||
ld hl, GetMonFrontpic
|
ld hl, GetMonFrontpic
|
||||||
.PlayerTurn
|
.PlayerTurn:
|
||||||
xor a
|
xor a
|
||||||
ld [hBGMapMode], a
|
ld [hBGMapMode], a
|
||||||
call CallBattleCore
|
call CallBattleCore
|
||||||
@ -6314,7 +6316,7 @@ BattleCommand_LowerSubNoAnim: ; 365c3
|
|||||||
and a
|
and a
|
||||||
jr z, .PlayerTurn
|
jr z, .PlayerTurn
|
||||||
ld hl, DropEnemySub
|
ld hl, DropEnemySub
|
||||||
.PlayerTurn
|
.PlayerTurn:
|
||||||
xor a
|
xor a
|
||||||
ld [hBGMapMode], a
|
ld [hBGMapMode], a
|
||||||
call CallBattleCore
|
call CallBattleCore
|
||||||
@ -7351,7 +7353,7 @@ BattleCommand_Charge: ; 36b4d
|
|||||||
jp z, SkipToBattleCommand
|
jp z, SkipToBattleCommand
|
||||||
jp EndMoveEffect
|
jp EndMoveEffect
|
||||||
|
|
||||||
.UsedText
|
.UsedText:
|
||||||
text_jump UnknownText_0x1c0d0e ; "[USER]"
|
text_jump UnknownText_0x1c0d0e ; "[USER]"
|
||||||
start_asm
|
start_asm
|
||||||
ld a, BATTLE_VARS_MOVE_ANIM
|
ld a, BATTLE_VARS_MOVE_ANIM
|
||||||
@ -7382,32 +7384,32 @@ BattleCommand_Charge: ; 36b4d
|
|||||||
.done
|
.done
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.RazorWind
|
.RazorWind:
|
||||||
; 'made a whirlwind!'
|
; 'made a whirlwind!'
|
||||||
text_jump UnknownText_0x1c0d12
|
text_jump UnknownText_0x1c0d12
|
||||||
db "@"
|
db "@"
|
||||||
|
|
||||||
.Solarbeam
|
.Solarbeam:
|
||||||
; 'took in sunlight!'
|
; 'took in sunlight!'
|
||||||
text_jump UnknownText_0x1c0d26
|
text_jump UnknownText_0x1c0d26
|
||||||
db "@"
|
db "@"
|
||||||
|
|
||||||
.SkullBash
|
.SkullBash:
|
||||||
; 'lowered its head!'
|
; 'lowered its head!'
|
||||||
text_jump UnknownText_0x1c0d3a
|
text_jump UnknownText_0x1c0d3a
|
||||||
db "@"
|
db "@"
|
||||||
|
|
||||||
.SkyAttack
|
.SkyAttack:
|
||||||
; 'is glowing!'
|
; 'is glowing!'
|
||||||
text_jump UnknownText_0x1c0d4e
|
text_jump UnknownText_0x1c0d4e
|
||||||
db "@"
|
db "@"
|
||||||
|
|
||||||
.Fly
|
.Fly:
|
||||||
; 'flew up high!'
|
; 'flew up high!'
|
||||||
text_jump UnknownText_0x1c0d5c
|
text_jump UnknownText_0x1c0d5c
|
||||||
db "@"
|
db "@"
|
||||||
|
|
||||||
.Dig
|
.Dig:
|
||||||
; 'dug a hole!'
|
; 'dug a hole!'
|
||||||
text_jump UnknownText_0x1c0d6c
|
text_jump UnknownText_0x1c0d6c
|
||||||
db "@"
|
db "@"
|
||||||
@ -7469,7 +7471,7 @@ endr
|
|||||||
ld l, a
|
ld l, a
|
||||||
jp StdBattleTextBox
|
jp StdBattleTextBox
|
||||||
|
|
||||||
.Traps
|
.Traps:
|
||||||
dbw BIND, UsedBindText ; 'used BIND on'
|
dbw BIND, UsedBindText ; 'used BIND on'
|
||||||
dbw WRAP, WrappedByText ; 'was WRAPPED by'
|
dbw WRAP, WrappedByText ; 'was WRAPPED by'
|
||||||
dbw FIRE_SPIN, FireSpinTrapText ; 'was trapped!'
|
dbw FIRE_SPIN, FireSpinTrapText ; 'was trapped!'
|
||||||
@ -7871,7 +7873,7 @@ BattleCommand_Substitute: ; 36e7c
|
|||||||
ld [hl], a
|
ld [hl], a
|
||||||
ld [de], a
|
ld [de], a
|
||||||
call _CheckBattleScene
|
call _CheckBattleScene
|
||||||
jr c, .mobile
|
jr c, .no_anim
|
||||||
|
|
||||||
xor a
|
xor a
|
||||||
ld [wNumHits], a
|
ld [wNumHits], a
|
||||||
@ -7881,7 +7883,7 @@ BattleCommand_Substitute: ; 36e7c
|
|||||||
call LoadAnim
|
call LoadAnim
|
||||||
jr .finish
|
jr .finish
|
||||||
|
|
||||||
.mobile
|
.no_anim
|
||||||
call BattleCommand_RaiseSubNoAnim
|
call BattleCommand_RaiseSubNoAnim
|
||||||
.finish
|
.finish
|
||||||
ld hl, MadeSubstituteText
|
ld hl, MadeSubstituteText
|
||||||
@ -8309,7 +8311,7 @@ BattleCommand_ResetStats: ; 3710e
|
|||||||
ld hl, EliminatedStatsText
|
ld hl, EliminatedStatsText
|
||||||
jp StdBattleTextBox
|
jp StdBattleTextBox
|
||||||
|
|
||||||
.Fill
|
.Fill:
|
||||||
ld b, PlayerStatLevelsEnd - PlayerStatLevels
|
ld b, PlayerStatLevelsEnd - PlayerStatLevels
|
||||||
.next
|
.next
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
@ -8490,7 +8492,7 @@ BattleCommand_Screen: ; 372fc
|
|||||||
ld hl, LightScreenEffectText
|
ld hl, LightScreenEffectText
|
||||||
jr .good
|
jr .good
|
||||||
|
|
||||||
.Reflect
|
.Reflect:
|
||||||
bit SCREENS_REFLECT, [hl]
|
bit SCREENS_REFLECT, [hl]
|
||||||
jr nz, .failed
|
jr nz, .failed
|
||||||
set SCREENS_REFLECT, [hl]
|
set SCREENS_REFLECT, [hl]
|
||||||
@ -8991,7 +8993,7 @@ BattleCommand_GetMagnitude: ; 37991
|
|||||||
pop bc
|
pop bc
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.Magnitudes
|
.Magnitudes:
|
||||||
; /255, BP, magnitude
|
; /255, BP, magnitude
|
||||||
db 13, 10, 4
|
db 13, 10, 4
|
||||||
db 38, 30, 5
|
db 38, 30, 5
|
||||||
@ -9051,7 +9053,7 @@ BattleCommand_BatonPass: ; 379c9
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
.Enemy
|
.Enemy:
|
||||||
|
|
||||||
; Wildmons don't have anything to switch to
|
; Wildmons don't have anything to switch to
|
||||||
ld a, [wBattleMode]
|
ld a, [wBattleMode]
|
||||||
@ -9366,7 +9368,7 @@ BattleCommand_TimeBasedHealContinue: ; 37b7e
|
|||||||
jr z, .Weather
|
jr z, .Weather
|
||||||
dec c ; double
|
dec c ; double
|
||||||
|
|
||||||
.Weather
|
.Weather:
|
||||||
ld a, [Weather]
|
ld a, [Weather]
|
||||||
and a
|
and a
|
||||||
jr z, .Heal
|
jr z, .Heal
|
||||||
@ -9379,7 +9381,7 @@ BattleCommand_TimeBasedHealContinue: ; 37b7e
|
|||||||
dec c
|
dec c
|
||||||
dec c
|
dec c
|
||||||
|
|
||||||
.Heal
|
.Heal:
|
||||||
ld b, 0
|
ld b, 0
|
||||||
ld hl, .Multipliers
|
ld hl, .Multipliers
|
||||||
add hl, bc
|
add hl, bc
|
||||||
@ -9403,14 +9405,14 @@ BattleCommand_TimeBasedHealContinue: ; 37b7e
|
|||||||
ld hl, RegainedHealthText
|
ld hl, RegainedHealthText
|
||||||
jp StdBattleTextBox
|
jp StdBattleTextBox
|
||||||
|
|
||||||
.Full
|
.Full:
|
||||||
call AnimateFailedMove
|
call AnimateFailedMove
|
||||||
|
|
||||||
; 'hp is full!'
|
; 'hp is full!'
|
||||||
ld hl, HPIsFullText
|
ld hl, HPIsFullText
|
||||||
jp StdBattleTextBox
|
jp StdBattleTextBox
|
||||||
|
|
||||||
.Multipliers
|
.Multipliers:
|
||||||
dw GetEighthMaxHP
|
dw GetEighthMaxHP
|
||||||
dw GetQuarterMaxHP
|
dw GetQuarterMaxHP
|
||||||
dw GetHalfMaxHP
|
dw GetHalfMaxHP
|
||||||
@ -9689,13 +9691,13 @@ BattleCommand_FutureSight: ; 37d34
|
|||||||
ld a, BATTLE_VARS_LAST_MOVE
|
ld a, BATTLE_VARS_LAST_MOVE
|
||||||
call GetBattleVarAddr
|
call GetBattleVarAddr
|
||||||
ld [hl], b
|
ld [hl], b
|
||||||
.AlreadyChargingFutureSight
|
.AlreadyChargingFutureSight:
|
||||||
ld hl, wPlayerFutureSightCount
|
ld hl, wPlayerFutureSightCount
|
||||||
ld a, [hBattleTurn]
|
ld a, [hBattleTurn]
|
||||||
and a
|
and a
|
||||||
jr z, .GotFutureSightCount
|
jr z, .GotFutureSightCount
|
||||||
ld hl, wEnemyFutureSightCount
|
ld hl, wEnemyFutureSightCount
|
||||||
.GotFutureSightCount
|
.GotFutureSightCount:
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
and a
|
and a
|
||||||
jr nz, .failed
|
jr nz, .failed
|
||||||
@ -9711,7 +9713,7 @@ BattleCommand_FutureSight: ; 37d34
|
|||||||
and a
|
and a
|
||||||
jr z, .StoreDamage
|
jr z, .StoreDamage
|
||||||
ld de, wEnemyFutureSightDamage
|
ld de, wEnemyFutureSightDamage
|
||||||
.StoreDamage
|
.StoreDamage:
|
||||||
ld hl, CurDamage
|
ld hl, CurDamage
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
ld [de], a
|
ld [de], a
|
||||||
|
@ -14,7 +14,7 @@ BattleCommand_Metronome: ; 37418
|
|||||||
.asm_3742b
|
.asm_3742b
|
||||||
call LoadMoveAnim
|
call LoadMoveAnim
|
||||||
|
|
||||||
.GetMove
|
.GetMove:
|
||||||
call BattleRandom
|
call BattleRandom
|
||||||
|
|
||||||
; No invalid moves.
|
; No invalid moves.
|
||||||
|
@ -85,7 +85,7 @@ BattleCommand_Present: ; 37874
|
|||||||
.do_animation
|
.do_animation
|
||||||
jp EndMoveEffect
|
jp EndMoveEffect
|
||||||
|
|
||||||
.PresentPower
|
.PresentPower:
|
||||||
db 40 percent, 40
|
db 40 percent, 40
|
||||||
db 70 percent + 1, 80
|
db 70 percent + 1, 80
|
||||||
db 80 percent, 120
|
db 80 percent, 120
|
||||||
|
@ -58,7 +58,7 @@ DoWeatherModifiers: ; fbda4
|
|||||||
ld a, [wd265] ; move type
|
ld a, [wd265] ; move type
|
||||||
ld c, a
|
ld c, a
|
||||||
|
|
||||||
.CheckWeatherType
|
.CheckWeatherType:
|
||||||
ld a, [de]
|
ld a, [de]
|
||||||
inc de
|
inc de
|
||||||
cp $ff
|
cp $ff
|
||||||
@ -71,7 +71,7 @@ DoWeatherModifiers: ; fbda4
|
|||||||
cp c
|
cp c
|
||||||
jr z, .ApplyModifier
|
jr z, .ApplyModifier
|
||||||
|
|
||||||
.NextWeatherType
|
.NextWeatherType:
|
||||||
rept 2
|
rept 2
|
||||||
inc de
|
inc de
|
||||||
endr
|
endr
|
||||||
@ -85,7 +85,7 @@ endr
|
|||||||
call GetBattleVar
|
call GetBattleVar
|
||||||
ld c, a
|
ld c, a
|
||||||
|
|
||||||
.CheckWeatherMove
|
.CheckWeatherMove:
|
||||||
ld a, [de]
|
ld a, [de]
|
||||||
inc de
|
inc de
|
||||||
cp $ff
|
cp $ff
|
||||||
@ -98,13 +98,13 @@ endr
|
|||||||
cp c
|
cp c
|
||||||
jr z, .ApplyModifier
|
jr z, .ApplyModifier
|
||||||
|
|
||||||
.NextWeatherMove
|
.NextWeatherMove:
|
||||||
rept 2
|
rept 2
|
||||||
inc de
|
inc de
|
||||||
endr
|
endr
|
||||||
jr .CheckWeatherMove
|
jr .CheckWeatherMove
|
||||||
|
|
||||||
.ApplyModifier
|
.ApplyModifier:
|
||||||
xor a
|
xor a
|
||||||
ld [hMultiplicand + 0], a
|
ld [hMultiplicand + 0], a
|
||||||
ld hl, CurDamage
|
ld hl, CurDamage
|
||||||
@ -138,7 +138,7 @@ endr
|
|||||||
|
|
||||||
ld bc, 1
|
ld bc, 1
|
||||||
|
|
||||||
.Update
|
.Update:
|
||||||
ld a, b
|
ld a, b
|
||||||
ld [CurDamage], a
|
ld [CurDamage], a
|
||||||
ld a, c
|
ld a, c
|
||||||
@ -147,14 +147,14 @@ endr
|
|||||||
.done
|
.done
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.WeatherTypeModifiers
|
.WeatherTypeModifiers:
|
||||||
db WEATHER_RAIN, WATER, 15
|
db WEATHER_RAIN, WATER, 15
|
||||||
db WEATHER_RAIN, FIRE, 05
|
db WEATHER_RAIN, FIRE, 05
|
||||||
db WEATHER_SUN, FIRE, 15
|
db WEATHER_SUN, FIRE, 15
|
||||||
db WEATHER_SUN, WATER, 05
|
db WEATHER_SUN, WATER, 05
|
||||||
db $ff
|
db $ff
|
||||||
|
|
||||||
.WeatherMoveModifiers
|
.WeatherMoveModifiers:
|
||||||
db WEATHER_RAIN, EFFECT_SOLARBEAM, 05
|
db WEATHER_RAIN, EFFECT_SOLARBEAM, 05
|
||||||
db $ff
|
db $ff
|
||||||
; fbe24
|
; fbe24
|
||||||
@ -183,7 +183,7 @@ DoBadgeTypeBoosts: ; fbe24
|
|||||||
ld a, [JohtoBadges]
|
ld a, [JohtoBadges]
|
||||||
ld c, a
|
ld c, a
|
||||||
|
|
||||||
.CheckBadge
|
.CheckBadge:
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
cp $ff
|
cp $ff
|
||||||
jr z, .done
|
jr z, .done
|
||||||
@ -196,11 +196,11 @@ DoBadgeTypeBoosts: ; fbe24
|
|||||||
cp [hl]
|
cp [hl]
|
||||||
jr z, .ApplyBoost
|
jr z, .ApplyBoost
|
||||||
|
|
||||||
.NextBadge
|
.NextBadge:
|
||||||
inc hl
|
inc hl
|
||||||
jr .CheckBadge
|
jr .CheckBadge
|
||||||
|
|
||||||
.ApplyBoost
|
.ApplyBoost:
|
||||||
ld a, [CurDamage]
|
ld a, [CurDamage]
|
||||||
ld h, a
|
ld h, a
|
||||||
ld d, a
|
ld d, a
|
||||||
@ -226,7 +226,7 @@ DoBadgeTypeBoosts: ; fbe24
|
|||||||
|
|
||||||
ld hl, $ffff
|
ld hl, $ffff
|
||||||
|
|
||||||
.Update
|
.Update:
|
||||||
ld a, h
|
ld a, h
|
||||||
ld [CurDamage], a
|
ld [CurDamage], a
|
||||||
ld a, l
|
ld a, l
|
||||||
@ -237,7 +237,7 @@ DoBadgeTypeBoosts: ; fbe24
|
|||||||
pop de
|
pop de
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.BadgeTypes
|
.BadgeTypes:
|
||||||
db FLYING ; zephyrbadge
|
db FLYING ; zephyrbadge
|
||||||
db BUG ; hivebadge
|
db BUG ; hivebadge
|
||||||
db NORMAL ; plainbadge
|
db NORMAL ; plainbadge
|
||||||
|
@ -2095,7 +2095,7 @@ FutureSight:
|
|||||||
damagestats
|
damagestats
|
||||||
damagecalc
|
damagecalc
|
||||||
futuresight
|
futuresight
|
||||||
damagevariation
|
damagevariation ; skip here if last turn
|
||||||
checkhit
|
checkhit
|
||||||
hittargetnosub
|
hittargetnosub
|
||||||
failuretext
|
failuretext
|
||||||
|
@ -156,7 +156,7 @@ endm
|
|||||||
; ANIM_OBJ_31
|
; ANIM_OBJ_31
|
||||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_36, BATTLEANIMFUNC_00, $03, $05
|
battleanimobj $21, $90, BATTLEANIMFRAMESET_36, BATTLEANIMFUNC_00, $03, $05
|
||||||
|
|
||||||
; ANIM_OBJ_32
|
; ANIM_OBJ_LIGHTNING_BOLT
|
||||||
battleanimobj $21, $90, BATTLEANIMFRAMESET_37, BATTLEANIMFUNC_03, $02, $08
|
battleanimobj $21, $90, BATTLEANIMFRAMESET_37, BATTLEANIMFUNC_03, $02, $08
|
||||||
|
|
||||||
; ANIM_OBJ_33
|
; ANIM_OBJ_33
|
||||||
@ -336,10 +336,10 @@ endm
|
|||||||
; ANIM_OBJ_6D
|
; ANIM_OBJ_6D
|
||||||
battleanimobj $01, $88, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, $03, $11
|
battleanimobj $01, $88, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, $03, $11
|
||||||
|
|
||||||
; ANIM_OBJ_6E
|
; ANIM_OBJ_SKY_ATTACK_FEAROW
|
||||||
battleanimobj $21, $88, BATTLEANIMFRAMESET_7B, BATTLEANIMFUNC_32, $02, $20
|
battleanimobj $21, $88, BATTLEANIMFRAMESET_7B, BATTLEANIMFUNC_32, $02, $20
|
||||||
|
|
||||||
; ANIM_OBJ_6F
|
; ANIM_OBJ_LICK
|
||||||
battleanimobj $21, $98, BATTLEANIMFRAMESET_7C, BATTLEANIMFUNC_00, $02, $04
|
battleanimobj $21, $98, BATTLEANIMFRAMESET_7C, BATTLEANIMFUNC_00, $02, $04
|
||||||
|
|
||||||
; ANIM_OBJ_70
|
; ANIM_OBJ_70
|
||||||
@ -432,7 +432,7 @@ endm
|
|||||||
; ANIM_OBJ_8D
|
; ANIM_OBJ_8D
|
||||||
battleanimobj $21, $a0, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_35, $04, $19
|
battleanimobj $21, $a0, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_35, $04, $19
|
||||||
|
|
||||||
; ANIM_OBJ_8E
|
; ANIM_OBJ_SPIKES
|
||||||
battleanimobj $21, $70, BATTLEANIMFRAMESET_8B, BATTLEANIMFUNC_3F, $02, $1f
|
battleanimobj $21, $70, BATTLEANIMFRAMESET_8B, BATTLEANIMFUNC_3F, $02, $1f
|
||||||
|
|
||||||
; ANIM_OBJ_8F
|
; ANIM_OBJ_8F
|
||||||
@ -504,7 +504,7 @@ endm
|
|||||||
; ANIM_OBJ_A5
|
; ANIM_OBJ_A5
|
||||||
battleanimobj $61, $90, BATTLEANIMFRAMESET_A9, BATTLEANIMFUNC_46, $02, $23
|
battleanimobj $61, $90, BATTLEANIMFRAMESET_A9, BATTLEANIMFUNC_46, $02, $23
|
||||||
|
|
||||||
; ANIM_OBJ_A6
|
; ANIM_OBJ_PERISH_SONG
|
||||||
battleanimobj $00, $00, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_47, $02, $0e
|
battleanimobj $00, $00, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_47, $02, $0e
|
||||||
|
|
||||||
; ANIM_OBJ_A7
|
; ANIM_OBJ_A7
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -12,7 +12,7 @@ DoBattleAnimFrame: ; ccfbe
|
|||||||
jp [hl]
|
jp [hl]
|
||||||
; ccfce
|
; ccfce
|
||||||
|
|
||||||
.Jumptable
|
.Jumptable:
|
||||||
dw BattleAnimFunction_00 ; 00
|
dw BattleAnimFunction_00 ; 00
|
||||||
dw BattleAnimFunction_01 ; 01
|
dw BattleAnimFunction_01 ; 01
|
||||||
dw BattleAnimFunction_02 ; 02
|
dw BattleAnimFunction_02 ; 02
|
||||||
@ -425,7 +425,7 @@ GetBallAnimPal: ; cd249 (33:5249)
|
|||||||
ld e, a
|
ld e, a
|
||||||
pop af
|
pop af
|
||||||
ld [rSVBK], a
|
ld [rSVBK], a
|
||||||
.IsInArray
|
.IsInArray:
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
cp -1
|
cp -1
|
||||||
jr z, .load
|
jr z, .load
|
||||||
@ -634,7 +634,7 @@ BattleAnimFunction_08: ; cd306 (33:5306)
|
|||||||
call .SetCoords
|
call .SetCoords
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.SetCoords
|
.SetCoords:
|
||||||
ld hl, BATTLEANIMSTRUCT_0B
|
ld hl, BATTLEANIMSTRUCT_0B
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
@ -4100,7 +4100,7 @@ BattleAnim_Sine: ; ce734 (33:6734)
|
|||||||
inc a
|
inc a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.ApplySineWave
|
.ApplySineWave:
|
||||||
ld e, a
|
ld e, a
|
||||||
ld a, d
|
ld a, d
|
||||||
ld d, 0
|
ld d, 0
|
||||||
|
@ -2,51 +2,51 @@
|
|||||||
AnimObjGFX: ; cfcf6
|
AnimObjGFX: ; cfcf6
|
||||||
|
|
||||||
object_gfx: MACRO
|
object_gfx: MACRO
|
||||||
; label, # tiles
|
; # tiles, label
|
||||||
db \1
|
db \1
|
||||||
dba \2
|
dba \2
|
||||||
ENDM
|
ENDM
|
||||||
|
|
||||||
object_gfx 0, AnimObj00GFX
|
object_gfx 0, AnimObj00GFX
|
||||||
object_gfx 21, AnimObj01GFX
|
object_gfx 21, AnimObjHitGFX
|
||||||
object_gfx 6, AnimObj02GFX
|
object_gfx 6, AnimObjCutGFX
|
||||||
object_gfx 6, AnimObj03GFX
|
object_gfx 6, AnimObjFireGFX
|
||||||
object_gfx 20, AnimObj04GFX
|
object_gfx 20, AnimObjWaterGFX
|
||||||
object_gfx 26, AnimObj05GFX
|
object_gfx 26, AnimObjLightningGFX
|
||||||
object_gfx 18, AnimObj06GFX
|
object_gfx 18, AnimObjPlantGFX
|
||||||
object_gfx 12, AnimObj07GFX
|
object_gfx 12, AnimObjSmokeGFX
|
||||||
object_gfx 9, AnimObj08GFX
|
object_gfx 9, AnimObjExplosionGFX
|
||||||
object_gfx 17, AnimObj09GFX
|
object_gfx 17, AnimObjRocksGFX
|
||||||
object_gfx 6, AnimObj10GFX
|
object_gfx 6, AnimObjIceGFX
|
||||||
object_gfx 10, AnimObj11GFX
|
object_gfx 10, AnimObjPokeBallGFX
|
||||||
object_gfx 9, AnimObj12GFX
|
object_gfx 9, AnimObjPoisonGFX
|
||||||
object_gfx 13, AnimObj13GFX
|
object_gfx 13, AnimObjBubbleGFX
|
||||||
object_gfx 16, AnimObj14GFX
|
object_gfx 16, AnimObjNoiseGFX
|
||||||
object_gfx 2, AnimObj15GFX
|
object_gfx 2, AnimObjPowderGFX
|
||||||
object_gfx 11, AnimObj16GFX
|
object_gfx 11, AnimObjBeamGFX
|
||||||
object_gfx 9, AnimObj17GFX
|
object_gfx 9, AnimObjSpeedGFX
|
||||||
object_gfx 9, AnimObj18GFX
|
object_gfx 9, AnimObjChargeGFX
|
||||||
object_gfx 19, AnimObj19GFX
|
object_gfx 19, AnimObjWindGFX
|
||||||
object_gfx 10, AnimObj20GFX
|
object_gfx 10, AnimObjWhipGFX
|
||||||
object_gfx 12, AnimObj21GFX
|
object_gfx 12, AnimObjEggGFX
|
||||||
object_gfx 18, AnimObj22GFX
|
object_gfx 18, AnimObjRopeGFX
|
||||||
object_gfx 13, AnimObj23GFX
|
object_gfx 13, AnimObjPsychicGFX
|
||||||
object_gfx 10, AnimObj24GFX
|
object_gfx 10, AnimObjReflectGFX
|
||||||
object_gfx 27, AnimObj25GFX
|
object_gfx 27, AnimObjStatusGFX
|
||||||
object_gfx 12, AnimObj26GFX
|
object_gfx 12, AnimObjSandGFX
|
||||||
object_gfx 14, AnimObj27GFX
|
object_gfx 14, AnimObjWebGFX
|
||||||
object_gfx 16, AnimObj28GFX
|
object_gfx 16, AnimObjHazeGFX
|
||||||
object_gfx 7, AnimObj29GFX
|
object_gfx 7, AnimObjHornGFX
|
||||||
object_gfx 8, AnimObj30GFX
|
object_gfx 8, AnimObjFlowerGFX
|
||||||
object_gfx 40, AnimObj31GFX
|
object_gfx 40, AnimObjMiscGFX
|
||||||
object_gfx 36, AnimObj32GFX
|
object_gfx 36, AnimObjSkyAttackGFX
|
||||||
object_gfx 16, AnimObj33GFX
|
object_gfx 16, AnimObjGlobeGFX
|
||||||
object_gfx 48, AnimObj34GFX
|
object_gfx 48, AnimObjShapesGFX
|
||||||
object_gfx 18, AnimObj35GFX
|
object_gfx 18, AnimObjObjectsGFX
|
||||||
object_gfx 38, AnimObj36GFX
|
object_gfx 38, AnimObjShineGFX
|
||||||
object_gfx 35, AnimObj37GFX
|
object_gfx 35, AnimObjAngelsGFX
|
||||||
object_gfx 18, AnimObj38GFX
|
object_gfx 18, AnimObjWaveGFX
|
||||||
object_gfx 24, AnimObj39GFX
|
object_gfx 24, AnimObjAeroblastGFX
|
||||||
object_gfx 1, NULL
|
object_gfx 1, NULL
|
||||||
object_gfx 1, NULL
|
object_gfx 1, NULL
|
||||||
; cfd9e
|
; cfd9e
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -14,7 +14,7 @@ BattleIntroSlidingPics: ; 4e980
|
|||||||
ret
|
ret
|
||||||
; 4e998
|
; 4e998
|
||||||
|
|
||||||
.subfunction1: ; 4e998
|
.subfunction1 ; 4e998
|
||||||
call .subfunction4
|
call .subfunction4
|
||||||
ld a, $90
|
ld a, $90
|
||||||
ld [hSCX], a
|
ld [hSCX], a
|
||||||
@ -25,7 +25,7 @@ BattleIntroSlidingPics: ; 4e980
|
|||||||
ret
|
ret
|
||||||
; 4e9ab
|
; 4e9ab
|
||||||
|
|
||||||
.subfunction2: ; 4e9ab
|
.subfunction2 ; 4e9ab
|
||||||
ld d, $90
|
ld d, $90
|
||||||
ld e, $72
|
ld e, $72
|
||||||
ld a, $48
|
ld a, $48
|
||||||
@ -61,7 +61,7 @@ endr
|
|||||||
ret
|
ret
|
||||||
; 4e9d6
|
; 4e9d6
|
||||||
|
|
||||||
.subfunction3: ; 4e9d6
|
.subfunction3 ; 4e9d6
|
||||||
ld hl, Sprites + 1 ; x pixel
|
ld hl, Sprites + 1 ; x pixel
|
||||||
ld c, $12 ; 18
|
ld c, $12 ; 18
|
||||||
ld de, $4
|
ld de, $4
|
||||||
@ -75,7 +75,7 @@ endr
|
|||||||
ret
|
ret
|
||||||
; 4e9e5
|
; 4e9e5
|
||||||
|
|
||||||
.subfunction4: ; 4e9e5
|
.subfunction4 ; 4e9e5
|
||||||
ld hl, LYOverrides
|
ld hl, LYOverrides
|
||||||
ld a, $90
|
ld a, $90
|
||||||
ld bc, SCREEN_HEIGHT_PX
|
ld bc, SCREEN_HEIGHT_PX
|
||||||
@ -83,7 +83,7 @@ endr
|
|||||||
ret
|
ret
|
||||||
; 4e9f1
|
; 4e9f1
|
||||||
|
|
||||||
.subfunction5: ; 4e9f1
|
.subfunction5 ; 4e9f1
|
||||||
ld hl, LYOverrides
|
ld hl, LYOverrides
|
||||||
ld a, d
|
ld a, d
|
||||||
ld c, $3e ; 62
|
ld c, $3e ; 62
|
||||||
|
@ -238,7 +238,7 @@ LoadBallIconGFX: ; 2c165
|
|||||||
ret
|
ret
|
||||||
; 2c172
|
; 2c172
|
||||||
|
|
||||||
.gfx: ; 2c172
|
.gfx ; 2c172
|
||||||
INCBIN "gfx/battle/balls.2bpp"
|
INCBIN "gfx/battle/balls.2bpp"
|
||||||
; 2c1b2
|
; 2c1b2
|
||||||
|
|
||||||
|
@ -82,10 +82,10 @@ UsedMoveText_CheckObedience: ; 105e10
|
|||||||
ret
|
ret
|
||||||
; 105e1a
|
; 105e1a
|
||||||
|
|
||||||
.UsedInsteadText
|
.UsedInsteadText:
|
||||||
text_jump _UsedInsteadText
|
text_jump _UsedInsteadText
|
||||||
start_asm
|
start_asm
|
||||||
.GetMoveNameText
|
.GetMoveNameText:
|
||||||
ld hl, MoveNameText
|
ld hl, MoveNameText
|
||||||
ret
|
ret
|
||||||
; 105e23
|
; 105e23
|
||||||
|
@ -76,7 +76,7 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value
|
|||||||
const ANIM_OBJ_2F
|
const ANIM_OBJ_2F
|
||||||
const ANIM_OBJ_30
|
const ANIM_OBJ_30
|
||||||
const ANIM_OBJ_31
|
const ANIM_OBJ_31
|
||||||
const ANIM_OBJ_32
|
const ANIM_OBJ_LIGHTNING_BOLT
|
||||||
const ANIM_OBJ_33
|
const ANIM_OBJ_33
|
||||||
const ANIM_OBJ_34
|
const ANIM_OBJ_34
|
||||||
const ANIM_OBJ_35
|
const ANIM_OBJ_35
|
||||||
@ -136,8 +136,8 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value
|
|||||||
const ANIM_OBJ_6B
|
const ANIM_OBJ_6B
|
||||||
const ANIM_OBJ_6C
|
const ANIM_OBJ_6C
|
||||||
const ANIM_OBJ_6D
|
const ANIM_OBJ_6D
|
||||||
const ANIM_OBJ_6E
|
const ANIM_OBJ_SKY_ATTACK_FEAROW
|
||||||
const ANIM_OBJ_6F
|
const ANIM_OBJ_LICK
|
||||||
const ANIM_OBJ_70
|
const ANIM_OBJ_70
|
||||||
const ANIM_OBJ_71
|
const ANIM_OBJ_71
|
||||||
const ANIM_OBJ_72
|
const ANIM_OBJ_72
|
||||||
@ -168,7 +168,7 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value
|
|||||||
const ANIM_OBJ_8B
|
const ANIM_OBJ_8B
|
||||||
const ANIM_OBJ_8C
|
const ANIM_OBJ_8C
|
||||||
const ANIM_OBJ_8D
|
const ANIM_OBJ_8D
|
||||||
const ANIM_OBJ_8E
|
const ANIM_OBJ_SPIKES
|
||||||
const ANIM_OBJ_8F
|
const ANIM_OBJ_8F
|
||||||
const ANIM_OBJ_90
|
const ANIM_OBJ_90
|
||||||
const ANIM_OBJ_91
|
const ANIM_OBJ_91
|
||||||
@ -192,7 +192,7 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value
|
|||||||
const ANIM_OBJ_A3
|
const ANIM_OBJ_A3
|
||||||
const ANIM_OBJ_A4
|
const ANIM_OBJ_A4
|
||||||
const ANIM_OBJ_A5
|
const ANIM_OBJ_A5
|
||||||
const ANIM_OBJ_A6
|
const ANIM_OBJ_PERISH_SONG
|
||||||
const ANIM_OBJ_A7
|
const ANIM_OBJ_A7
|
||||||
const ANIM_OBJ_A8
|
const ANIM_OBJ_A8
|
||||||
const ANIM_OBJ_A9
|
const ANIM_OBJ_A9
|
||||||
@ -742,7 +742,7 @@ const_value SET 1
|
|||||||
const ANIM_BG_25
|
const ANIM_BG_25
|
||||||
const ANIM_BG_26
|
const ANIM_BG_26
|
||||||
const ANIM_BG_27
|
const ANIM_BG_27
|
||||||
const ANIM_BG_28
|
const ANIM_BG_WAVE_DEFORM_USER
|
||||||
const ANIM_BG_PSYCHIC
|
const ANIM_BG_PSYCHIC
|
||||||
const ANIM_BG_2A
|
const ANIM_BG_2A
|
||||||
const ANIM_BG_2B
|
const ANIM_BG_2B
|
||||||
@ -768,6 +768,47 @@ const_value SET 1
|
|||||||
const ANIM_MON_EGG1 ; 7
|
const ANIM_MON_EGG1 ; 7
|
||||||
const ANIM_MON_EGG2 ; 8
|
const ANIM_MON_EGG2 ; 8
|
||||||
|
|
||||||
|
const_value SET 1
|
||||||
|
const ANIM_GFX_HIT
|
||||||
|
const ANIM_GFX_CUT
|
||||||
|
const ANIM_GFX_FIRE
|
||||||
|
const ANIM_GFX_WATER
|
||||||
|
const ANIM_GFX_LIGHTNING
|
||||||
|
const ANIM_GFX_PLANT
|
||||||
|
const ANIM_GFX_SMOKE
|
||||||
|
const ANIM_GFX_EXPLOSION
|
||||||
|
const ANIM_GFX_ROCKS
|
||||||
|
const ANIM_GFX_ICE
|
||||||
|
const ANIM_GFX_POKE_BALL
|
||||||
|
const ANIM_GFX_POISON
|
||||||
|
const ANIM_GFX_BUBBLE
|
||||||
|
const ANIM_GFX_NOISE
|
||||||
|
const ANIM_GFX_POWDER
|
||||||
|
const ANIM_GFX_BEAM
|
||||||
|
const ANIM_GFX_SPEED
|
||||||
|
const ANIM_GFX_CHARGE
|
||||||
|
const ANIM_GFX_WIND
|
||||||
|
const ANIM_GFX_WHIP
|
||||||
|
const ANIM_GFX_EGG
|
||||||
|
const ANIM_GFX_ROPE
|
||||||
|
const ANIM_GFX_PSYCHIC
|
||||||
|
const ANIM_GFX_REFLECT
|
||||||
|
const ANIM_GFX_STATUS
|
||||||
|
const ANIM_GFX_SAND
|
||||||
|
const ANIM_GFX_WEB
|
||||||
|
const ANIM_GFX_HAZE
|
||||||
|
const ANIM_GFX_HORN
|
||||||
|
const ANIM_GFX_FLOWER
|
||||||
|
const ANIM_GFX_MISC
|
||||||
|
const ANIM_GFX_SKY_ATTACK
|
||||||
|
const ANIM_GFX_GLOBE
|
||||||
|
const ANIM_GFX_SHAPES
|
||||||
|
const ANIM_GFX_OBJECTS
|
||||||
|
const ANIM_GFX_SHINE
|
||||||
|
const ANIM_GFX_ANGELS
|
||||||
|
const ANIM_GFX_WAVE
|
||||||
|
const ANIM_GFX_AEROBLAST
|
||||||
|
|
||||||
const_def
|
const_def
|
||||||
const BG_EFFECT_STRUCT_FUNCTION
|
const BG_EFFECT_STRUCT_FUNCTION
|
||||||
const BG_EFFECT_STRUCT_JT_INDEX
|
const BG_EFFECT_STRUCT_JT_INDEX
|
||||||
|
@ -19,8 +19,8 @@
|
|||||||
const BATTLETOWERACTION_11 ; store 0 in 5:aa8d
|
const BATTLETOWERACTION_11 ; store 0 in 5:aa8d
|
||||||
const BATTLETOWERACTION_12 ; store 1 in 5:aa8d
|
const BATTLETOWERACTION_12 ; store 1 in 5:aa8d
|
||||||
const BATTLETOWERACTION_13 ; check 5:aa8d
|
const BATTLETOWERACTION_13 ; check 5:aa8d
|
||||||
const BATTLETOWERACTION_14 ; if save file is yours: bit 0, [sbe4f]
|
const BATTLETOWERACTION_14 ; if save file is yours: bit 0, [s1_be4f]
|
||||||
const BATTLETOWERACTION_15 ; set 0, [sbe4f]
|
const BATTLETOWERACTION_15 ; set 0, [s1_be4f]
|
||||||
const BATTLETOWERACTION_16 ; update time in SRAM bank 5
|
const BATTLETOWERACTION_16 ; update time in SRAM bank 5
|
||||||
const BATTLETOWERACTION_17 ; check time in SRAM bank 5
|
const BATTLETOWERACTION_17 ; check time in SRAM bank 5
|
||||||
const BATTLETOWERACTION_18 ; level check
|
const BATTLETOWERACTION_18 ; level check
|
||||||
|
@ -1232,7 +1232,7 @@
|
|||||||
const EVENT_BEAT_BLACKBELT_LUNG
|
const EVENT_BEAT_BLACKBELT_LUNG
|
||||||
const EVENT_BEAT_BLACKBELT_KENJI
|
const EVENT_BEAT_BLACKBELT_KENJI
|
||||||
const EVENT_BEAT_BLACKBELT_WAI
|
const EVENT_BEAT_BLACKBELT_WAI
|
||||||
; Beauti
|
; Beauty
|
||||||
const EVENT_BEAT_BEAUTY_VICTORIA
|
const EVENT_BEAT_BEAUTY_VICTORIA
|
||||||
const EVENT_BEAT_BEAUTY_SAMANTHA
|
const EVENT_BEAT_BEAUTY_SAMANTHA
|
||||||
const EVENT_BEAT_BEAUTY_JULIE
|
const EVENT_BEAT_BEAUTY_JULIE
|
||||||
|
@ -1,45 +1,3 @@
|
|||||||
const_value SET 1
|
|
||||||
const ANIM_GFX_HIT
|
|
||||||
const ANIM_GFX_CUT
|
|
||||||
const ANIM_GFX_FIRE
|
|
||||||
const ANIM_GFX_WATER
|
|
||||||
const ANIM_GFX_LIGHTNING
|
|
||||||
const ANIM_GFX_PLANT
|
|
||||||
const ANIM_GFX_SMOKE
|
|
||||||
const ANIM_GFX_EXPLOSION
|
|
||||||
const ANIM_GFX_ROCKS
|
|
||||||
const ANIM_GFX_ICE
|
|
||||||
const ANIM_GFX_POKE_BALL
|
|
||||||
const ANIM_GFX_POISON
|
|
||||||
const ANIM_GFX_BUBBLE
|
|
||||||
const ANIM_GFX_NOISE
|
|
||||||
const ANIM_GFX_POWDER
|
|
||||||
const ANIM_GFX_BEAM
|
|
||||||
const ANIM_GFX_SPEED
|
|
||||||
const ANIM_GFX_CHARGE
|
|
||||||
const ANIM_GFX_WIND
|
|
||||||
const ANIM_GFX_WHIP
|
|
||||||
const ANIM_GFX_EGG
|
|
||||||
const ANIM_GFX_ROPE
|
|
||||||
const ANIM_GFX_PSYCHIC
|
|
||||||
const ANIM_GFX_REFLECT
|
|
||||||
const ANIM_GFX_STATUS
|
|
||||||
const ANIM_GFX_SAND
|
|
||||||
const ANIM_GFX_WEB
|
|
||||||
const ANIM_GFX_HAZE
|
|
||||||
const ANIM_GFX_HORN
|
|
||||||
const ANIM_GFX_FLOWER
|
|
||||||
const ANIM_GFX_MISC
|
|
||||||
const ANIM_GFX_SKY_ATTACK
|
|
||||||
const ANIM_GFX_GLOBE
|
|
||||||
const ANIM_GFX_SHAPES
|
|
||||||
const ANIM_GFX_OBJECTS
|
|
||||||
const ANIM_GFX_SHINE
|
|
||||||
const ANIM_GFX_ANGELS
|
|
||||||
const ANIM_GFX_WAVE
|
|
||||||
const ANIM_GFX_AEROBLAST
|
|
||||||
|
|
||||||
|
|
||||||
LEN_2BPP_TILE EQU 16
|
LEN_2BPP_TILE EQU 16
|
||||||
LEN_1BPP_TILE EQU 8
|
LEN_1BPP_TILE EQU 8
|
||||||
TILES_PER_FRAME EQU 6
|
TILES_PER_FRAME EQU 6
|
||||||
|
@ -707,3 +707,5 @@ CMDQUEUE_04 EQU 4
|
|||||||
CMDQUEUE_05 EQU 5
|
CMDQUEUE_05 EQU 5
|
||||||
CMDQUEUE_ENTRY_SIZE EQU 6
|
CMDQUEUE_ENTRY_SIZE EQU 6
|
||||||
CMDQUEUE_CAPACITY EQU 4
|
CMDQUEUE_CAPACITY EQU 4
|
||||||
|
|
||||||
|
CMDQUEUE_STONETABLE EQU 2
|
||||||
|
@ -19,7 +19,7 @@ const_value SET 1
|
|||||||
const MAPCALLBACK_SPRITES
|
const MAPCALLBACK_SPRITES
|
||||||
const MAPCALLBACK_NEWMAP
|
const MAPCALLBACK_NEWMAP
|
||||||
|
|
||||||
; Command descriptions from Condensation water's scripting compendium. const_def
|
; Command descriptions from Condensation water's scripting compendium.
|
||||||
const_def
|
const_def
|
||||||
|
|
||||||
const map_lcd_on ; 00
|
const map_lcd_on ; 00
|
||||||
|
@ -172,7 +172,7 @@ const_value = 1
|
|||||||
const HAPPINESS_REVIVALHERB ; 11
|
const HAPPINESS_REVIVALHERB ; 11
|
||||||
const HAPPINESS_MASSAGE ; 12
|
const HAPPINESS_MASSAGE ; 12
|
||||||
const HAPPINESS_GAINLEVELATHOME ; 13
|
const HAPPINESS_GAINLEVELATHOME ; 13
|
||||||
|
|
||||||
|
|
||||||
const_def
|
const_def
|
||||||
const LINK_NULL
|
const LINK_NULL
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
const_def
|
const_def
|
||||||
const OAKS_POKEMON_TALK ; $00
|
const OAKS_POKEMON_TALK ; $00
|
||||||
const POKEDEX_SHOW ; $01
|
const POKEDEX_SHOW ; $01
|
||||||
const POKEMON_MUSIC ; $02
|
const POKEMON_MUSIC ; $02
|
||||||
const LUCKY_CHANNEL ; $03
|
const LUCKY_CHANNEL ; $03
|
||||||
const BUENAS_PASSWORD ; $04
|
const BUENAS_PASSWORD ; $04
|
||||||
|
@ -7,7 +7,7 @@ CHRIS EQU __enum__
|
|||||||
const PHONECONTACT_BILL
|
const PHONECONTACT_BILL
|
||||||
const PHONECONTACT_ELM
|
const PHONECONTACT_ELM
|
||||||
const PHONECONTACT_BUENA
|
const PHONECONTACT_BUENA
|
||||||
|
|
||||||
KRIS EQU __enum__
|
KRIS EQU __enum__
|
||||||
trainerclass FALKNER ; 1
|
trainerclass FALKNER ; 1
|
||||||
|
|
||||||
|
@ -3,19 +3,19 @@ Function_LoadOpponentTrainerAndPokemons: ; 1f8000
|
|||||||
push af
|
push af
|
||||||
ld a, BANK(BT_OTTrainer)
|
ld a, BANK(BT_OTTrainer)
|
||||||
ld [rSVBK], a
|
ld [rSVBK], a
|
||||||
|
|
||||||
; Fill BT_OTTrainer with zeros
|
; Fill BT_OTTrainer with zeros
|
||||||
xor a
|
xor a
|
||||||
ld hl, BT_OTTrainer
|
ld hl, BT_OTTrainer
|
||||||
ld bc, BT_OTTrainerEnd - BT_OTTrainer
|
ld bc, BT_OTTrainerEnd - BT_OTTrainer
|
||||||
call ByteFill
|
call ByteFill
|
||||||
|
|
||||||
; Write $ff into the Item-Slots
|
; Write $ff into the Item-Slots
|
||||||
ld a, $ff
|
ld a, $ff
|
||||||
ld [BT_OTPkmn1Item], a
|
ld [BT_OTPkmn1Item], a
|
||||||
ld [BT_OTPkmn2Item], a
|
ld [BT_OTPkmn2Item], a
|
||||||
ld [BT_OTPkmn3Item], a
|
ld [BT_OTPkmn3Item], a
|
||||||
|
|
||||||
; Set BT_OTTrainer as start address to write the following data to
|
; Set BT_OTTrainer as start address to write the following data to
|
||||||
ld de, BT_OTTrainer
|
ld de, BT_OTTrainer
|
||||||
|
|
||||||
@ -97,7 +97,7 @@ Function_LoadRandomBattleTowerPkmn: ; 1f8081
|
|||||||
ld a, BANK(sBTPkmnPrevTrainer1)
|
ld a, BANK(sBTPkmnPrevTrainer1)
|
||||||
call GetSRAMBank
|
call GetSRAMBank
|
||||||
|
|
||||||
.FindARandomBattleTowerPkmn
|
.FindARandomBattleTowerPkmn:
|
||||||
; From Which LevelGroup are the Pkmn loaded
|
; From Which LevelGroup are the Pkmn loaded
|
||||||
; a = 1..10
|
; a = 1..10
|
||||||
ld a, [wBTChoiceOfLvlGroup] ; [$d800]
|
ld a, [wBTChoiceOfLvlGroup] ; [$d800]
|
||||||
|
@ -91,10 +91,10 @@ GiveOddEgg: ; 1fb4b6
|
|||||||
ret
|
ret
|
||||||
; 1fb546
|
; 1fb546
|
||||||
|
|
||||||
.Odd
|
.Odd:
|
||||||
db "ODD@@@@@@@@@"
|
db "ODD@@@@@@@@@"
|
||||||
|
|
||||||
.Probabilities
|
.Probabilities:
|
||||||
|
|
||||||
prob: MACRO
|
prob: MACRO
|
||||||
prob_total = prob_total + (\1)
|
prob_total = prob_total + (\1)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; BulbasaurPokedexEntry: ; 0x181695
|
; BulbasaurPokedexEntry: ; 0x181695
|
||||||
db "SEED@" ; species name
|
db "SEED@" ; species name
|
||||||
dw 204, 150 ; height, width
|
dw 204, 150 ; height, width
|
||||||
|
|
||||||
db "While it is young,"
|
db "While it is young,"
|
||||||
next "it uses the"
|
next "it uses the"
|
||||||
next "nutrients that are"
|
next "nutrients that are"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; IvysaurPokedexEntry: ; 0x181702
|
; IvysaurPokedexEntry: ; 0x181702
|
||||||
db "SEED@" ; species name
|
db "SEED@" ; species name
|
||||||
dw 303, 290 ; height, width
|
dw 303, 290 ; height, width
|
||||||
|
|
||||||
db "The bulb on its"
|
db "The bulb on its"
|
||||||
next "back grows as it"
|
next "back grows as it"
|
||||||
next "absorbs nutrients."
|
next "absorbs nutrients."
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; VenusaurPokedexEntry: ; 0x181773
|
; VenusaurPokedexEntry: ; 0x181773
|
||||||
db "SEED@" ; species name
|
db "SEED@" ; species name
|
||||||
dw 607, 2210 ; height, width
|
dw 607, 2210 ; height, width
|
||||||
|
|
||||||
db "As it warms it-"
|
db "As it warms it-"
|
||||||
next "self and absorbs"
|
next "self and absorbs"
|
||||||
next "the sunlight, its"
|
next "the sunlight, its"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; CharmanderPokedexEntry: ; 0x1817db
|
; CharmanderPokedexEntry: ; 0x1817db
|
||||||
db "LIZARD@" ; species name
|
db "LIZARD@" ; species name
|
||||||
dw 200, 190 ; height, width
|
dw 200, 190 ; height, width
|
||||||
|
|
||||||
db "If it's healthy,"
|
db "If it's healthy,"
|
||||||
next "the flame on the"
|
next "the flame on the"
|
||||||
next "tip of its tail"
|
next "tip of its tail"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; CharmeleonPokedexEntry: ; 0x18184a
|
; CharmeleonPokedexEntry: ; 0x18184a
|
||||||
db "FLAME@" ; species name
|
db "FLAME@" ; species name
|
||||||
dw 307, 420 ; height, width
|
dw 307, 420 ; height, width
|
||||||
|
|
||||||
db "If it becomes"
|
db "If it becomes"
|
||||||
next "agitated during"
|
next "agitated during"
|
||||||
next "battle, it spouts"
|
next "battle, it spouts"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; CharizardPokedexEntry: ; 0x1818b3
|
; CharizardPokedexEntry: ; 0x1818b3
|
||||||
db "FLAME@" ; species name
|
db "FLAME@" ; species name
|
||||||
dw 507, 2000 ; height, width
|
dw 507, 2000 ; height, width
|
||||||
|
|
||||||
db "It uses its wings"
|
db "It uses its wings"
|
||||||
next "to fly high. The"
|
next "to fly high. The"
|
||||||
next "temperature of its"
|
next "temperature of its"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; SquirtlePokedexEntry: ; 0x181926
|
; SquirtlePokedexEntry: ; 0x181926
|
||||||
db "TINYTURTLE@" ; species name
|
db "TINYTURTLE@" ; species name
|
||||||
dw 108, 200 ; height, width
|
dw 108, 200 ; height, width
|
||||||
|
|
||||||
db "When it feels"
|
db "When it feels"
|
||||||
next "threatened, it"
|
next "threatened, it"
|
||||||
next "draws its legs"
|
next "draws its legs"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; WartortlePokedexEntry: ; 0x181993
|
; WartortlePokedexEntry: ; 0x181993
|
||||||
db "TURTLE@" ; species name
|
db "TURTLE@" ; species name
|
||||||
dw 303, 500 ; height, width
|
dw 303, 500 ; height, width
|
||||||
|
|
||||||
db "Its long, furry"
|
db "Its long, furry"
|
||||||
next "tail is a symbol"
|
next "tail is a symbol"
|
||||||
next "of longevity,"
|
next "of longevity,"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; BlastoisePokedexEntry: ; 0x1819f9
|
; BlastoisePokedexEntry: ; 0x1819f9
|
||||||
db "SHELLFISH@" ; species name
|
db "SHELLFISH@" ; species name
|
||||||
dw 503, 1890 ; height, width
|
dw 503, 1890 ; height, width
|
||||||
|
|
||||||
db "It firmly plants"
|
db "It firmly plants"
|
||||||
next "its feet on the"
|
next "its feet on the"
|
||||||
next "ground before"
|
next "ground before"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; CaterpiePokedexEntry: ; 0x181a60
|
; CaterpiePokedexEntry: ; 0x181a60
|
||||||
db "WORM@" ; species name
|
db "WORM@" ; species name
|
||||||
dw 100, 60 ; height, width
|
dw 100, 60 ; height, width
|
||||||
|
|
||||||
db "It crawls into"
|
db "It crawls into"
|
||||||
next "foliage where it"
|
next "foliage where it"
|
||||||
next "camouflages itself"
|
next "camouflages itself"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; MetapodPokedexEntry: ; 0x181ace
|
; MetapodPokedexEntry: ; 0x181ace
|
||||||
db "COCOON@" ; species name
|
db "COCOON@" ; species name
|
||||||
dw 204, 220 ; height, width
|
dw 204, 220 ; height, width
|
||||||
|
|
||||||
db "This is its pre-"
|
db "This is its pre-"
|
||||||
next "evolved form. At"
|
next "evolved form. At"
|
||||||
next "this stage, it can"
|
next "this stage, it can"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; ButterfreePokedexEntry: ; 0x181b45
|
; ButterfreePokedexEntry: ; 0x181b45
|
||||||
db "BUTTERFLY@" ; species name
|
db "BUTTERFLY@" ; species name
|
||||||
dw 307, 710 ; height, width
|
dw 307, 710 ; height, width
|
||||||
|
|
||||||
db "It flits from"
|
db "It flits from"
|
||||||
next "flower to flower,"
|
next "flower to flower,"
|
||||||
next "collecting honey."
|
next "collecting honey."
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; WeedlePokedexEntry: ; 0x181bb4
|
; WeedlePokedexEntry: ; 0x181bb4
|
||||||
db "HAIRY BUG@" ; species name
|
db "HAIRY BUG@" ; species name
|
||||||
dw 100, 70 ; height, width
|
dw 100, 70 ; height, width
|
||||||
|
|
||||||
db "The barb on top of"
|
db "The barb on top of"
|
||||||
next "its head secretes"
|
next "its head secretes"
|
||||||
next "a strong poison."
|
next "a strong poison."
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; KakunaPokedexEntry: ; 0x181c23
|
; KakunaPokedexEntry: ; 0x181c23
|
||||||
db "COCOON@" ; species name
|
db "COCOON@" ; species name
|
||||||
dw 200, 220 ; height, width
|
dw 200, 220 ; height, width
|
||||||
|
|
||||||
db "Nearly incapable"
|
db "Nearly incapable"
|
||||||
next "of movement, it"
|
next "of movement, it"
|
||||||
next "leans against"
|
next "leans against"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; BeedrillPokedexEntry: ; 0x181c8a
|
; BeedrillPokedexEntry: ; 0x181c8a
|
||||||
db "POISON BEE@" ; species name
|
db "POISON BEE@" ; species name
|
||||||
dw 303, 650 ; height, width
|
dw 303, 650 ; height, width
|
||||||
|
|
||||||
db "It uses sharp,"
|
db "It uses sharp,"
|
||||||
next "poisonous stings"
|
next "poisonous stings"
|
||||||
next "to defeat prey,"
|
next "to defeat prey,"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; PidgeyPokedexEntry: ; 0x181cfa
|
; PidgeyPokedexEntry: ; 0x181cfa
|
||||||
db "TINY BIRD@" ; species name
|
db "TINY BIRD@" ; species name
|
||||||
dw 100, 40 ; height, width
|
dw 100, 40 ; height, width
|
||||||
|
|
||||||
db "It rapidly flaps"
|
db "It rapidly flaps"
|
||||||
next "its wings in the"
|
next "its wings in the"
|
||||||
next "grass, stirring up"
|
next "grass, stirring up"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; PidgeottoPokedexEntry: ; 0x181d75
|
; PidgeottoPokedexEntry: ; 0x181d75
|
||||||
db "BIRD@" ; species name
|
db "BIRD@" ; species name
|
||||||
dw 307, 660 ; height, width
|
dw 307, 660 ; height, width
|
||||||
|
|
||||||
db "It slowly flies in"
|
db "It slowly flies in"
|
||||||
next "a circular pat-"
|
next "a circular pat-"
|
||||||
next "tern, all the"
|
next "tern, all the"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; PidgeotPokedexEntry: ; 0x181dd7
|
; PidgeotPokedexEntry: ; 0x181dd7
|
||||||
db "BIRD@" ; species name
|
db "BIRD@" ; species name
|
||||||
dw 411, 870 ; height, width
|
dw 411, 870 ; height, width
|
||||||
|
|
||||||
db "Its outstanding"
|
db "Its outstanding"
|
||||||
next "vision allows it"
|
next "vision allows it"
|
||||||
next "to spot splashing"
|
next "to spot splashing"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; RattataPokedexEntry: ; 0x181e3d
|
; RattataPokedexEntry: ; 0x181e3d
|
||||||
db "RAT@" ; species name
|
db "RAT@" ; species name
|
||||||
dw 100, 80 ; height, width
|
dw 100, 80 ; height, width
|
||||||
|
|
||||||
db "This #MON's"
|
db "This #MON's"
|
||||||
next "impressive vital-"
|
next "impressive vital-"
|
||||||
next "ity allows it to"
|
next "ity allows it to"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; RaticatePokedexEntry: ; 0x181ea3
|
; RaticatePokedexEntry: ; 0x181ea3
|
||||||
db "RAT@" ; species name
|
db "RAT@" ; species name
|
||||||
dw 204, 410 ; height, width
|
dw 204, 410 ; height, width
|
||||||
|
|
||||||
db "The webs on its"
|
db "The webs on its"
|
||||||
next "hind legs enable"
|
next "hind legs enable"
|
||||||
next "it to cross"
|
next "it to cross"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; SpearowPokedexEntry: ; 0x181f03
|
; SpearowPokedexEntry: ; 0x181f03
|
||||||
db "TINY BIRD@" ; species name
|
db "TINY BIRD@" ; species name
|
||||||
dw 100, 40 ; height, width
|
dw 100, 40 ; height, width
|
||||||
|
|
||||||
db "To protect its"
|
db "To protect its"
|
||||||
next "territory, it"
|
next "territory, it"
|
||||||
next "flies around"
|
next "flies around"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; FearowPokedexEntry: ; 0x181f64
|
; FearowPokedexEntry: ; 0x181f64
|
||||||
db "BEAK@" ; species name
|
db "BEAK@" ; species name
|
||||||
dw 311, 840 ; height, width
|
dw 311, 840 ; height, width
|
||||||
|
|
||||||
db "It uses its long"
|
db "It uses its long"
|
||||||
next "beak to attack. It"
|
next "beak to attack. It"
|
||||||
next "has a surprisingly"
|
next "has a surprisingly"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; EkansPokedexEntry: ; 0x181fd4
|
; EkansPokedexEntry: ; 0x181fd4
|
||||||
db "SNAKE@" ; species name
|
db "SNAKE@" ; species name
|
||||||
dw 607, 150 ; height, width
|
dw 607, 150 ; height, width
|
||||||
|
|
||||||
db "It flutters the"
|
db "It flutters the"
|
||||||
next "tip of its tongue"
|
next "tip of its tongue"
|
||||||
next "to seek out the"
|
next "to seek out the"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; ArbokPokedexEntry: ; 0x18203d
|
; ArbokPokedexEntry: ; 0x18203d
|
||||||
db "COBRA@" ; species name
|
db "COBRA@" ; species name
|
||||||
dw 1106, 1430 ; height, width
|
dw 1106, 1430 ; height, width
|
||||||
|
|
||||||
db "To intimidate"
|
db "To intimidate"
|
||||||
next "foes, it spreads"
|
next "foes, it spreads"
|
||||||
next "its chest wide and"
|
next "its chest wide and"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; PikachuPokedexEntry: ; 0x1820ad
|
; PikachuPokedexEntry: ; 0x1820ad
|
||||||
db "MOUSE@" ; species name
|
db "MOUSE@" ; species name
|
||||||
dw 104, 130 ; height, width
|
dw 104, 130 ; height, width
|
||||||
|
|
||||||
db "When it is anger-"
|
db "When it is anger-"
|
||||||
next "ed, it immediately"
|
next "ed, it immediately"
|
||||||
next "discharges the"
|
next "discharges the"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; RaichuPokedexEntry: ; 0x182117
|
; RaichuPokedexEntry: ; 0x182117
|
||||||
db "MOUSE@" ; species name
|
db "MOUSE@" ; species name
|
||||||
dw 207, 660 ; height, width
|
dw 207, 660 ; height, width
|
||||||
|
|
||||||
db "If its electric"
|
db "If its electric"
|
||||||
next "pouches run empty,"
|
next "pouches run empty,"
|
||||||
next "it raises its tail"
|
next "it raises its tail"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; SandshrewPokedexEntry: ; 0x182184
|
; SandshrewPokedexEntry: ; 0x182184
|
||||||
db "MOUSE@" ; species name
|
db "MOUSE@" ; species name
|
||||||
dw 200, 260 ; height, width
|
dw 200, 260 ; height, width
|
||||||
|
|
||||||
db "It prefers dry,"
|
db "It prefers dry,"
|
||||||
next "sandy places"
|
next "sandy places"
|
||||||
next "because it uses"
|
next "because it uses"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; SandslashPokedexEntry: ; 0x1821e7
|
; SandslashPokedexEntry: ; 0x1821e7
|
||||||
db "MOUSE@" ; species name
|
db "MOUSE@" ; species name
|
||||||
dw 303, 650 ; height, width
|
dw 303, 650 ; height, width
|
||||||
|
|
||||||
db "Adept at climbing"
|
db "Adept at climbing"
|
||||||
next "trees, it rolls"
|
next "trees, it rolls"
|
||||||
next "into a spiny ball,"
|
next "into a spiny ball,"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; NidoranFPokedexEntry: ; 0x18224b
|
; NidoranFPokedexEntry: ; 0x18224b
|
||||||
db "POISON PIN@" ; species name
|
db "POISON PIN@" ; species name
|
||||||
dw 104, 150 ; height, width
|
dw 104, 150 ; height, width
|
||||||
|
|
||||||
db "Small and very"
|
db "Small and very"
|
||||||
next "docile, it pro-"
|
next "docile, it pro-"
|
||||||
next "tects itself with"
|
next "tects itself with"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; NidorinaPokedexEntry: ; 0x1822b6
|
; NidorinaPokedexEntry: ; 0x1822b6
|
||||||
db "POISON PIN@" ; species name
|
db "POISON PIN@" ; species name
|
||||||
dw 207, 440 ; height, width
|
dw 207, 440 ; height, width
|
||||||
|
|
||||||
db "It has a docile"
|
db "It has a docile"
|
||||||
next "nature. If it is"
|
next "nature. If it is"
|
||||||
next "threatened with"
|
next "threatened with"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; NidoqueenPokedexEntry: ; 0x18232e
|
; NidoqueenPokedexEntry: ; 0x18232e
|
||||||
db "DRILL@" ; species name
|
db "DRILL@" ; species name
|
||||||
dw 403, 1320 ; height, width
|
dw 403, 1320 ; height, width
|
||||||
|
|
||||||
db "The hard scales"
|
db "The hard scales"
|
||||||
next "that cover its"
|
next "that cover its"
|
||||||
next "strong body serve"
|
next "strong body serve"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; NidoranMPokedexEntry: ; 0x182392
|
; NidoranMPokedexEntry: ; 0x182392
|
||||||
db "POISON PIN@" ; species name
|
db "POISON PIN@" ; species name
|
||||||
dw 108, 200 ; height, width
|
dw 108, 200 ; height, width
|
||||||
|
|
||||||
db "It constantly"
|
db "It constantly"
|
||||||
next "moves its large"
|
next "moves its large"
|
||||||
next "ears in many"
|
next "ears in many"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; NidorinoPokedexEntry: ; 0x1823fd
|
; NidorinoPokedexEntry: ; 0x1823fd
|
||||||
db "POISON PIN@" ; species name
|
db "POISON PIN@" ; species name
|
||||||
dw 211, 430 ; height, width
|
dw 211, 430 ; height, width
|
||||||
|
|
||||||
db "It is easily"
|
db "It is easily"
|
||||||
next "agitated and uses"
|
next "agitated and uses"
|
||||||
next "its horn for"
|
next "its horn for"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; NidokingPokedexEntry: ; 0x182463
|
; NidokingPokedexEntry: ; 0x182463
|
||||||
db "DRILL@" ; species name
|
db "DRILL@" ; species name
|
||||||
dw 407, 1370 ; height, width
|
dw 407, 1370 ; height, width
|
||||||
|
|
||||||
db "It uses its thick"
|
db "It uses its thick"
|
||||||
next "arms, legs and"
|
next "arms, legs and"
|
||||||
next "tail to attack"
|
next "tail to attack"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; ClefairyPokedexEntry: ; 0x1824c8
|
; ClefairyPokedexEntry: ; 0x1824c8
|
||||||
db "FAIRY@" ; species name
|
db "FAIRY@" ; species name
|
||||||
dw 200, 170 ; height, width
|
dw 200, 170 ; height, width
|
||||||
|
|
||||||
db "Though rarely"
|
db "Though rarely"
|
||||||
next "seen, it becomes"
|
next "seen, it becomes"
|
||||||
next "easier to spot,"
|
next "easier to spot,"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; ClefablePokedexEntry: ; 0x182530
|
; ClefablePokedexEntry: ; 0x182530
|
||||||
db "FAIRY@" ; species name
|
db "FAIRY@" ; species name
|
||||||
dw 403, 880 ; height, width
|
dw 403, 880 ; height, width
|
||||||
|
|
||||||
db "Said to live in"
|
db "Said to live in"
|
||||||
next "quiet, remote"
|
next "quiet, remote"
|
||||||
next "mountains, this"
|
next "mountains, this"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; VulpixPokedexEntry: ; 0x18259b
|
; VulpixPokedexEntry: ; 0x18259b
|
||||||
db "FOX@" ; species name
|
db "FOX@" ; species name
|
||||||
dw 200, 220 ; height, width
|
dw 200, 220 ; height, width
|
||||||
|
|
||||||
db "As its body grows"
|
db "As its body grows"
|
||||||
next "larger, its six"
|
next "larger, its six"
|
||||||
next "warm tails become"
|
next "warm tails become"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; NinetalesPokedexEntry: ; 0x18260c
|
; NinetalesPokedexEntry: ; 0x18260c
|
||||||
db "FOX@" ; species name
|
db "FOX@" ; species name
|
||||||
dw 307, 440 ; height, width
|
dw 307, 440 ; height, width
|
||||||
|
|
||||||
db "It is said to live"
|
db "It is said to live"
|
||||||
next "a thousand years,"
|
next "a thousand years,"
|
||||||
next "and each of its"
|
next "and each of its"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; JigglypuffPokedexEntry: ; 0x182673
|
; JigglypuffPokedexEntry: ; 0x182673
|
||||||
db "BALLOON@" ; species name
|
db "BALLOON@" ; species name
|
||||||
dw 108, 120 ; height, width
|
dw 108, 120 ; height, width
|
||||||
|
|
||||||
db "It rolls its cute"
|
db "It rolls its cute"
|
||||||
next "eyes as it sings a"
|
next "eyes as it sings a"
|
||||||
next "soothing lullaby."
|
next "soothing lullaby."
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; WigglytuffPokedexEntry: ; 0x1826e9
|
; WigglytuffPokedexEntry: ; 0x1826e9
|
||||||
db "BALLOON@" ; species name
|
db "BALLOON@" ; species name
|
||||||
dw 303, 260 ; height, width
|
dw 303, 260 ; height, width
|
||||||
|
|
||||||
db "The rich, fluffy"
|
db "The rich, fluffy"
|
||||||
next "fur that covers"
|
next "fur that covers"
|
||||||
next "its body feels so"
|
next "its body feels so"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; ZubatPokedexEntry: ; 0x18275d
|
; ZubatPokedexEntry: ; 0x18275d
|
||||||
db "BAT@" ; species name
|
db "BAT@" ; species name
|
||||||
dw 207, 170 ; height, width
|
dw 207, 170 ; height, width
|
||||||
|
|
||||||
db "During the day, it"
|
db "During the day, it"
|
||||||
next "gathers with"
|
next "gathers with"
|
||||||
next "others and hangs"
|
next "others and hangs"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; GolbatPokedexEntry: ; 0x1827c4
|
; GolbatPokedexEntry: ; 0x1827c4
|
||||||
db "BAT@" ; species name
|
db "BAT@" ; species name
|
||||||
dw 503, 1210 ; height, width
|
dw 503, 1210 ; height, width
|
||||||
|
|
||||||
db "When it plunges"
|
db "When it plunges"
|
||||||
next "its fangs into its"
|
next "its fangs into its"
|
||||||
next "prey, it instantly"
|
next "prey, it instantly"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; OddishPokedexEntry: ; 0x182836
|
; OddishPokedexEntry: ; 0x182836
|
||||||
db "WEED@" ; species name
|
db "WEED@" ; species name
|
||||||
dw 108, 120 ; height, width
|
dw 108, 120 ; height, width
|
||||||
|
|
||||||
db "During the day, it"
|
db "During the day, it"
|
||||||
next "stays in the cold"
|
next "stays in the cold"
|
||||||
next "underground to"
|
next "underground to"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; GloomPokedexEntry: ; 0x1828a6
|
; GloomPokedexEntry: ; 0x1828a6
|
||||||
db "WEED@" ; species name
|
db "WEED@" ; species name
|
||||||
dw 207, 190 ; height, width
|
dw 207, 190 ; height, width
|
||||||
|
|
||||||
db "The smell from its"
|
db "The smell from its"
|
||||||
next "drool-like syrup"
|
next "drool-like syrup"
|
||||||
next "and the pollen on"
|
next "and the pollen on"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; VileplumePokedexEntry: ; 0x182918
|
; VileplumePokedexEntry: ; 0x182918
|
||||||
db "FLOWER@" ; species name
|
db "FLOWER@" ; species name
|
||||||
dw 311, 410 ; height, width
|
dw 311, 410 ; height, width
|
||||||
|
|
||||||
db "By shaking its big"
|
db "By shaking its big"
|
||||||
next "petals, it scat-"
|
next "petals, it scat-"
|
||||||
next "ters toxic pollen"
|
next "ters toxic pollen"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; ParasPokedexEntry: ; 0x18297f
|
; ParasPokedexEntry: ; 0x18297f
|
||||||
db "MUSHROOM@" ; species name
|
db "MUSHROOM@" ; species name
|
||||||
dw 100, 120 ; height, width
|
dw 100, 120 ; height, width
|
||||||
|
|
||||||
db "The tochukaso"
|
db "The tochukaso"
|
||||||
next "growing on this"
|
next "growing on this"
|
||||||
next "#MON's back"
|
next "#MON's back"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; ParasectPokedexEntry: ; 0x1829e2
|
; ParasectPokedexEntry: ; 0x1829e2
|
||||||
db "MUSHROOM@" ; species name
|
db "MUSHROOM@" ; species name
|
||||||
dw 303, 650 ; height, width
|
dw 303, 650 ; height, width
|
||||||
|
|
||||||
db "When nothing's"
|
db "When nothing's"
|
||||||
next "left to extract"
|
next "left to extract"
|
||||||
next "from the bug, the"
|
next "from the bug, the"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; VenonatPokedexEntry: ; 0x182a53
|
; VenonatPokedexEntry: ; 0x182a53
|
||||||
db "INSECT@" ; species name
|
db "INSECT@" ; species name
|
||||||
dw 303, 660 ; height, width
|
dw 303, 660 ; height, width
|
||||||
|
|
||||||
db "The small bugs it"
|
db "The small bugs it"
|
||||||
next "eats appear only"
|
next "eats appear only"
|
||||||
next "at night, so it"
|
next "at night, so it"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; VenomothPokedexEntry: ; 0x182abf
|
; VenomothPokedexEntry: ; 0x182abf
|
||||||
db "POISONMOTH@" ; species name
|
db "POISONMOTH@" ; species name
|
||||||
dw 411, 280 ; height, width
|
dw 411, 280 ; height, width
|
||||||
|
|
||||||
db "The scales it"
|
db "The scales it"
|
||||||
next "scatters will"
|
next "scatters will"
|
||||||
next "paralyze anyone"
|
next "paralyze anyone"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; DiglettPokedexEntry: ; 0x182b30
|
; DiglettPokedexEntry: ; 0x182b30
|
||||||
db "MOLE@" ; species name
|
db "MOLE@" ; species name
|
||||||
dw 8, 20 ; height, width
|
dw 8, 20 ; height, width
|
||||||
|
|
||||||
db "It digs under-"
|
db "It digs under-"
|
||||||
next "ground and chews"
|
next "ground and chews"
|
||||||
next "on tree roots,"
|
next "on tree roots,"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; DugtrioPokedexEntry: ; 0x182b9d
|
; DugtrioPokedexEntry: ; 0x182b9d
|
||||||
db "MOLE@" ; species name
|
db "MOLE@" ; species name
|
||||||
dw 204, 730 ; height, width
|
dw 204, 730 ; height, width
|
||||||
|
|
||||||
db "These DIGLETT"
|
db "These DIGLETT"
|
||||||
next "triplets dig over"
|
next "triplets dig over"
|
||||||
next "60 miles below sea"
|
next "60 miles below sea"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; MeowthPokedexEntry: ; 0x182c08
|
; MeowthPokedexEntry: ; 0x182c08
|
||||||
db "SCRATCHCAT@" ; species name
|
db "SCRATCHCAT@" ; species name
|
||||||
dw 104, 90 ; height, width
|
dw 104, 90 ; height, width
|
||||||
|
|
||||||
db "It loves things"
|
db "It loves things"
|
||||||
next "that sparkle. When"
|
next "that sparkle. When"
|
||||||
next "it sees a shiny"
|
next "it sees a shiny"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; PersianPokedexEntry: ; 0x182c78
|
; PersianPokedexEntry: ; 0x182c78
|
||||||
db "CLASSY CAT@" ; species name
|
db "CLASSY CAT@" ; species name
|
||||||
dw 303, 710 ; height, width
|
dw 303, 710 ; height, width
|
||||||
|
|
||||||
db "Behind its lithe,"
|
db "Behind its lithe,"
|
||||||
next "elegant appearance"
|
next "elegant appearance"
|
||||||
next "lies a barbaric"
|
next "lies a barbaric"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; PsyduckPokedexEntry: ; 0x182cee
|
; PsyduckPokedexEntry: ; 0x182cee
|
||||||
db "DUCK@" ; species name
|
db "DUCK@" ; species name
|
||||||
dw 207, 430 ; height, width
|
dw 207, 430 ; height, width
|
||||||
|
|
||||||
db "The only time it"
|
db "The only time it"
|
||||||
next "can use its psy-"
|
next "can use its psy-"
|
||||||
next "chic power is when"
|
next "chic power is when"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; GolduckPokedexEntry: ; 0x182d55
|
; GolduckPokedexEntry: ; 0x182d55
|
||||||
db "DUCK@" ; species name
|
db "DUCK@" ; species name
|
||||||
dw 507, 1690 ; height, width
|
dw 507, 1690 ; height, width
|
||||||
|
|
||||||
db "It swims grace-"
|
db "It swims grace-"
|
||||||
next "fully along on the"
|
next "fully along on the"
|
||||||
next "quiet, slow-moving"
|
next "quiet, slow-moving"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; MankeyPokedexEntry: ; 0x182dbd
|
; MankeyPokedexEntry: ; 0x182dbd
|
||||||
db "PIG MONKEY@" ; species name
|
db "PIG MONKEY@" ; species name
|
||||||
dw 108, 620 ; height, width
|
dw 108, 620 ; height, width
|
||||||
|
|
||||||
db "It lives in groups"
|
db "It lives in groups"
|
||||||
next "in the treetops."
|
next "in the treetops."
|
||||||
next "If it loses sight"
|
next "If it loses sight"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; PrimeapePokedexEntry: ; 0x182e39
|
; PrimeapePokedexEntry: ; 0x182e39
|
||||||
db "PIG MONKEY@" ; species name
|
db "PIG MONKEY@" ; species name
|
||||||
dw 303, 710 ; height, width
|
dw 303, 710 ; height, width
|
||||||
|
|
||||||
db "It will beat up"
|
db "It will beat up"
|
||||||
next "anyone who makes"
|
next "anyone who makes"
|
||||||
next "it mad, even if it"
|
next "it mad, even if it"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; GrowlithePokedexEntry: ; 0x182eaa
|
; GrowlithePokedexEntry: ; 0x182eaa
|
||||||
db "PUPPY@" ; species name
|
db "PUPPY@" ; species name
|
||||||
dw 204, 420 ; height, width
|
dw 204, 420 ; height, width
|
||||||
|
|
||||||
db "It controls a big"
|
db "It controls a big"
|
||||||
next "territory. If it"
|
next "territory. If it"
|
||||||
next "detects an unknown"
|
next "detects an unknown"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; ArcaninePokedexEntry: ; 0x182f1c
|
; ArcaninePokedexEntry: ; 0x182f1c
|
||||||
db "LEGENDARY@" ; species name
|
db "LEGENDARY@" ; species name
|
||||||
dw 603, 3420 ; height, width
|
dw 603, 3420 ; height, width
|
||||||
|
|
||||||
db "An ancient picture"
|
db "An ancient picture"
|
||||||
next "scroll shows that"
|
next "scroll shows that"
|
||||||
next "people were"
|
next "people were"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; PoliwagPokedexEntry: ; 0x182f91
|
; PoliwagPokedexEntry: ; 0x182f91
|
||||||
db "TADPOLE@" ; species name
|
db "TADPOLE@" ; species name
|
||||||
dw 200, 270 ; height, width
|
dw 200, 270 ; height, width
|
||||||
|
|
||||||
db "The swirl on its"
|
db "The swirl on its"
|
||||||
next "belly is its"
|
next "belly is its"
|
||||||
next "insides showing"
|
next "insides showing"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; PoliwhirlPokedexEntry: ; 0x182ffd
|
; PoliwhirlPokedexEntry: ; 0x182ffd
|
||||||
db "TADPOLE@" ; species name
|
db "TADPOLE@" ; species name
|
||||||
dw 303, 440 ; height, width
|
dw 303, 440 ; height, width
|
||||||
|
|
||||||
db "Though it is"
|
db "Though it is"
|
||||||
next "skilled at walk-"
|
next "skilled at walk-"
|
||||||
next "ing, it prefers to"
|
next "ing, it prefers to"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; PoliwrathPokedexEntry: ; 0x183066
|
; PoliwrathPokedexEntry: ; 0x183066
|
||||||
db "TADPOLE@" ; species name
|
db "TADPOLE@" ; species name
|
||||||
dw 403, 1190 ; height, width
|
dw 403, 1190 ; height, width
|
||||||
|
|
||||||
db "It can use its"
|
db "It can use its"
|
||||||
next "well-developed"
|
next "well-developed"
|
||||||
next "arms and legs to"
|
next "arms and legs to"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; AbraPokedexEntry: ; 0x1830d5
|
; AbraPokedexEntry: ; 0x1830d5
|
||||||
db "PSI@" ; species name
|
db "PSI@" ; species name
|
||||||
dw 211, 430 ; height, width
|
dw 211, 430 ; height, width
|
||||||
|
|
||||||
db "It hypnotizes"
|
db "It hypnotizes"
|
||||||
next "itself so that it"
|
next "itself so that it"
|
||||||
next "can teleport away"
|
next "can teleport away"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; KadabraPokedexEntry: ; 0x18313c
|
; KadabraPokedexEntry: ; 0x18313c
|
||||||
db "PSI@" ; species name
|
db "PSI@" ; species name
|
||||||
dw 403, 1250 ; height, width
|
dw 403, 1250 ; height, width
|
||||||
|
|
||||||
db "When it closes its"
|
db "When it closes its"
|
||||||
next "eyes, twice as"
|
next "eyes, twice as"
|
||||||
next "many alpha parti-"
|
next "many alpha parti-"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
; AlakazamPokedexEntry: ; 0x1b8000
|
; AlakazamPokedexEntry: ; 0x1b8000
|
||||||
db "PSI@" ; species name
|
db "PSI@" ; species name
|
||||||
dw 411, 1060 ; height, width
|
dw 411, 1060 ; height, width
|
||||||
|
|
||||||
db "It has an IQ of"
|
db "It has an IQ of"
|
||||||
next "5000. It calcu-"
|
next "5000. It calcu-"
|
||||||
next "lates many things"
|
next "lates many things"
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user