More constants and bug comments in item effects.

Apparently a bunch of constants from red were never removed for some reason.
This commit is contained in:
yenatch
2014-08-13 19:42:58 -07:00
parent b922fe72a1
commit 88a15c5038
4 changed files with 115 additions and 90 deletions

View File

@@ -252,6 +252,13 @@ HM_08 EQU $FA
NUM_TMS EQU HM_01 - TM_01 - 2 NUM_TMS EQU HM_01 - TM_01 - 2
; leftovers from red
SAFARI_BALL EQU 8 ; MOON_STONE
MOON_STONE_RED EQU 10 ; BURN_HEAL
FULL_HEAL_RED EQU 52 ; X_SPEED
; pockets ; pockets
ITEM EQU 1 ITEM EQU 1
KEY_ITEM EQU 2 KEY_ITEM EQU 2
@@ -311,6 +318,8 @@ HELD_DRAGON_BOOST EQU $40
HELD_DARK_BOOST EQU $41 HELD_DARK_BOOST EQU $41
HELD_STEEL_BOOST EQU $42 HELD_STEEL_BOOST EQU $42
HELD_CATCH_CHANCE EQU $46
HELD_ESCAPE EQU $48 HELD_ESCAPE EQU $48
HELD_CRITICAL_UP EQU $49 HELD_CRITICAL_UP EQU $49
HELD_QUICK_CLAW EQU $4a HELD_QUICK_CLAW EQU $4a

View File

@@ -72,7 +72,9 @@ EVOLVE_HAPPINESS EQU 4
EVOLVE_STAT EQU 5 EVOLVE_STAT EQU 5
BASE_HAPPINESS EQU 70 BASE_HAPPINESS EQU 70
FRIEND_BALL_HAPPINESS EQU 200
; happiness evolution triggers ; happiness evolution triggers
HAPPINESS_TO_EVOLVE EQU 220 HAPPINESS_TO_EVOLVE EQU 220
TR_ANYTIME EQU 1 TR_ANYTIME EQU 1

View File

@@ -213,7 +213,7 @@ ParkBall: ; e8a2
jp nz, Functionf7a0 jp nz, Functionf7a0
ld a, [PartyCount] ld a, [PartyCount]
cp 6 cp PARTY_LENGTH
jr nz, .asm_e8c0 jr nz, .asm_e8c0
ld a, $1 ld a, $1
@@ -231,7 +231,7 @@ ParkBall: ; e8a2
call nz, Functionedfa call nz, Functionedfa
ld hl, Options ld hl, Options
res 4, [hl] res NO_TEXT_SCROLL, [hl]
ld hl, UsedItemText ld hl, UsedItemText
call PrintText call PrintText
@@ -323,15 +323,14 @@ ParkBall: ; e8a2
pop bc pop bc
ld a, b ld a, b
ld [hMultiplier], a ld [hDivisor], a
ld b, $4 ld b, $4
call Divide call Divide
ld a, [$ffb6] ld a, [$ffb6]
and a and a
jr nz, .asm_e960 jr nz, .asm_e960
ld a, $1 ld a, 1
.asm_e960 .asm_e960
ld b, a ld b, a
ld a, [EnemyMonStatus] ld a, [EnemyMonStatus]
@@ -342,29 +341,40 @@ ParkBall: ; e8a2
ld c, 5 ld c, 5
jr nz, .asm_e971 jr nz, .asm_e971
ld c, 0 ld c, 0
.asm_e971 .asm_e971
ld a, b ld a, b
add c add c
jr nc, .asm_e977 jr nc, .asm_e977
ld a, $ff ld a, $ff
.asm_e977 .asm_e977
ld d, a ld d, a
push de push de
ld a, [BattleMonItem]
callba GetItem
; BUG: callba overwrites a,
; and GetItem takes b anyway.
; This is probably the reason
; the HELD_CATCH_CHANCE effect
; is never used.
; Uncomment the line below to fix.
ld a, [BattleMonItem]
; ld b, a
callba GetItem
ld a, b ld a, b
cp $46 cp HELD_CATCH_CHANCE
pop de pop de
ld a, d ld a, d
jr nz, .asm_e98e jr nz, .asm_e98e
add c add c
jr nc, .asm_e98e jr nc, .asm_e98e
ld a, $ff ld a, $ff
.asm_e98e .asm_e98e
ld b, a ld b, a
ld [Buffer1], a ld [Buffer1], a
call Random call Random
@@ -383,13 +393,12 @@ ParkBall: ; e8a2
call DelayFrames call DelayFrames
ld a, [CurItem] ld a, [CurItem]
cp $6 cp POKE_BALL + 1 ; Assumes Master/Ultra/Great come before
jr c, .asm_e9b0 jr c, .asm_e9b0
ld a, POKE_BALL ld a, POKE_BALL
.asm_e9b0 .asm_e9b0
ld [$c689], a ld [$c689], a
ld de, ANIM_THROW_POKE_BALL ld de, ANIM_THROW_POKE_BALL
ld a, e ld a, e
ld [FXAnimIDLo], a ld [FXAnimIDLo], a
@@ -417,8 +426,8 @@ ParkBall: ; e8a2
cp $4 cp $4
ld hl, UnknownText_0xedc4 ld hl, UnknownText_0xedc4
jp z, .asm_ebdc jp z, .asm_ebdc
.asm_e9f5 .asm_e9f5
ld hl, EnemyMonStatus ld hl, EnemyMonStatus
ld a, [hli] ld a, [hli]
push af push af
@@ -435,8 +444,8 @@ ParkBall: ; e8a2
ld hl, EnemySubStatus5 ld hl, EnemySubStatus5
ld a, [hl] ld a, [hl]
push af push af
set 3, [hl] set SUBSTATUS_TRANSFORMED, [hl]
bit 3, a bit SUBSTATUS_TRANSFORMED, a
jr nz, .asm_ea13 jr nz, .asm_ea13
jr .asm_ea1a jr .asm_ea1a
@@ -462,6 +471,7 @@ ParkBall: ; e8a2
pop af pop af
ld [EnemySubStatus5], a ld [EnemySubStatus5], a
pop hl pop hl
pop af pop af
ld [hl], a ld [hl], a
@@ -473,8 +483,9 @@ ParkBall: ; e8a2
dec hl dec hl
pop af pop af
ld [hl], a ld [hl], a
ld hl, EnemySubStatus5 ld hl, EnemySubStatus5
bit 3, [hl] bit SUBSTATUS_TRANSFORMED, [hl]
jr nz, .asm_ea67 jr nz, .asm_ea67
ld hl, $c735 ld hl, $c735
ld de, EnemyMonMoves ld de, EnemyMonMoves
@@ -485,15 +496,16 @@ ParkBall: ; e8a2
ld de, EnemyMonPP ld de, EnemyMonPP
ld bc, NUM_MOVES ld bc, NUM_MOVES
call CopyBytes call CopyBytes
.asm_ea67 .asm_ea67
ld a, [EnemyMonSpecies] ld a, [EnemyMonSpecies]
ld [$c64e], a ld [$c64e], a
ld [CurPartySpecies], a ld [CurPartySpecies], a
ld [$d265], a ld [$d265], a
ld a, [BattleType] ld a, [BattleType]
cp $3 cp BATTLETYPE_TUTORIAL
jp z, .asm_ebd9 jp z, .asm_ebd9
callba Function10607f callba Function10607f
ld hl, UnknownText_0xedc9 ld hl, UnknownText_0xedc9
@@ -510,13 +522,13 @@ ParkBall: ; e8a2
ld a, [$d265] ld a, [$d265]
dec a dec a
call SetSeenAndCaughtMon call SetSeenAndCaughtMon
pop af pop af
and a and a
jr nz, .asm_eab7 jr nz, .asm_eab7
call Function2ead
call Function2ead
jr z, .asm_eab7 jr z, .asm_eab7
ld hl, UnknownText_0xedf0 ld hl, UnknownText_0xedf0
call PrintText call PrintText
@@ -528,16 +540,16 @@ ParkBall: ; e8a2
.asm_eab7 .asm_eab7
ld a, [BattleType] ld a, [BattleType]
cp $6 cp BATTLETYPE_CONTEST
jp z, .asm_ebd1 jp z, .asm_ebd1
cp $b cp BATTLETYPE_CELEBI
jr nz, .asm_eac8 jr nz, .asm_eac8
ld hl, $d0ee ld hl, $d0ee
set 6, [hl] set 6, [hl]
.asm_eac8 .asm_eac8
ld a, [PartyCount] ld a, [PartyCount]
cp 6 cp PARTY_LENGTH
jr z, .asm_eb3c jr z, .asm_eb3c
xor a xor a
@@ -558,10 +570,10 @@ ParkBall: ; e8a2
ld bc, PartyMon2 - PartyMon1 ld bc, PartyMon2 - PartyMon1
call AddNTimes call AddNTimes
ld a, 200 ld a, FRIEND_BALL_HAPPINESS
ld [hl], a ld [hl], a
.asm_eaf8 .asm_eaf8
ld hl, UnknownText_0xedf5 ld hl, UnknownText_0xedf5
call PrintText call PrintText
@@ -570,7 +582,6 @@ ParkBall: ; e8a2
call GetPokemonName call GetPokemonName
call YesNoBox call YesNoBox
jp c, .asm_ebe2 jp c, .asm_ebe2
ld a, [PartyCount] ld a, [PartyCount]
@@ -609,7 +620,7 @@ ParkBall: ; e8a2
call GetSRAMBank call GetSRAMBank
ld a, [$ad10] ld a, [$ad10]
cp $14 cp MONS_PER_BOX
jr nz, .asm_eb5b jr nz, .asm_eb5b
ld hl, $d0ee ld hl, $d0ee
set 7, [hl] set 7, [hl]
@@ -618,7 +629,7 @@ ParkBall: ; e8a2
ld a, [CurItem] ld a, [CurItem]
cp FRIEND_BALL cp FRIEND_BALL
jr nz, .asm_eb67 jr nz, .asm_eb67
ld a, 200 ld a, FRIEND_BALL_HAPPINESS
ld [$ad41], a ld [$ad41], a
.asm_eb67 .asm_eb67
@@ -632,7 +643,6 @@ ParkBall: ; e8a2
call GetPokemonName call GetPokemonName
call YesNoBox call YesNoBox
jr c, .asm_ebaf jr c, .asm_ebaf
xor a xor a
@@ -692,23 +702,23 @@ ParkBall: ; e8a2
ret z ret z
cp 2 cp 2
ret z ret z
cp 6 cp BATTLETYPE_CONTEST
jr z, .asm_ec05 jr z, .used_park_ball
ld a, [$c64e] ld a, [$c64e]
and a and a
jr z, .asm_ebfb jr z, .toss
call WhiteBGMap call WhiteBGMap
call ClearTileMap call ClearTileMap
.asm_ebfb .toss
ld hl, NumItems ld hl, NumItems
inc a inc a
ld [$d10c], a ld [$d10c], a
jp TossItem jp TossItem
.asm_ec05 .used_park_ball
ld hl, $dc79 ld hl, $dc79
dec [hl] dec [hl]
ret ret
@@ -716,29 +726,33 @@ ParkBall: ; e8a2
Table_0xec0a: ; ec0a Table_0xec0a: ; ec0a
dbw ULTRA_BALL, Function_0xec29 ; Note: SAFARI_BALL does not exist.
dbw GREAT_BALL, Function_0xec2f dbw ULTRA_BALL, UltraBallChance
dbw MOON_STONE, Function_0xec2f dbw GREAT_BALL, GreatBallChance
dbw HEAVY_BALL, Function_0xec50 dbw SAFARI_BALL, SafariBallChance
dbw LEVEL_BALL, Function_0xed8c dbw HEAVY_BALL, HeavyBallChance
dbw LURE_BALL, Function_0xeccc dbw LEVEL_BALL, LevelBallChance
dbw FAST_BALL, Function_0xed68 dbw LURE_BALL, LureBallChance
dbw MOON_BALL, Function_0xecdd dbw FAST_BALL, FastBallChance
dbw LOVE_BALL, Function_0xed12 dbw MOON_BALL, MoonBallChance
dbw PARK_BALL, Function_0xec2f dbw LOVE_BALL, LoveBallChance
dbw PARK_BALL, ParkBallChance
db $ff db $ff
; ec29 ; ec29
Function_0xec29: ; ec29 UltraBallChance: ; ec29
; x2
sla b sla b
ret nc ret nc
ld b, $ff ld b, $ff
ret ret
; ec2f ; ec2f
GreatBallChance: ; ec2f
Function_0xec2f: ; ec2f ParkBallChance:
SafariBallChance:
; x1.5
ld a, b ld a, b
srl a srl a
add b add b
@@ -778,7 +792,7 @@ GLOBAL PokedexEntries4
db BANK(PokedexEntries4) db BANK(PokedexEntries4)
; ec50 ; ec50
Function_0xec50: ; ec50 HeavyBallChance: ; ec50
ld a, [EnemyMonSpecies] ld a, [EnemyMonSpecies]
ld hl, PokedexDataPointerTable ld hl, PokedexDataPointerTable
dec a dec a
@@ -806,14 +820,11 @@ Function_0xec50: ; ec50
rr l rr l
ld b, h ld b, h
ld c, l ld c, l
rept 4
srl b srl b
rr c rr c
srl b endr
rr c
srl b
rr c
srl b
rr c
call .asm_ec99 call .asm_ec99
srl b srl b
@@ -869,34 +880,33 @@ Function_0xec50: ; ec50
ret ret
.table_ecc4 .table_ecc4
db 8, 0 db 8, 0
db 12, 20 db 12, 20
db 16, 30 db 16, 30
db 255, 40 db 255, 40
; eccc ; eccc
Function_0xeccc: ; eccc LureBallChance: ; eccc
ld a, [BattleType] ld a, [BattleType]
cp $4 cp BATTLETYPE_FISH
ret nz ret nz
ld a, b ld a, b
add a add a
jr c, .asm_ecd9 jr c, .max
add b add b
jr nc, .asm_ecdb jr nc, .done
.max
.asm_ecd9
ld a, $ff ld a, $ff
.done
.asm_ecdb
ld b, a ld b, a
ret ret
; ecdd ; ecdd
Function_0xecdd: ; ecdd MoonBallChance: ; ecdd
GLOBAL EvosAttacks GLOBAL EvosAttacks
GLOBAL EvosAttacksPointers GLOBAL EvosAttacksPointers
@@ -924,13 +934,17 @@ GLOBAL EvosAttacksPointers
inc hl inc hl
inc hl inc hl
; It appears that Moon Stone's constant from Pokémon Red is used. ; It appears that Moon Stone's
; No Pokémon evolve with Burn Heal, so ; constant from Pokémon Red is used.
; Moon Balls always have a catch rate of 1x.
; No Pokémon evolve with Burn Heal,
; so Moon Balls always have
; a catch rate of 1x.
push bc push bc
ld a, BANK(EvosAttacks) ld a, BANK(EvosAttacks)
call GetFarByte call GetFarByte
cp MOON_STONE + 2 ; BURN_HEAL cp MOON_STONE_RED ; BURN_HEAL
pop bc pop bc
ret nz ret nz
@@ -945,7 +959,7 @@ GLOBAL EvosAttacksPointers
; ed12 ; ed12
Function_0xed12: ; ed12 LoveBallChance: ; ed12
ld a, [TempEnemyMonSpecies] ld a, [TempEnemyMonSpecies]
ld c, a ld c, a
ld a, [TempBattleMonSpecies] ld a, [TempBattleMonSpecies]
@@ -1005,7 +1019,7 @@ Function_0xed12: ; ed12
; ed68 ; ed68
Function_0xed68: ; ed68 FastBallChance: ; ed68
ld a, [TempEnemyMonSpecies] ld a, [TempEnemyMonSpecies]
ld c, a ld c, a
ld hl, FleeMons ld hl, FleeMons
@@ -1037,20 +1051,20 @@ Function_0xed68: ; ed68
; ed8c ; ed8c
Function_0xed8c: ; ed8c LevelBallChance: ; ed8c
ld a, [BattleMonLevel] ld a, [BattleMonLevel]
ld c, a ld c, a
ld a, [EnemyMonLevel] ld a, [EnemyMonLevel]
cp c cp c
ret nc ret nc
sla b sla b
jr c, .asm_eda8 jr c, .max
srl c srl c
cp c cp c
ret nc ret nc
sla b sla b
jr c, .asm_eda8 jr c, .max
srl c srl c
cp c cp c
@@ -1058,7 +1072,7 @@ Function_0xed8c: ; ed8c
sla b sla b
ret nc ret nc
.asm_eda8 .max
ld b, $ff ld b, $ff
ret ret
; edab ; edab
@@ -1810,7 +1824,7 @@ Functionf1db: ; f1db (3:71db)
pop de pop de
ld a, [CurPartyMon] ; $d109 ld a, [CurPartyMon] ; $d109
hlcoord 11, 0 hlcoord 11, 0
ld bc, $28 ld bc, SCREEN_WIDTH * 2
call AddNTimes call AddNTimes
ld a, $2 ld a, $2
ld [$d10a], a ld [$d10a], a
@@ -2242,9 +2256,9 @@ UnknownText_0xf47d: ; 0xf47d
XAccuracy: ; f482 XAccuracy: ; f482
ld hl, PlayerSubStatus4 ld hl, PlayerSubStatus4
bit 0, [hl] bit SUBSTATUS_X_ACCURACY, [hl]
jp nz, WontHaveAnyEffect_NotUsedMessage jp nz, WontHaveAnyEffect_NotUsedMessage
set 0, [hl] set SUBSTATUS_X_ACCURACY, [hl]
jp Functionf789 jp Functionf789
; f48f ; f48f

View File

@@ -35987,13 +35987,13 @@ Unknown_271de: ; 271de
db HELD_HEAL_PARALYZE db HELD_HEAL_PARALYZE
db HELD_HEAL_STATUS db HELD_HEAL_STATUS
db $1e db $1e
db $1f db HELD_ATTACK_UP
db $20 db HELD_DEFENSE_UP
db $21 db HELD_SPEED_UP
db $22 db HELD_SP_ATTACK_UP
db $23 db HELD_SP_DEFENSE_UP
db $24 db HELD_ACCURACY_UP
db $25 db HELD_EVASION_UP
db $26 db $26
db $47 db $47
db HELD_ESCAPE db HELD_ESCAPE