Merge pull request #338 from PikalaxALT/master

Battle anims, HP Bar anim
This commit is contained in:
yenatch 2016-04-18 08:01:12 -04:00
commit 7aef598414
642 changed files with 10767 additions and 10861 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -161,7 +161,7 @@ endr
.doubledown .doubledown
call .DecreaseScore call .DecreaseScore
; fallthrough ; fallthrough
; 34931 ; 34931

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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]

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -2095,7 +2095,7 @@ FutureSight:
damagestats damagestats
damagecalc damagecalc
futuresight futuresight
damagevariation damagevariation ; skip here if last turn
checkhit checkhit
hittargetnosub hittargetnosub
failuretext failuretext

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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]

View File

@ -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)

View File

@ -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"

View File

@ -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."

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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,"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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."

View File

@ -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."

View File

@ -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"

View File

@ -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,"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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,"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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,"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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."

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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,"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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-"

View File

@ -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