More battle data in data/battle/

This commit is contained in:
Rangi 2018-01-25 21:34:42 -05:00
parent d504fb8852
commit 87514598be
24 changed files with 213 additions and 184 deletions

View File

@ -1,5 +1,5 @@
; Multiplier ratios for accuracy from modifier -6 to +6
; (for other stats, see data/battle/stat_multipliers.asm)
; (for other stats, see data/battle/stat_multipliers.asm).
AccuracyLevelMultipliers:
db 33, 100 ; -6 = 33%

View File

@ -0,0 +1,21 @@
BadgeTypeBoosts:
; entries correspond to wJohtoBadges constants
db FLYING ; ZEPHYRBADGE
db BUG ; HIVEBADGE
db NORMAL ; PLAINBADGE
db GHOST ; FOGBADGE
db STEEL ; MINERALBADGE
db FIGHTING ; STORMBADGE
db ICE ; GLACIERBADGE
db DRAGON ; RISINGBADGE
; fallthrough
; entries correspond to wKantoBadges constants
db ROCK ; BOULDERBADGE
db WATER ; CASCADEBADGE
db ELECTRIC ; THUNDERBADGE
db GRASS ; RAINBOWBADGE
db POISON ; SOULBADGE
db PSYCHIC ; MARSHBADGE
db FIRE ; VOLCANOBADGE
db GROUND ; EARTHBADGE
db -1 ; end

View File

@ -0,0 +1,8 @@
FlailReversalPower:
; hp bar pixels, power
db HP_BAR_LENGTH_PX / 48, 200
db HP_BAR_LENGTH_PX / 12, 150
db HP_BAR_LENGTH_PX / 5, 100
db HP_BAR_LENGTH_PX / 3, 80
db HP_BAR_LENGTH_PX * 2 / 3, 40
db HP_BAR_LENGTH_PX, 20

View File

@ -0,0 +1,26 @@
; Held item effects that are consumed on use
ConsumableEffects: ; 271de
db HELD_BERRY
db HELD_2
db HELD_5
db HELD_HEAL_POISON
db HELD_HEAL_FREEZE
db HELD_HEAL_BURN
db HELD_HEAL_SLEEP
db HELD_HEAL_PARALYZE
db HELD_HEAL_STATUS
db HELD_30
db HELD_ATTACK_UP
db HELD_DEFENSE_UP
db HELD_SPEED_UP
db HELD_SP_ATTACK_UP
db HELD_SP_DEFENSE_UP
db HELD_ACCURACY_UP
db HELD_EVASION_UP
db HELD_38
db HELD_71
db HELD_ESCAPE
db HELD_CRITICAL_UP
db -1
; 271f4

View File

@ -0,0 +1,11 @@
; See also data/items/heal_status.asm
HeldStatusHealingEffects: ; 3de44
db HELD_HEAL_POISON, 1 << PSN
db HELD_HEAL_FREEZE, 1 << FRZ
db HELD_HEAL_BURN, 1 << BRN
db HELD_HEAL_SLEEP, SLP
db HELD_HEAL_PARALYZE, 1 << PAR
db HELD_HEAL_STATUS, ALL_STATUS
db -1 ; end
; 3de51

View File

@ -0,0 +1,10 @@
HeldStatUpItems:
dbw HELD_ATTACK_UP, BattleCommand_AttackUp
dbw HELD_DEFENSE_UP, BattleCommand_DefenseUp
dbw HELD_SPEED_UP, BattleCommand_SpeedUp
dbw HELD_SP_ATTACK_UP, BattleCommand_SpecialAttackUp
dbw HELD_SP_DEFENSE_UP, BattleCommand_SpecialDefenseUp
dbw HELD_ACCURACY_UP, BattleCommand_AccuracyUp
dbw HELD_EVASION_UP, BattleCommand_EvasionUp
db -1 ; end
; 3df12

View File

@ -0,0 +1,9 @@
MagnitudePower:
; chance, power, magnitude #
db 13, 10, 4
db 38, 30, 5
db 89, 50, 6
db 166, 70, 7
db 217, 90, 8
db 242, 110, 9
db 255, 150, 10

View File

@ -0,0 +1,18 @@
; Metronome cannot turn into these moves.
MetronomeExcepts: ; 37454
db NO_MOVE
db METRONOME
db STRUGGLE
db SKETCH
db MIMIC
db COUNTER
db MIRROR_COAT
db PROTECT
db DETECT
db ENDURE
db DESTINY_BOND
db SLEEP_TALK
db THIEF
db -1
; 37462

View File

@ -0,0 +1,6 @@
PresentPower:
; chance, power
db 40 percent, 40 ; 40%
db 70 percent + 1, 80 ; 30%
db 80 percent, 120 ; 10%
db -1 ; 20% chance to heal instead

View File

@ -1,5 +1,8 @@
; Multiplier ratios for all stats from modifier -6 to +6
; (except accuracy, see data/battle/accuracy_multipliers.asm)
; (except accuracy, see data/battle/accuracy_multipliers.asm).
; This table is identical to data/battle/stat_multipliers_2.asm.
; This one is used by CalcStats.
StatLevelMultipliers:
db 25, 100 ; -6 = 25%

View File

@ -0,0 +1,20 @@
; Multiplier ratios for all stats from modifier -6 to +6
; (except accuracy, see data/battle/accuracy_multipliers.asm).
; This table is identical to data/battle/stat_multipliers.asm.
; This one is used by ApplyStatLevelMultiplier.
StatLevelMultipliers_Applied:
db 25, 100 ; -6 = 25%
db 28, 100 ; -5 = 28%
db 33, 100 ; -4 = 33%
db 40, 100 ; -3 = 40%
db 50, 100 ; -2 = 50%
db 66, 100 ; -1 = 66%
db 1, 1 ; 0 = 100%
db 15, 10 ; +1 = 150%
db 2, 1 ; +2 = 200%
db 25, 10 ; +3 = 250%
db 3, 1 ; +4 = 300%
db 35, 10 ; +5 = 350%
db 4, 1 ; +6 = 400%

View File

@ -0,0 +1,10 @@
WeatherTypeModifiers:
db WEATHER_RAIN, WATER, MORE_EFFECTIVE
db WEATHER_RAIN, FIRE, NOT_VERY_EFFECTIVE
db WEATHER_SUN, FIRE, MORE_EFFECTIVE
db WEATHER_SUN, WATER, NOT_VERY_EFFECTIVE
db -1 ; end
WeatherMoveModifiers:
db WEATHER_RAIN, EFFECT_SOLARBEAM, NOT_VERY_EFFECTIVE
db -1 ; end

View File

@ -0,0 +1,27 @@
WobbleProbabilities:
; catch rate, chance of wobbling / 255
; nLeft/255 = (nRight/255) ** 4
db 1, 63
db 2, 75
db 3, 84
db 4, 90
db 5, 95
db 7, 103
db 10, 113
db 15, 126
db 20, 134
db 30, 149
db 40, 160
db 50, 169
db 60, 177
db 80, 191
db 100, 201
db 120, 211
db 140, 220
db 160, 227
db 180, 234
db 200, 240
db 220, 246
db 240, 251
db 254, 253
db 255, 255

View File

@ -1,3 +1,5 @@
; See also data/battle/held_heal_status.asm
StatusHealingActions: ; f071
; item, party menu action text, status
db ANTIDOTE, PARTYMENUTEXT_HEAL_PSN, 1 << PSN

View File

@ -18,7 +18,7 @@ ConsumeHeldItem: ; 27192
ld a, [de]
ld b, a
farcall GetItemHeldEffect
ld hl, .ConsumableEffects
ld hl, ConsumableEffects
.loop
ld a, [hli]
cp b
@ -46,7 +46,7 @@ ConsumeHeldItem: ; 27192
jr z, .done
.ourturn
ld [hl], $0
ld [hl], NO_ITEM
.done
pop bc
@ -54,27 +54,4 @@ ConsumeHeldItem: ; 27192
pop hl
ret
.ConsumableEffects: ; 271de
; Consumable items?
db HELD_BERRY
db HELD_2
db HELD_5
db HELD_HEAL_POISON
db HELD_HEAL_FREEZE
db HELD_HEAL_BURN
db HELD_HEAL_SLEEP
db HELD_HEAL_PARALYZE
db HELD_HEAL_STATUS
db HELD_30
db HELD_ATTACK_UP
db HELD_DEFENSE_UP
db HELD_SPEED_UP
db HELD_SP_ATTACK_UP
db HELD_SP_DEFENSE_UP
db HELD_ACCURACY_UP
db HELD_EVASION_UP
db HELD_38
db HELD_71
db HELD_ESCAPE
db HELD_CRITICAL_UP
db -1
INCLUDE "data/battle/held_consumables.asm"

View File

@ -1807,10 +1807,13 @@ HandleWeather: ; 3cb9e
; 3cc2d
.WeatherMessages:
; entries correspond to WEATHER_* constants
dw BattleText_RainContinuesToFall
dw BattleText_TheSunlightIsStrong
dw BattleText_TheSandstormRages
.WeatherEndedMessages:
; entries correspond to WEATHER_* constants
dw BattleText_TheRainStopped
dw BattleText_TheSunlightFaded
dw BattleText_TheSandstormSubsided
@ -2557,9 +2560,10 @@ WinTrainerBattle: ; 3cfa4
; 3d0ab
.SentToMomTexts: ; 3d0ab
dw SentSomeToMomText ; MOM_SAVING_SOME_MONEY_F
dw SentHalfToMomText ; MOM_SAVING_HALF_MONEY_F
dw SentAllToMomText ; MOM_SAVING_ALL_MONEY_F
; entries correspond to MOM_SAVING_* constants
dw SentSomeToMomText
dw SentHalfToMomText
dw SentAllToMomText
; 3d0b1
.CheckMaxedOutMomMoney: ; 3d0b1
@ -4488,7 +4492,7 @@ ItemRecoveryAnim: ; 3ddc8
UseHeldStatusHealingItem: ; 3dde9
callfar GetOpponentItem
ld hl, .Statuses
ld hl, HeldStatusHealingEffects
.loop
ld a, [hli]
cp $ff
@ -4541,15 +4545,7 @@ UseHeldStatusHealingItem: ; 3dde9
ret
; 3de44
.Statuses: ; 3de44
db HELD_HEAL_POISON, 1 << PSN
db HELD_HEAL_FREEZE, 1 << FRZ
db HELD_HEAL_BURN, 1 << BRN
db HELD_HEAL_SLEEP, SLP
db HELD_HEAL_PARALYZE, 1 << PAR
db HELD_HEAL_STATUS, ALL_STATUS
db -1 ; end
; 3de51
INCLUDE "data/battle/held_heal_status.asm"
UseConfusionHealingItem: ; 3de51
ld a, BATTLE_VARS_SUBSTATUS3_OPP
@ -4624,10 +4620,10 @@ HandleStatBoostingHeldItems: ; 3de97
ld a, [bc]
ld b, a
callfar GetItemHeldEffect
ld hl, .StatUpItems
ld hl, HeldStatUpItems
.loop
ld a, [hli]
cp $ff
cp -1
jr z, .finish
inc hl
inc hl
@ -4664,16 +4660,7 @@ HandleStatBoostingHeldItems: ; 3de97
ret
; 3defc
.StatUpItems:
dbw HELD_ATTACK_UP, BattleCommand_AttackUp
dbw HELD_DEFENSE_UP, BattleCommand_DefenseUp
dbw HELD_SPEED_UP, BattleCommand_SpeedUp
dbw HELD_SP_ATTACK_UP, BattleCommand_SpecialAttackUp
dbw HELD_SP_DEFENSE_UP, BattleCommand_SpecialDefenseUp
dbw HELD_ACCURACY_UP, BattleCommand_AccuracyUp
dbw HELD_EVASION_UP, BattleCommand_EvasionUp
db -1 ; end
; 3df12
INCLUDE "data/battle/held_stat_up.asm"
GetPartymonItem: ; 3df12
ld hl, PartyMon1Item
@ -6902,7 +6889,7 @@ ApplyStatLevelMultiplier: ; 3ecb7
.okay2
pop bc
push hl
ld hl, .StatLevelMultipliers
ld hl, StatLevelMultipliers_Applied
dec b
sla b
ld c, b
@ -6951,24 +6938,7 @@ ApplyStatLevelMultiplier: ; 3ecb7
ret
; 3ed2b
.StatLevelMultipliers:
; /
db 25, 100 ; 25%
db 28, 100 ; 28%
db 33, 100 ; 33%
db 40, 100 ; 40%
db 50, 100 ; 50%
db 66, 100 ; 66%
db 1, 1 ; 100%
db 15, 10 ; 150%
db 2, 1 ; 200%
db 25, 10 ; 250%
db 3, 1 ; 300%
db 35, 10 ; 350%
db 4, 1 ; 400%
; 3ed45
INCLUDE "data/battle/stat_multipliers_2.asm"
BadgeStatBoosts: ; 3ed45
; Raise BattleMon stats depending on which badges have been obtained.

View File

@ -2713,7 +2713,7 @@ BattleCommand_RageDamage: ; 3527b
dec a
add hl, bc
jr nc, .rage_loop
ld hl, -1
ld hl, $ffff
.done
ld a, h
ld [CurDamage], a
@ -3766,11 +3766,11 @@ BattleCommand_ConstantDamage: ; 35726
ld [hDividend + 2], a
.skip_to_divide
ld b, $4
ld b, 4
call Divide
ld a, [hQuotient + 2]
ld b, a
ld hl, .FlailPower
ld hl, FlailReversalPower
.reversal_loop
ld a, [hli]
@ -3803,15 +3803,7 @@ BattleCommand_ConstantDamage: ; 35726
ld [hl], 1
ret
.FlailPower:
; px, bp
db 1, 200
db 4, 150
db 9, 100
db 16, 80
db 32, 40
db 48, 20
; 35813
INCLUDE "data/battle/flail_reversal_power.asm"
BattleCommand_Counter: ; 35813
@ -8920,7 +8912,7 @@ BattleCommand_GetMagnitude: ; 37991
push bc
call BattleRandom
ld b, a
ld hl, .Magnitudes
ld hl, MagnitudePower
.loop
ld a, [hli]
cp b
@ -8942,16 +8934,7 @@ BattleCommand_GetMagnitude: ; 37991
pop bc
ret
.Magnitudes:
; /255, BP, magnitude
db 13, 10, 4
db 38, 30, 5
db 89, 50, 6
db 166, 70, 7
db 217, 90, 8
db 242, 110, 9
db 255, 150, 10
; 379c9
INCLUDE "data/battle/magnitude_power.asm"
BattleCommand_BatonPass: ; 379c9

View File

@ -43,19 +43,4 @@ BattleCommand_Metronome: ; 37418
; 37454
MetronomeExcepts: ; 37454
db NO_MOVE
db METRONOME
db STRUGGLE
db SKETCH
db MIMIC
db COUNTER
db MIRROR_COAT
db PROTECT
db DETECT
db ENDURE
db DESTINY_BOND
db SLEEP_TALK
db THIEF
db -1
; 37462
INCLUDE "data/battle/metronome_exception_moves.asm"

View File

@ -27,7 +27,7 @@ BattleCommand_Present: ; 37874
push bc
call BattleRandom
ld b, a
ld hl, .PresentPower
ld hl, PresentPower
ld c, 0
.next
ld a, [hli]
@ -49,7 +49,7 @@ BattleCommand_Present: ; 37874
.heal_effect
pop bc
ld a, $3
ld a, 3
ld [wPresentPower], a
call AnimateCurrentMove
call BattleCommand_SwitchTurn
@ -85,9 +85,4 @@ BattleCommand_Present: ; 37874
.do_animation
jp EndMoveEffect
.PresentPower:
db 40 percent, 40
db 70 percent + 1, 80
db 80 percent, 120
db -1 ; end
; 3790e
INCLUDE "data/battle/present_power.asm"

View File

@ -52,7 +52,7 @@ GetPlayerBackpicCoords: ; fbd9d (3e:7d9d)
DoWeatherModifiers: ; fbda4
ld de, .WeatherTypeModifiers
ld de, WeatherTypeModifiers
ld a, [Weather]
ld b, a
ld a, [wd265] ; move type
@ -78,7 +78,7 @@ DoWeatherModifiers: ; fbda4
.done_weather_types
ld de, .WeatherMoveModifiers
ld de, WeatherMoveModifiers
ld a, BATTLE_VARS_MOVE_EFFECT
call GetBattleVar
@ -145,17 +145,7 @@ DoWeatherModifiers: ; fbda4
.done
ret
.WeatherTypeModifiers:
db WEATHER_RAIN, WATER, MORE_EFFECTIVE
db WEATHER_RAIN, FIRE, NOT_VERY_EFFECTIVE
db WEATHER_SUN, FIRE, MORE_EFFECTIVE
db WEATHER_SUN, WATER, NOT_VERY_EFFECTIVE
db -1 ; end
.WeatherMoveModifiers:
db WEATHER_RAIN, EFFECT_SOLARBEAM, NOT_VERY_EFFECTIVE
db -1 ; end
; fbe24
INCLUDE "data/battle/weather_modifiers.asm"
DoBadgeTypeBoosts: ; fbe24
@ -174,7 +164,7 @@ DoBadgeTypeBoosts: ; fbe24
push de
push bc
ld hl, .BadgeTypes
ld hl, BadgeTypeBoosts
ld a, [wKantoBadges]
ld b, a
@ -235,25 +225,4 @@ DoBadgeTypeBoosts: ; fbe24
pop de
ret
.BadgeTypes:
; entries correspond to wJohtoBadges constants
db FLYING ; ZEPHYRBADGE
db BUG ; HIVEBADGE
db NORMAL ; PLAINBADGE
db GHOST ; FOGBADGE
db STEEL ; MINERALBADGE
db FIGHTING ; STORMBADGE
db ICE ; GLACIERBADGE
db DRAGON ; RISINGBADGE
; fallthrough
; entries correspond to wKantoBadges constants
db ROCK ; BOULDERBADGE
db WATER ; CASCADEBADGE
db ELECTRIC ; THUNDERBADGE
db GRASS ; RAINBOWBADGE
db POISON ; SOULBADGE
db PSYCHIC ; MARSHBADGE
db FIRE ; VOLCANOBADGE
db GROUND ; EARTHBADGE
db -1 ; end
; fbe91
INCLUDE "data/battle/badge_type_boosts.asm"

View File

@ -44,7 +44,7 @@ ReadTrainerParty: ; 39771
jr z, .got_trainer
.loop
ld a, [hli]
cp $ff
cp -1
jr nz, .loop
jr .skip_trainer
.got_trainer
@ -82,6 +82,7 @@ ReadTrainerParty: ; 39771
; 397e3
TrainerTypes: ; 397e3
; entries correspond to TRAINERTYPE_* constants
dw TrainerType1 ; level, species
dw TrainerType2 ; level, species, moves
dw TrainerType3 ; level, species, item

View File

@ -114,6 +114,7 @@ MoveNameText: ; 105e23
; 105e39
.endusedmovetexts ; 105e39
; entries correspond to MoveGrammar sets
dw EndUsedMove1Text
dw EndUsedMove2Text
dw EndUsedMove3Text

View File

@ -1749,6 +1749,7 @@ Functioncd9f4: ; cd9f4 (33:59f4)
Unknown_cda01: ; cda01
db 8, 6, 5, 4, 5, 6, 8, 12, 16
; cda0a
BattleAnimFunction_1C: ; cda0a (33:5a0a)
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
@ -2476,6 +2477,7 @@ Functioncde21: ; cde21 (33:5e21)
Unknown_cde25: ; cde25
db $ec, $f8, $00
; cde28
BattleAnimFunction_25: ; cde28 (33:5e28)
ld hl, BATTLEANIMSTRUCT_0F
add hl, bc
@ -3279,6 +3281,7 @@ Unknown_ce2c4: ; ce2c4
Unknown_ce2c8: ; ce2c8
db $ff, $ff, $00, $00
; ce2cc
BattleAnimFunction_33: ; ce2cc (33:62cc)
ld hl, BATTLEANIMSTRUCT_0B
add hl, bc

View File

@ -24,7 +24,7 @@ GetPokeBallWobble: ; f971 (3:7971)
ld c, 0 ; next
jr nz, .done
ld hl, .WobbleProbabilities
ld hl, WobbleProbabilities
ld a, [Buffer1]
ld b, a
.loop
@ -59,30 +59,4 @@ GetPokeBallWobble: ; f971 (3:7971)
pop de
ret
.WobbleProbabilities: ; f9ba
; catch rate, chance of wobbling / 255
; nLeft/255 = (nRight/255) ** 4
db 1, 63
db 2, 75
db 3, 84
db 4, 90
db 5, 95
db 7, 103
db 10, 113
db 15, 126
db 20, 134
db 30, 149
db 40, 160
db 50, 169
db 60, 177
db 80, 191
db 100, 201
db 120, 211
db 140, 220
db 160, 227
db 180, 234
db 200, 240
db 220, 246
db 240, 251
db 254, 253
db 255, 255
INCLUDE "data/battle/wobble_probabilities.asm"