mirror of
https://github.com/pret/pokered.git
synced 2024-10-22 22:55:31 +00:00
Move more tables from engine/ to data/
This also splits the end of engine/battle/core.asm into engine/battle/effects.asm.
This commit is contained in:
parent
bdeb494add
commit
0a62d48df2
65 changed files with 2863 additions and 2825 deletions
13
data/battle/always_happen_effects.asm
Normal file
13
data/battle/always_happen_effects.asm
Normal file
|
@ -0,0 +1,13 @@
|
|||
AlwaysHappenSideEffects:
|
||||
; Attacks that aren't finished after they faint the opponent.
|
||||
db DRAIN_HP_EFFECT
|
||||
db EXPLODE_EFFECT
|
||||
db DREAM_EATER_EFFECT
|
||||
db PAY_DAY_EFFECT
|
||||
db TWO_TO_FIVE_ATTACKS_EFFECT
|
||||
db $1E
|
||||
db ATTACK_TWICE_EFFECT
|
||||
db RECOIL_EFFECT
|
||||
db TWINEEDLE_EFFECT
|
||||
db RAGE_EFFECT
|
||||
db -1
|
6
data/battle/critical_hit_moves.asm
Normal file
6
data/battle/critical_hit_moves.asm
Normal file
|
@ -0,0 +1,6 @@
|
|||
HighCriticalMoves:
|
||||
db KARATE_CHOP
|
||||
db RAZOR_LEAF
|
||||
db CRABHAMMER
|
||||
db SLASH
|
||||
db $FF
|
20
data/battle/residual_effects_1.asm
Normal file
20
data/battle/residual_effects_1.asm
Normal file
|
@ -0,0 +1,20 @@
|
|||
; These are move effects (second value from the Moves table in bank $E).
|
||||
ResidualEffects1:
|
||||
; most non-side effects
|
||||
db CONVERSION_EFFECT
|
||||
db HAZE_EFFECT
|
||||
db SWITCH_AND_TELEPORT_EFFECT
|
||||
db MIST_EFFECT
|
||||
db FOCUS_ENERGY_EFFECT
|
||||
db CONFUSION_EFFECT
|
||||
db HEAL_EFFECT
|
||||
db TRANSFORM_EFFECT
|
||||
db LIGHT_SCREEN_EFFECT
|
||||
db REFLECT_EFFECT
|
||||
db POISON_EFFECT
|
||||
db PARALYZE_EFFECT
|
||||
db SUBSTITUTE_EFFECT
|
||||
db MIMIC_EFFECT
|
||||
db LEECH_SEED_EFFECT
|
||||
db SPLASH_EFFECT
|
||||
db -1
|
32
data/battle/residual_effects_2.asm
Normal file
32
data/battle/residual_effects_2.asm
Normal file
|
@ -0,0 +1,32 @@
|
|||
ResidualEffects2:
|
||||
; non-side effects not included in ResidualEffects1
|
||||
; stat-affecting moves, sleep-inflicting moves, and Bide
|
||||
; e.g., Meditate, Bide, Hypnosis
|
||||
db $01
|
||||
db ATTACK_UP1_EFFECT
|
||||
db DEFENSE_UP1_EFFECT
|
||||
db SPEED_UP1_EFFECT
|
||||
db SPECIAL_UP1_EFFECT
|
||||
db ACCURACY_UP1_EFFECT
|
||||
db EVASION_UP1_EFFECT
|
||||
db ATTACK_DOWN1_EFFECT
|
||||
db DEFENSE_DOWN1_EFFECT
|
||||
db SPEED_DOWN1_EFFECT
|
||||
db SPECIAL_DOWN1_EFFECT
|
||||
db ACCURACY_DOWN1_EFFECT
|
||||
db EVASION_DOWN1_EFFECT
|
||||
db BIDE_EFFECT
|
||||
db SLEEP_EFFECT
|
||||
db ATTACK_UP2_EFFECT
|
||||
db DEFENSE_UP2_EFFECT
|
||||
db SPEED_UP2_EFFECT
|
||||
db SPECIAL_UP2_EFFECT
|
||||
db ACCURACY_UP2_EFFECT
|
||||
db EVASION_UP2_EFFECT
|
||||
db ATTACK_DOWN2_EFFECT
|
||||
db DEFENSE_DOWN2_EFFECT
|
||||
db SPEED_DOWN2_EFFECT
|
||||
db SPECIAL_DOWN2_EFFECT
|
||||
db ACCURACY_DOWN2_EFFECT
|
||||
db EVASION_DOWN2_EFFECT
|
||||
db -1
|
6
data/battle/set_damage_effects.asm
Normal file
6
data/battle/set_damage_effects.asm
Normal file
|
@ -0,0 +1,6 @@
|
|||
SetDamageEffects:
|
||||
; moves that do damage but not through normal calculations
|
||||
; e.g., Super Fang, Psywave
|
||||
db SUPER_FANG_EFFECT
|
||||
db SPECIAL_DAMAGE_EFFECT
|
||||
db -1
|
24
data/battle/special_effects.asm
Normal file
24
data/battle/special_effects.asm
Normal file
|
@ -0,0 +1,24 @@
|
|||
SpecialEffects:
|
||||
; Effects from arrays 2, 4, and 5B, minus Twineedle and Rage.
|
||||
; Includes all effects that do not need to be called at the end of
|
||||
; ExecutePlayerMove (or ExecuteEnemyMove), because they have already been handled
|
||||
db DRAIN_HP_EFFECT
|
||||
db EXPLODE_EFFECT
|
||||
db DREAM_EATER_EFFECT
|
||||
db PAY_DAY_EFFECT
|
||||
db SWIFT_EFFECT
|
||||
db TWO_TO_FIVE_ATTACKS_EFFECT
|
||||
db $1E
|
||||
db CHARGE_EFFECT
|
||||
db SUPER_FANG_EFFECT
|
||||
db SPECIAL_DAMAGE_EFFECT
|
||||
db FLY_EFFECT
|
||||
db ATTACK_TWICE_EFFECT
|
||||
db JUMP_KICK_EFFECT
|
||||
db RECOIL_EFFECT
|
||||
; fallthrough to Next EffectsArray
|
||||
SpecialEffectsCont:
|
||||
; damaging moves whose effect is executed prior to damage calculation
|
||||
db THRASH_PETAL_DANCE_EFFECT
|
||||
db TRAPPING_EFFECT
|
||||
db -1
|
15
data/battle/stat_modifiers.asm
Normal file
15
data/battle/stat_modifiers.asm
Normal file
|
@ -0,0 +1,15 @@
|
|||
StatModifierRatios:
|
||||
; first byte is numerator, second byte is denominator
|
||||
db 25, 100 ; 0.25
|
||||
db 28, 100 ; 0.28
|
||||
db 33, 100 ; 0.33
|
||||
db 40, 100 ; 0.40
|
||||
db 50, 100 ; 0.50
|
||||
db 66, 100 ; 0.66
|
||||
db 1, 1 ; 1.00
|
||||
db 15, 10 ; 1.50
|
||||
db 2, 1 ; 2.00
|
||||
db 25, 10 ; 2.50
|
||||
db 3, 1 ; 3.00
|
||||
db 35, 10 ; 3.50
|
||||
db 4, 1 ; 4.00
|
6
data/battle/unused_critical_hit_moves.asm
Normal file
6
data/battle/unused_critical_hit_moves.asm
Normal file
|
@ -0,0 +1,6 @@
|
|||
UnusedHighCriticalMoves:
|
||||
db KARATE_CHOP
|
||||
db RAZOR_LEAF
|
||||
db CRABHAMMER
|
||||
db SLASH
|
||||
db $FF
|
37
data/bookshelf_tile_ids.asm
Normal file
37
data/bookshelf_tile_ids.asm
Normal file
|
@ -0,0 +1,37 @@
|
|||
; format: db tileset id, bookshelf tile id, text id
|
||||
BookshelfTileIDs:
|
||||
db PLATEAU, $30
|
||||
db_tx_pre IndigoPlateauStatues
|
||||
db HOUSE, $3D
|
||||
db_tx_pre TownMapText
|
||||
db HOUSE, $1E
|
||||
db_tx_pre BookOrSculptureText
|
||||
db MANSION, $32
|
||||
db_tx_pre BookOrSculptureText
|
||||
db REDS_HOUSE_1, $32
|
||||
db_tx_pre BookOrSculptureText
|
||||
db LAB, $28
|
||||
db_tx_pre BookOrSculptureText
|
||||
db LOBBY, $16
|
||||
db_tx_pre ElevatorText
|
||||
db GYM, $1D
|
||||
db_tx_pre BookOrSculptureText
|
||||
db DOJO, $1D
|
||||
db_tx_pre BookOrSculptureText
|
||||
db GATE, $22
|
||||
db_tx_pre BookOrSculptureText
|
||||
db MART, $54
|
||||
db_tx_pre PokemonStuffText
|
||||
db MART, $55
|
||||
db_tx_pre PokemonStuffText
|
||||
db POKECENTER, $54
|
||||
db_tx_pre PokemonStuffText
|
||||
db POKECENTER, $55
|
||||
db_tx_pre PokemonStuffText
|
||||
db LOBBY, $50
|
||||
db_tx_pre PokemonStuffText
|
||||
db LOBBY, $52
|
||||
db_tx_pre PokemonStuffText
|
||||
db SHIP, $36
|
||||
db_tx_pre BookOrSculptureText
|
||||
db $FF
|
13
data/cut_tree_blocks.asm
Normal file
13
data/cut_tree_blocks.asm
Normal file
|
@ -0,0 +1,13 @@
|
|||
CutTreeBlockSwaps:
|
||||
; first byte = tileset block containing the cut tree
|
||||
; second byte = corresponding tileset block after the cut animation happens
|
||||
db $32, $6D
|
||||
db $33, $6C
|
||||
db $34, $6F
|
||||
db $35, $4C
|
||||
db $60, $6E
|
||||
db $0B, $0A
|
||||
db $3C, $35
|
||||
db $3F, $35
|
||||
db $3D, $36
|
||||
db $FF ; list terminator
|
48
data/door_tile_ids.asm
Normal file
48
data/door_tile_ids.asm
Normal file
|
@ -0,0 +1,48 @@
|
|||
DoorTileIDPointers:
|
||||
dbw OVERWORLD, OverworldDoorTileIDs
|
||||
dbw FOREST, ForestDoorTileIDs
|
||||
dbw MART, MartDoorTileIDs
|
||||
dbw HOUSE, HouseDoorTileIDs
|
||||
dbw FOREST_GATE, TilesetMuseumDoorTileIDs
|
||||
dbw MUSEUM, TilesetMuseumDoorTileIDs
|
||||
dbw GATE, TilesetMuseumDoorTileIDs
|
||||
dbw SHIP, ShipDoorTileIDs
|
||||
dbw LOBBY, LobbyDoorTileIDs
|
||||
dbw MANSION, MansionDoorTileIDs
|
||||
dbw LAB, LabDoorTileIDs
|
||||
dbw FACILITY, FacilityDoorTileIDs
|
||||
dbw PLATEAU, PlateauDoorTileIDs
|
||||
db $ff
|
||||
|
||||
OverworldDoorTileIDs:
|
||||
db $1B,$58,$00
|
||||
|
||||
ForestDoorTileIDs:
|
||||
db $3a,$00
|
||||
|
||||
MartDoorTileIDs:
|
||||
db $5e,$00
|
||||
|
||||
HouseDoorTileIDs:
|
||||
db $54,$00
|
||||
|
||||
TilesetMuseumDoorTileIDs:
|
||||
db $3b,$00
|
||||
|
||||
ShipDoorTileIDs:
|
||||
db $1e,$00
|
||||
|
||||
LobbyDoorTileIDs:
|
||||
db $1c,$38,$1a,$00
|
||||
|
||||
MansionDoorTileIDs:
|
||||
db $1a,$1c,$53,$00
|
||||
|
||||
LabDoorTileIDs:
|
||||
db $34,$00
|
||||
|
||||
FacilityDoorTileIDs:
|
||||
db $43,$58,$1b,$00
|
||||
|
||||
PlateauDoorTileIDs:
|
||||
db $3b,$1b,$00
|
29
data/dungeon_maps.asm
Normal file
29
data/dungeon_maps.asm
Normal file
|
@ -0,0 +1,29 @@
|
|||
; GetBattleTransitionID_IsDungeonMap checks if wCurMap
|
||||
; is equal to one of these maps
|
||||
DungeonMaps1:
|
||||
db VIRIDIAN_FOREST
|
||||
db ROCK_TUNNEL_1F
|
||||
db SEAFOAM_ISLANDS_1F
|
||||
db ROCK_TUNNEL_B1F
|
||||
db $FF
|
||||
|
||||
; GetBattleTransitionID_IsDungeonMap checks if wCurMap
|
||||
; is in between or equal to each pair of maps
|
||||
DungeonMaps2:
|
||||
; all MT_MOON maps
|
||||
db MT_MOON_1F
|
||||
db MT_MOON_B2F
|
||||
|
||||
; all SS_ANNE maps, VICTORY_ROAD_1F, LANCES_ROOM, and HALL_OF_FAME
|
||||
db SS_ANNE_1F
|
||||
db HALL_OF_FAME
|
||||
|
||||
; all POKEMON_TOWER maps and Lavender Town buildings
|
||||
db LAVENDER_POKECENTER
|
||||
db LAVENDER_CUBONE_HOUSE
|
||||
|
||||
; SILPH_CO_[2-8]F, POKEMON_MANSION[2F-B1F], SAFARI_ZONE, and
|
||||
; CERULEAN_CAVE maps, except for SILPH_CO_1F
|
||||
db SILPH_CO_2F
|
||||
db CERULEAN_CAVE_1F
|
||||
db $FF
|
87
data/effects_pointers.asm
Normal file
87
data/effects_pointers.asm
Normal file
|
@ -0,0 +1,87 @@
|
|||
MoveEffectPointerTable:
|
||||
dw SleepEffect ; unused effect
|
||||
dw PoisonEffect ; POISON_SIDE_EFFECT1
|
||||
dw DrainHPEffect ; DRAIN_HP_EFFECT
|
||||
dw FreezeBurnParalyzeEffect ; BURN_SIDE_EFFECT1
|
||||
dw FreezeBurnParalyzeEffect ; FREEZE_SIDE_EFFECT
|
||||
dw FreezeBurnParalyzeEffect ; PARALYZE_SIDE_EFFECT1
|
||||
dw ExplodeEffect ; EXPLODE_EFFECT
|
||||
dw DrainHPEffect ; DREAM_EATER_EFFECT
|
||||
dw $0000 ; MIRROR_MOVE_EFFECT
|
||||
dw StatModifierUpEffect ; ATTACK_UP1_EFFECT
|
||||
dw StatModifierUpEffect ; DEFENSE_UP1_EFFECT
|
||||
dw StatModifierUpEffect ; SPEED_UP1_EFFECT
|
||||
dw StatModifierUpEffect ; SPECIAL_UP1_EFFECT
|
||||
dw StatModifierUpEffect ; ACCURACY_UP1_EFFECT
|
||||
dw StatModifierUpEffect ; EVASION_UP1_EFFECT
|
||||
dw PayDayEffect ; PAY_DAY_EFFECT
|
||||
dw $0000 ; SWIFT_EFFECT
|
||||
dw StatModifierDownEffect ; ATTACK_DOWN1_EFFECT
|
||||
dw StatModifierDownEffect ; DEFENSE_DOWN1_EFFECT
|
||||
dw StatModifierDownEffect ; SPEED_DOWN1_EFFECT
|
||||
dw StatModifierDownEffect ; SPECIAL_DOWN1_EFFECT
|
||||
dw StatModifierDownEffect ; ACCURACY_DOWN1_EFFECT
|
||||
dw StatModifierDownEffect ; EVASION_DOWN1_EFFECT
|
||||
dw ConversionEffect ; CONVERSION_EFFECT
|
||||
dw HazeEffect ; HAZE_EFFECT
|
||||
dw BideEffect ; BIDE_EFFECT
|
||||
dw ThrashPetalDanceEffect ; THRASH_PETAL_DANCE_EFFECT
|
||||
dw SwitchAndTeleportEffect ; SWITCH_AND_TELEPORT_EFFECT
|
||||
dw TwoToFiveAttacksEffect ; TWO_TO_FIVE_ATTACKS_EFFECT
|
||||
dw TwoToFiveAttacksEffect ; unused effect
|
||||
dw FlinchSideEffect ; FLINCH_SIDE_EFFECT1
|
||||
dw SleepEffect ; SLEEP_EFFECT
|
||||
dw PoisonEffect ; POISON_SIDE_EFFECT2
|
||||
dw FreezeBurnParalyzeEffect ; BURN_SIDE_EFFECT2
|
||||
dw FreezeBurnParalyzeEffect ; unused effect
|
||||
dw FreezeBurnParalyzeEffect ; PARALYZE_SIDE_EFFECT2
|
||||
dw FlinchSideEffect ; FLINCH_SIDE_EFFECT2
|
||||
dw OneHitKOEffect ; OHKO_EFFECT
|
||||
dw ChargeEffect ; CHARGE_EFFECT
|
||||
dw $0000 ; SUPER_FANG_EFFECT
|
||||
dw $0000 ; SPECIAL_DAMAGE_EFFECT
|
||||
dw TrappingEffect ; TRAPPING_EFFECT
|
||||
dw ChargeEffect ; FLY_EFFECT
|
||||
dw TwoToFiveAttacksEffect ; ATTACK_TWICE_EFFECT
|
||||
dw $0000 ; JUMP_KICK_EFFECT
|
||||
dw MistEffect ; MIST_EFFECT
|
||||
dw FocusEnergyEffect ; FOCUS_ENERGY_EFFECT
|
||||
dw RecoilEffect ; RECOIL_EFFECT
|
||||
dw ConfusionEffect ; CONFUSION_EFFECT
|
||||
dw StatModifierUpEffect ; ATTACK_UP2_EFFECT
|
||||
dw StatModifierUpEffect ; DEFENSE_UP2_EFFECT
|
||||
dw StatModifierUpEffect ; SPEED_UP2_EFFECT
|
||||
dw StatModifierUpEffect ; SPECIAL_UP2_EFFECT
|
||||
dw StatModifierUpEffect ; ACCURACY_UP2_EFFECT
|
||||
dw StatModifierUpEffect ; EVASION_UP2_EFFECT
|
||||
dw HealEffect ; HEAL_EFFECT
|
||||
dw TransformEffect ; TRANSFORM_EFFECT
|
||||
dw StatModifierDownEffect ; ATTACK_DOWN2_EFFECT
|
||||
dw StatModifierDownEffect ; DEFENSE_DOWN2_EFFECT
|
||||
dw StatModifierDownEffect ; SPEED_DOWN2_EFFECT
|
||||
dw StatModifierDownEffect ; SPECIAL_DOWN2_EFFECT
|
||||
dw StatModifierDownEffect ; ACCURACY_DOWN2_EFFECT
|
||||
dw StatModifierDownEffect ; EVASION_DOWN2_EFFECT
|
||||
dw ReflectLightScreenEffect ; LIGHT_SCREEN_EFFECT
|
||||
dw ReflectLightScreenEffect ; REFLECT_EFFECT
|
||||
dw PoisonEffect ; POISON_EFFECT
|
||||
dw ParalyzeEffect ; PARALYZE_EFFECT
|
||||
dw StatModifierDownEffect ; ATTACK_DOWN_SIDE_EFFECT
|
||||
dw StatModifierDownEffect ; DEFENSE_DOWN_SIDE_EFFECT
|
||||
dw StatModifierDownEffect ; SPEED_DOWN_SIDE_EFFECT
|
||||
dw StatModifierDownEffect ; SPECIAL_DOWN_SIDE_EFFECT
|
||||
dw StatModifierDownEffect ; unused effect
|
||||
dw StatModifierDownEffect ; unused effect
|
||||
dw StatModifierDownEffect ; unused effect
|
||||
dw StatModifierDownEffect ; unused effect
|
||||
dw ConfusionSideEffect ; CONFUSION_SIDE_EFFECT
|
||||
dw TwoToFiveAttacksEffect ; TWINEEDLE_EFFECT
|
||||
dw $0000 ; unused effect
|
||||
dw SubstituteEffect ; SUBSTITUTE_EFFECT
|
||||
dw HyperBeamEffect ; HYPER_BEAM_EFFECT
|
||||
dw RageEffect ; RAGE_EFFECT
|
||||
dw MimicEffect ; MIMIC_EFFECT
|
||||
dw $0000 ; METRONOME_EFFECT
|
||||
dw LeechSeedEffect ; LEECH_SEED_EFFECT
|
||||
dw SplashEffect ; SPLASH_EFFECT
|
||||
dw DisableEffect ; DISABLE_EFFECT
|
12
data/growth_rates.asm
Normal file
12
data/growth_rates.asm
Normal file
|
@ -0,0 +1,12 @@
|
|||
; each entry has the following scheme:
|
||||
; %AAAABBBB %SCCCCCCC %DDDDDDDD %EEEEEEEE
|
||||
; resulting in
|
||||
; (a*n^3)/b + sign*c*n^2 + d*n - e
|
||||
; where sign = -1 <=> S=1
|
||||
GrowthRateTable:
|
||||
db $11,$00,$00,$00 ; medium fast n^3
|
||||
db $34,$0A,$00,$1E ; (unused?) 3/4 n^3 + 10 n^2 - 30
|
||||
db $34,$14,$00,$46 ; (unused?) 3/4 n^3 + 20 n^2 - 70
|
||||
db $65,$8F,$64,$8C ; medium slow: 6/5 n^3 - 15 n^2 + 100 n - 140
|
||||
db $45,$00,$00,$00 ; fast: 4/5 n^3
|
||||
db $54,$00,$00,$00 ; slow: 5/4 n^3
|
2
data/guard_drink_items.asm
Normal file
2
data/guard_drink_items.asm
Normal file
|
@ -0,0 +1,2 @@
|
|||
GuardDrinksList:
|
||||
db FRESH_WATER, SODA_POP, LEMONADE, $00
|
11
data/ledge_tiles.asm
Normal file
11
data/ledge_tiles.asm
Normal file
|
@ -0,0 +1,11 @@
|
|||
LedgeTiles:
|
||||
; (player direction) (tile player standing on) (ledge tile) (input required)
|
||||
db SPRITE_FACING_DOWN, $2C,$37,D_DOWN
|
||||
db SPRITE_FACING_DOWN, $39,$36,D_DOWN
|
||||
db SPRITE_FACING_DOWN, $39,$37,D_DOWN
|
||||
db SPRITE_FACING_LEFT, $2C,$27,D_LEFT
|
||||
db SPRITE_FACING_LEFT, $39,$27,D_LEFT
|
||||
db SPRITE_FACING_RIGHT,$2C,$0D,D_RIGHT
|
||||
db SPRITE_FACING_RIGHT,$2C,$1D,D_RIGHT
|
||||
db SPRITE_FACING_RIGHT,$39,$0D,D_RIGHT
|
||||
db $FF
|
140
data/mon_party_sprite_pointers.asm
Normal file
140
data/mon_party_sprite_pointers.asm
Normal file
|
@ -0,0 +1,140 @@
|
|||
MonPartySpritePointers:
|
||||
dw SlowbroSprite + $c0
|
||||
db $40 / $10 ; 40 bytes
|
||||
db BANK(SlowbroSprite)
|
||||
dw vSprites
|
||||
|
||||
dw BallSprite
|
||||
db $80 / $10 ; $80 bytes
|
||||
db BANK(BallSprite)
|
||||
dw vSprites + $40
|
||||
|
||||
dw ClefairySprite + $c0
|
||||
db $40 / $10 ; $40 bytes
|
||||
db BANK(ClefairySprite)
|
||||
dw vSprites + $c0
|
||||
|
||||
dw BirdSprite + $c0
|
||||
db $40 / $10 ; $40 bytes
|
||||
db BANK(BirdSprite)
|
||||
dw vSprites + $100
|
||||
|
||||
dw SeelSprite
|
||||
db $40 / $10 ; $40 bytes
|
||||
db BANK(SeelSprite)
|
||||
dw vSprites + $140
|
||||
|
||||
dw MonPartySprites + $40
|
||||
db $10 / $10 ; $10 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $180
|
||||
|
||||
dw MonPartySprites + $50
|
||||
db $10 / $10 ; $10 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $1a0
|
||||
|
||||
dw MonPartySprites + $60
|
||||
db $10 / $10 ; $10 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $1c0
|
||||
|
||||
dw MonPartySprites + $70
|
||||
db $10 / $10 ; $10 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $1e0
|
||||
|
||||
dw MonPartySprites + $80
|
||||
db $10 / $10 ; $10 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $200
|
||||
|
||||
dw MonPartySprites + $90
|
||||
db $10 / $10 ; $10 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $220
|
||||
|
||||
dw MonPartySprites + $A0
|
||||
db $10 / $10 ; $10 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $240
|
||||
|
||||
dw MonPartySprites + $B0
|
||||
db $10 / $10 ; $10 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $260
|
||||
|
||||
dw MonPartySprites + $100
|
||||
db $40 / $10 ; $40 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $380
|
||||
|
||||
dw SlowbroSprite
|
||||
db $40 / $10 ; $40 bytes
|
||||
db BANK(SlowbroSprite)
|
||||
dw vSprites + $400
|
||||
|
||||
dw BallSprite
|
||||
db $80 / $10 ; $80 bytes
|
||||
db BANK(BallSprite)
|
||||
dw vSprites + $440
|
||||
|
||||
dw ClefairySprite
|
||||
db $40 / $10 ; $40 bytes
|
||||
db BANK(ClefairySprite)
|
||||
dw vSprites + $4c0
|
||||
|
||||
dw BirdSprite
|
||||
db $40 / $10 ; $40 bytes
|
||||
db BANK(BirdSprite)
|
||||
dw vSprites + $500
|
||||
|
||||
dw SeelSprite + $C0
|
||||
db $40 / $10 ; $40 bytes
|
||||
db BANK(SeelSprite)
|
||||
dw vSprites + $540
|
||||
|
||||
dw MonPartySprites
|
||||
db $10 / $10 ; $10 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $580
|
||||
|
||||
dw MonPartySprites + $10
|
||||
db $10 / $10 ; $10 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $5a0
|
||||
|
||||
dw MonPartySprites + $20
|
||||
db $10 / $10 ; $10 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $5c0
|
||||
|
||||
dw MonPartySprites + $30
|
||||
db $10 / $10 ; $10 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $5E0
|
||||
|
||||
dw MonPartySprites + $C0
|
||||
db $10 / $10 ; $10 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $600
|
||||
|
||||
dw MonPartySprites + $D0
|
||||
db $10 / $10 ; $10 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $620
|
||||
|
||||
dw MonPartySprites + $E0
|
||||
db $10 / $10 ; $10 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $640
|
||||
|
||||
dw MonPartySprites + $F0
|
||||
db $10 / $10 ; $10 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $660
|
||||
|
||||
dw MonPartySprites + $140
|
||||
db $40 / $10 ; $40 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $780
|
81
data/move_animation_pointers.asm
Normal file
81
data/move_animation_pointers.asm
Normal file
|
@ -0,0 +1,81 @@
|
|||
; Format: Special Effect ID (1 byte), Address (2 bytes)
|
||||
SpecialEffectPointers:
|
||||
db SE_DARK_SCREEN_FLASH ; $FE
|
||||
dw AnimationFlashScreen
|
||||
db SE_DARK_SCREEN_PALETTE ; $FD
|
||||
dw AnimationDarkScreenPalette
|
||||
db SE_RESET_SCREEN_PALETTE ; $FC
|
||||
dw AnimationResetScreenPalette
|
||||
db SE_SHAKE_SCREEN ; $FB
|
||||
dw AnimationShakeScreen
|
||||
db SE_WATER_DROPLETS_EVERYWHERE ; $FA
|
||||
dw AnimationWaterDropletsEverywhere
|
||||
db SE_DARKEN_MON_PALETTE ; $F9
|
||||
dw AnimationDarkenMonPalette
|
||||
db SE_FLASH_SCREEN_LONG ; $F8
|
||||
dw AnimationFlashScreenLong
|
||||
db SE_SLIDE_MON_UP ; $F7
|
||||
dw AnimationSlideMonUp
|
||||
db SE_SLIDE_MON_DOWN ; $F6
|
||||
dw AnimationSlideMonDown
|
||||
db SE_FLASH_MON_PIC ; $F5
|
||||
dw AnimationFlashMonPic
|
||||
db SE_SLIDE_MON_OFF ; $F4
|
||||
dw AnimationSlideMonOff
|
||||
db SE_BLINK_MON ; $F3
|
||||
dw AnimationBlinkMon
|
||||
db SE_MOVE_MON_HORIZONTALLY ; $F2
|
||||
dw AnimationMoveMonHorizontally
|
||||
db SE_RESET_MON_POSITION ; $F1
|
||||
dw AnimationResetMonPosition
|
||||
db SE_LIGHT_SCREEN_PALETTE ; $F0
|
||||
dw AnimationLightScreenPalette
|
||||
db SE_HIDE_MON_PIC ; $EF
|
||||
dw AnimationHideMonPic
|
||||
db SE_SQUISH_MON_PIC ; $EE
|
||||
dw AnimationSquishMonPic
|
||||
db SE_SHOOT_BALLS_UPWARD ; $ED
|
||||
dw AnimationShootBallsUpward
|
||||
db SE_SHOOT_MANY_BALLS_UPWARD ; $EC
|
||||
dw AnimationShootManyBallsUpward
|
||||
db SE_BOUNCE_UP_AND_DOWN ; $EB
|
||||
dw AnimationBoundUpAndDown
|
||||
db SE_MINIMIZE_MON ; $EA
|
||||
dw AnimationMinimizeMon
|
||||
db SE_SLIDE_MON_DOWN_AND_HIDE ; $E9
|
||||
dw AnimationSlideMonDownAndHide
|
||||
db SE_TRANSFORM_MON ; $E8
|
||||
dw AnimationTransformMon
|
||||
db SE_LEAVES_FALLING ; $E7
|
||||
dw AnimationLeavesFalling
|
||||
db SE_PETALS_FALLING ; $E6
|
||||
dw AnimationPetalsFalling
|
||||
db SE_SLIDE_MON_HALF_OFF ; $E5
|
||||
dw AnimationSlideMonHalfOff
|
||||
db SE_SHAKE_ENEMY_HUD ; $E4
|
||||
dw AnimationShakeEnemyHUD
|
||||
db SE_SHAKE_ENEMY_HUD_2 ; unused--same pointer as SE_SHAKE_ENEMY_HUD ($E4)
|
||||
dw AnimationShakeEnemyHUD
|
||||
db SE_SPIRAL_BALLS_INWARD ; $E2
|
||||
dw AnimationSpiralBallsInward
|
||||
db SE_DELAY_ANIMATION_10 ; $E1
|
||||
dw AnimationDelay10
|
||||
db SE_FLASH_ENEMY_MON_PIC ; unused--same as SE_FLASH_MON_PIC ($F5), but for the enemy mon
|
||||
dw AnimationFlashEnemyMonPic
|
||||
db SE_HIDE_ENEMY_MON_PIC ; $DF
|
||||
dw AnimationHideEnemyMonPic
|
||||
db SE_BLINK_ENEMY_MON ; $DE
|
||||
dw AnimationBlinkEnemyMon
|
||||
db SE_SHOW_MON_PIC ; $DD
|
||||
dw AnimationShowMonPic
|
||||
db SE_SHOW_ENEMY_MON_PIC ; $DC
|
||||
dw AnimationShowEnemyMonPic
|
||||
db SE_SLIDE_ENEMY_MON_OFF ; $DB
|
||||
dw AnimationSlideEnemyMonOff
|
||||
db SE_SHAKE_BACK_AND_FORTH ; $DA
|
||||
dw AnimationShakeBackAndForth
|
||||
db SE_SUBSTITUTE_MON ; $D9
|
||||
dw AnimationSubstitute
|
||||
db SE_WAVY_SCREEN ; $D8
|
||||
dw AnimationWavyScreen
|
||||
db $FF
|
75
data/move_animation_special_effects.asm
Normal file
75
data/move_animation_special_effects.asm
Normal file
|
@ -0,0 +1,75 @@
|
|||
; Format: Animation ID (1 byte), Address (2 bytes)
|
||||
AnimationIdSpecialEffects:
|
||||
db MEGA_PUNCH
|
||||
dw AnimationFlashScreen
|
||||
|
||||
db GUILLOTINE
|
||||
dw AnimationFlashScreen
|
||||
|
||||
db MEGA_KICK
|
||||
dw AnimationFlashScreen
|
||||
|
||||
db HEADBUTT
|
||||
dw AnimationFlashScreen
|
||||
|
||||
db TAIL_WHIP
|
||||
dw TailWhipAnimationUnused
|
||||
|
||||
db GROWL
|
||||
dw DoGrowlSpecialEffects
|
||||
|
||||
db DISABLE
|
||||
dw AnimationFlashScreen
|
||||
|
||||
db BLIZZARD
|
||||
dw DoBlizzardSpecialEffects
|
||||
|
||||
db BUBBLEBEAM
|
||||
dw AnimationFlashScreen
|
||||
|
||||
db HYPER_BEAM
|
||||
dw FlashScreenEveryFourFrameBlocks
|
||||
|
||||
db THUNDERBOLT
|
||||
dw FlashScreenEveryEightFrameBlocks
|
||||
|
||||
db REFLECT
|
||||
dw AnimationFlashScreen
|
||||
|
||||
db SELFDESTRUCT
|
||||
dw DoExplodeSpecialEffects
|
||||
|
||||
db SPORE
|
||||
dw AnimationFlashScreen
|
||||
|
||||
db EXPLOSION
|
||||
dw DoExplodeSpecialEffects
|
||||
|
||||
db ROCK_SLIDE
|
||||
dw DoRockSlideSpecialEffects
|
||||
|
||||
db TRADE_BALL_DROP_ANIM
|
||||
dw TradeHidePokemon
|
||||
|
||||
db TRADE_BALL_SHAKE_ANIM
|
||||
dw TradeShakePokeball
|
||||
|
||||
db TRADE_BALL_TILT_ANIM
|
||||
dw TradeJumpPokeball
|
||||
|
||||
db TOSS_ANIM
|
||||
dw DoBallTossSpecialEffects
|
||||
|
||||
db SHAKE_ANIM
|
||||
dw DoBallShakeSpecialEffects
|
||||
|
||||
db POOF_ANIM
|
||||
dw DoPoofSpecialEffects
|
||||
|
||||
db GREATTOSS_ANIM
|
||||
dw DoBallTossSpecialEffects
|
||||
|
||||
db ULTRATOSS_ANIM
|
||||
dw DoBallTossSpecialEffects
|
||||
|
||||
db $FF ; terminator
|
14
data/move_grammar.asm
Normal file
14
data/move_grammar.asm
Normal file
|
@ -0,0 +1,14 @@
|
|||
ExclamationPointMoveSets:
|
||||
db SWORDS_DANCE, GROWTH
|
||||
db $00
|
||||
db RECOVER, BIDE, SELFDESTRUCT, AMNESIA
|
||||
db $00
|
||||
db MEDITATE, AGILITY, TELEPORT, MIMIC, DOUBLE_TEAM, BARRAGE
|
||||
db $00
|
||||
db POUND, SCRATCH, VICEGRIP, WING_ATTACK, FLY, BIND, SLAM, HORN_ATTACK, BODY_SLAM
|
||||
db WRAP, THRASH, TAIL_WHIP, LEER, BITE, GROWL, ROAR, SING, PECK, COUNTER
|
||||
db STRENGTH, ABSORB, STRING_SHOT, EARTHQUAKE, FISSURE, DIG, TOXIC, SCREECH, HARDEN
|
||||
db MINIMIZE, WITHDRAW, DEFENSE_CURL, METRONOME, LICK, CLAMP, CONSTRICT, POISON_GAS
|
||||
db LEECH_LIFE, BUBBLE, FLASH, SPLASH, ACID_ARMOR, FURY_SWIPES, REST, SHARPEN, SLASH, SUBSTITUTE
|
||||
db $00
|
||||
db $FF ; terminator
|
168
data/move_sfx.asm
Normal file
168
data/move_sfx.asm
Normal file
|
@ -0,0 +1,168 @@
|
|||
MoveSoundTable:
|
||||
; ID, pitch mod, tempo mod
|
||||
db SFX_POUND, $00,$80 ; POUND
|
||||
db SFX_BATTLE_0C, $10,$80 ; KARATE_CHOP
|
||||
db SFX_DOUBLESLAP, $00,$80 ; DOUBLESLAP
|
||||
db SFX_BATTLE_0B, $01,$80 ; COMET_PUNCH
|
||||
db SFX_BATTLE_0D, $00,$40 ; MEGA_PUNCH
|
||||
db SFX_SILPH_SCOPE, $00,$ff ; PAY_DAY
|
||||
db SFX_BATTLE_0D, $10,$60 ; FIRE_PUNCH
|
||||
db SFX_BATTLE_0D, $20,$80 ; ICE_PUNCH
|
||||
db SFX_BATTLE_0D, $00,$a0 ; THUNDERPUNCH
|
||||
db SFX_DAMAGE, $00,$80 ; SCRATCH
|
||||
db SFX_BATTLE_0F, $20,$40 ; VICEGRIP
|
||||
db SFX_BATTLE_0F, $00,$80 ; GUILLOTINE
|
||||
db SFX_BATTLE_0E, $00,$a0 ; RAZOR_WIND
|
||||
db SFX_NOT_VERY_EFFECTIVE,$10,$c0 ; SWORDS_DANCE
|
||||
db SFX_NOT_VERY_EFFECTIVE,$00,$a0 ; CUT
|
||||
db SFX_BATTLE_12, $00,$c0 ; GUST
|
||||
db SFX_BATTLE_12, $10,$a0 ; WING_ATTACK
|
||||
db SFX_BATTLE_13, $00,$e0 ; WHIRLWIND
|
||||
db SFX_NOT_VERY_EFFECTIVE,$20,$c0 ; FLY
|
||||
db SFX_BATTLE_14, $00,$80 ; BIND
|
||||
db SFX_BATTLE_22, $00,$80 ; SLAM
|
||||
db SFX_VINE_WHIP, $01,$80 ; VINE_WHIP
|
||||
db SFX_BATTLE_20, $00,$80 ; STOMP
|
||||
db SFX_BATTLE_17, $f0,$40 ; DOUBLE_KICK
|
||||
db SFX_SUPER_EFFECTIVE, $00,$80 ; MEGA_KICK
|
||||
db SFX_BATTLE_17, $00,$80 ; JUMP_KICK
|
||||
db SFX_BATTLE_21, $10,$80 ; ROLLING_KICK
|
||||
db SFX_BATTLE_1B, $01,$a0 ; SAND_ATTACK
|
||||
db SFX_BATTLE_18, $00,$80 ; HEADBUTT
|
||||
db SFX_BATTLE_1E, $00,$60 ; HORN_ATTACK
|
||||
db SFX_BATTLE_1E, $01,$40 ; FURY_ATTACK
|
||||
db SFX_HORN_DRILL, $00,$a0 ; HORN_DRILL
|
||||
db SFX_SUPER_EFFECTIVE, $10,$a0 ; TACKLE
|
||||
db SFX_BATTLE_20, $00,$c0 ; BODY_SLAM
|
||||
db SFX_BATTLE_14, $10,$60 ; WRAP
|
||||
db SFX_SUPER_EFFECTIVE, $00,$a0 ; TAKE_DOWN
|
||||
db SFX_BATTLE_22, $11,$c0 ; THRASH
|
||||
db SFX_SUPER_EFFECTIVE, $20,$c0 ; DOUBLE_EDGE
|
||||
db SFX_BATTLE_21, $00,$80 ; TAIL_WHIP
|
||||
db SFX_BATTLE_1B, $00,$80 ; POISON_STING
|
||||
db SFX_BATTLE_1B, $20,$c0 ; TWINEEDLE
|
||||
db SFX_BATTLE_19, $00,$80 ; PIN_MISSILE
|
||||
db SFX_BATTLE_31, $ff,$40 ; LEER
|
||||
db SFX_BATTLE_1E, $00,$80 ; BITE
|
||||
db SFX_BATTLE_0B, $00,$c0 ; GROWL
|
||||
db SFX_BATTLE_0B, $00,$40 ; ROAR
|
||||
db SFX_BATTLE_35, $00,$80 ; SING
|
||||
db SFX_BATTLE_27, $40,$60 ; SUPERSONIC
|
||||
db SFX_BATTLE_27, $00,$80 ; SONICBOOM
|
||||
db SFX_BATTLE_27, $ff,$40 ; DISABLE
|
||||
db SFX_BATTLE_2A, $80,$c0 ; ACID
|
||||
db SFX_BATTLE_19, $10,$a0 ; EMBER
|
||||
db SFX_BATTLE_19, $21,$e0 ; FLAMETHROWER
|
||||
db SFX_BATTLE_29, $00,$80 ; MIST
|
||||
db SFX_BATTLE_24, $20,$60 ; WATER_GUN
|
||||
db SFX_BATTLE_2A, $00,$80 ; HYDRO_PUMP
|
||||
db SFX_BATTLE_2C, $00,$80 ; SURF
|
||||
db SFX_BATTLE_28, $40,$80 ; ICE_BEAM
|
||||
db SFX_BATTLE_29, $f0,$e0 ; BLIZZARD
|
||||
db SFX_PSYBEAM, $00,$80 ; PSYBEAM
|
||||
db SFX_BATTLE_2A, $f0,$60 ; BUBBLEBEAM
|
||||
db SFX_BATTLE_28, $00,$80 ; AURORA_BEAM
|
||||
db SFX_BATTLE_36, $00,$80 ; HYPER_BEAM
|
||||
db SFX_PECK, $01,$a0 ; PECK
|
||||
db SFX_BATTLE_13, $f0,$20 ; DRILL_PECK
|
||||
db SFX_BATTLE_23, $01,$c0 ; SUBMISSION
|
||||
db SFX_BATTLE_23, $00,$80 ; LOW_KICK
|
||||
db SFX_SUPER_EFFECTIVE, $00,$e0 ; COUNTER
|
||||
db SFX_BATTLE_26, $01,$60 ; SEISMIC_TOSS
|
||||
db SFX_BATTLE_26, $20,$40 ; STRENGTH
|
||||
db SFX_BATTLE_24, $00,$80 ; ABSORB
|
||||
db SFX_BATTLE_24, $40,$c0 ; MEGA_DRAIN
|
||||
db SFX_BATTLE_1B, $03,$60 ; LEECH_SEED
|
||||
db SFX_BATTLE_25, $11,$e0 ; GROWTH
|
||||
db SFX_BATTLE_12, $20,$e0 ; RAZOR_LEAF
|
||||
db SFX_BATTLE_2E, $00,$80 ; SOLARBEAM
|
||||
db SFX_BATTLE_1C, $00,$80 ; POISONPOWDER
|
||||
db SFX_BATTLE_1C, $11,$a0 ; STUN_SPORE
|
||||
db SFX_BATTLE_1C, $01,$c0 ; SLEEP_POWDER
|
||||
db SFX_BATTLE_13, $14,$c0 ; PETAL_DANCE
|
||||
db SFX_BATTLE_1B, $02,$a0 ; STRING_SHOT
|
||||
db SFX_BATTLE_29, $f0,$80 ; DRAGON_RAGE
|
||||
db SFX_BATTLE_29, $20,$c0 ; FIRE_SPIN
|
||||
db SFX_BATTLE_2F, $00,$20 ; THUNDERSHOCK
|
||||
db SFX_BATTLE_2F, $20,$80 ; THUNDERBOLT
|
||||
db SFX_BATTLE_2E, $12,$60 ; THUNDER_WAVE
|
||||
db SFX_BATTLE_26, $00,$80 ; THUNDER
|
||||
db SFX_BATTLE_14, $01,$e0 ; ROCK_THROW
|
||||
db SFX_BATTLE_29, $0f,$e0 ; EARTHQUAKE
|
||||
db SFX_BATTLE_29, $11,$20 ; FISSURE
|
||||
db SFX_DAMAGE, $10,$40 ; DIG
|
||||
db SFX_BATTLE_0F, $10,$c0 ; TOXIC
|
||||
db SFX_BATTLE_14, $00,$20 ; CONFUSION
|
||||
db SFX_PSYCHIC_M, $00,$80 ; PSYCHIC_M
|
||||
db SFX_BATTLE_35, $11,$18 ; HYPNOSIS
|
||||
db SFX_BATTLE_09, $20,$c0 ; MEDITATE
|
||||
db SFX_FAINT_FALL, $20,$c0 ; AGILITY
|
||||
db SFX_BATTLE_25, $00,$10 ; QUICK_ATTACK
|
||||
db SFX_BATTLE_26, $f0,$20 ; RAGE
|
||||
db SFX_BATTLE_33, $f0,$c0 ; TELEPORT
|
||||
db SFX_NOT_VERY_EFFECTIVE,$f0,$e0 ; NIGHT_SHADE
|
||||
db SFX_BATTLE_09, $f0,$40 ; MIMIC
|
||||
db SFX_BATTLE_31, $00,$80 ; SCREECH
|
||||
db SFX_BATTLE_33, $80,$40 ; DOUBLE_TEAM
|
||||
db SFX_BATTLE_33, $00,$80 ; RECOVER
|
||||
db SFX_BATTLE_14, $11,$20 ; HARDEN
|
||||
db SFX_BATTLE_14, $22,$10 ; MINIMIZE
|
||||
db SFX_BATTLE_1B, $f1,$ff ; SMOKESCREEN
|
||||
db SFX_BATTLE_13, $f1,$ff ; CONFUSE_RAY
|
||||
db SFX_BATTLE_14, $33,$30 ; WITHDRAW
|
||||
db SFX_BATTLE_32, $40,$c0 ; DEFENSE_CURL
|
||||
db SFX_BATTLE_0E, $20,$20 ; BARRIER
|
||||
db SFX_BATTLE_0E, $f0,$10 ; LIGHT_SCREEN
|
||||
db SFX_BATTLE_0F, $f8,$10 ; HAZE
|
||||
db SFX_NOT_VERY_EFFECTIVE,$f0,$10 ; REFLECT
|
||||
db SFX_BATTLE_25, $00,$80 ; FOCUS_ENERGY
|
||||
db SFX_BATTLE_18, $00,$c0 ; BIDE
|
||||
db SFX_BATTLE_32, $c0,$ff ; METRONOME
|
||||
db SFX_BATTLE_09, $f2,$20 ; MIRROR_MOVE
|
||||
db SFX_BATTLE_34, $00,$80 ; SELFDESTRUCT
|
||||
db SFX_BATTLE_34, $00,$40 ; EGG_BOMB
|
||||
db SFX_BATTLE_09, $00,$40 ; LICK
|
||||
db SFX_NOT_VERY_EFFECTIVE,$10,$ff ; SMOG
|
||||
db SFX_BATTLE_2A, $20,$20 ; SLUDGE
|
||||
db SFX_BATTLE_32, $00,$80 ; BONE_CLUB
|
||||
db SFX_BATTLE_29, $1f,$20 ; FIRE_BLAST
|
||||
db SFX_BATTLE_25, $2f,$80 ; WATERFALL
|
||||
db SFX_BATTLE_0F, $1f,$ff ; CLAMP
|
||||
db SFX_BATTLE_2B, $1f,$60 ; SWIFT
|
||||
db SFX_BATTLE_26, $1e,$20 ; SKULL_BASH
|
||||
db SFX_BATTLE_26, $1f,$18 ; SPIKE_CANNON
|
||||
db SFX_BATTLE_14, $0f,$80 ; CONSTRICT
|
||||
db SFX_BATTLE_09, $f8,$10 ; AMNESIA
|
||||
db SFX_FAINT_FALL, $18,$20 ; KINESIS
|
||||
db SFX_BATTLE_32, $08,$40 ; SOFTBOILED
|
||||
db SFX_BATTLE_17, $01,$e0 ; HI_JUMP_KICK
|
||||
db SFX_NOT_VERY_EFFECTIVE,$09,$ff ; GLARE
|
||||
db SFX_BATTLE_35, $42,$01 ; DREAM_EATER
|
||||
db SFX_BATTLE_1C, $00,$ff ; POISON_GAS
|
||||
db SFX_BATTLE_32, $08,$e0 ; BARRAGE
|
||||
db SFX_BATTLE_24, $00,$80 ; LEECH_LIFE
|
||||
db SFX_BATTLE_09, $88,$10 ; LOVELY_KISS
|
||||
db SFX_BATTLE_25, $48,$ff ; SKY_ATTACK
|
||||
db SFX_FAINT_FALL, $ff,$ff ; TRANSFORM
|
||||
db SFX_BATTLE_24, $ff,$10 ; BUBBLE
|
||||
db SFX_FAINT_FALL, $ff,$04 ; DIZZY_PUNCH
|
||||
db SFX_BATTLE_1C, $01,$ff ; SPORE
|
||||
db SFX_BATTLE_13, $f8,$ff ; FLASH
|
||||
db SFX_BATTLE_0C, $f0,$f0 ; PSYWAVE
|
||||
db SFX_BATTLE_0F, $08,$10 ; SPLASH
|
||||
db SFX_BATTLE_0D, $f0,$ff ; ACID_ARMOR
|
||||
db SFX_SUPER_EFFECTIVE, $f0,$ff ; CRABHAMMER
|
||||
db SFX_BATTLE_34, $10,$ff ; EXPLOSION
|
||||
db SFX_BATTLE_0E, $f0,$20 ; FURY_SWIPES
|
||||
db SFX_BATTLE_2B, $f0,$60 ; BONEMERANG
|
||||
db SFX_BATTLE_21, $12,$10 ; REST
|
||||
db SFX_BATTLE_36, $f0,$20 ; ROCK_SLIDE
|
||||
db SFX_BATTLE_1E, $12,$ff ; HYPER_FANG
|
||||
db SFX_BATTLE_31, $80,$04 ; SHARPEN
|
||||
db SFX_BATTLE_33, $f0,$10 ; CONVERSION
|
||||
db SFX_BATTLE_29, $f8,$ff ; TRI_ATTACK
|
||||
db SFX_BATTLE_26, $f0,$ff ; SUPER_FANG
|
||||
db SFX_NOT_VERY_EFFECTIVE,$01,$ff ; SLASH
|
||||
db SFX_BATTLE_2C, $d8,$04 ; SUBSTITUTE
|
||||
db SFX_BATTLE_0B, $00,$80 ; STRUGGLE
|
||||
db SFX_BATTLE_0B, $00,$80
|
9
data/overworld_items.asm
Normal file
9
data/overworld_items.asm
Normal file
|
@ -0,0 +1,9 @@
|
|||
; items which close the item menu when used
|
||||
UsableItems_CloseMenu:
|
||||
db ESCAPE_ROPE
|
||||
db ITEMFINDER
|
||||
db POKE_FLUTE
|
||||
db OLD_ROD
|
||||
db GOOD_ROD
|
||||
db SUPER_ROD
|
||||
db $ff
|
39
data/party_items.asm
Normal file
39
data/party_items.asm
Normal file
|
@ -0,0 +1,39 @@
|
|||
; items which bring up the party menu when used
|
||||
UsableItems_PartyMenu:
|
||||
db MOON_STONE
|
||||
db ANTIDOTE
|
||||
db BURN_HEAL
|
||||
db ICE_HEAL
|
||||
db AWAKENING
|
||||
db PARLYZ_HEAL
|
||||
db FULL_RESTORE
|
||||
db MAX_POTION
|
||||
db HYPER_POTION
|
||||
db SUPER_POTION
|
||||
db POTION
|
||||
db FIRE_STONE
|
||||
db THUNDER_STONE
|
||||
db WATER_STONE
|
||||
db HP_UP
|
||||
db PROTEIN
|
||||
db IRON
|
||||
db CARBOS
|
||||
db CALCIUM
|
||||
db RARE_CANDY
|
||||
db LEAF_STONE
|
||||
db FULL_HEAL
|
||||
db REVIVE
|
||||
db MAX_REVIVE
|
||||
db FRESH_WATER
|
||||
db SODA_POP
|
||||
db LEMONADE
|
||||
db X_ATTACK
|
||||
db X_DEFEND
|
||||
db X_SPEED
|
||||
db X_SPECIAL
|
||||
db PP_UP
|
||||
db ETHER
|
||||
db MAX_ETHER
|
||||
db ELIXER
|
||||
db MAX_ELIXER
|
||||
db $ff
|
102
data/predef_pointers.asm
Normal file
102
data/predef_pointers.asm
Normal file
|
@ -0,0 +1,102 @@
|
|||
PredefPointers::
|
||||
; these are pointers to ASM routines.
|
||||
; they appear to be used in overworld map scripts.
|
||||
add_predef DrawPlayerHUDAndHPBar
|
||||
add_predef CopyUncompressedPicToTilemap
|
||||
add_predef AnimateSendingOutMon
|
||||
add_predef ScaleSpriteByTwo
|
||||
add_predef LoadMonBackPic
|
||||
add_predef CopyDownscaledMonTiles
|
||||
dbw $03,JumpMoveEffect ; wrong bank
|
||||
add_predef HealParty
|
||||
add_predef MoveAnimation
|
||||
add_predef DivideBCDPredef
|
||||
add_predef DivideBCDPredef2
|
||||
add_predef AddBCDPredef
|
||||
add_predef SubBCDPredef
|
||||
add_predef DivideBCDPredef3
|
||||
add_predef DivideBCDPredef4
|
||||
add_predef InitPlayerData
|
||||
add_predef FlagActionPredef
|
||||
add_predef HideObject
|
||||
add_predef IsObjectHidden
|
||||
add_predef ApplyOutOfBattlePoisonDamage
|
||||
add_predef AnyPartyAlive
|
||||
add_predef ShowObject
|
||||
add_predef ShowObject2
|
||||
add_predef ReplaceTileBlock
|
||||
add_predef InitPlayerData2
|
||||
add_predef LoadTilesetHeader
|
||||
add_predef LearnMoveFromLevelUp
|
||||
add_predef LearnMove
|
||||
add_predef GetQuantityOfItemInBag
|
||||
dbw $03,CheckForHiddenObjectOrBookshelfOrCardKeyDoor ; home bank
|
||||
dbw $03,GiveItem ; home bank
|
||||
add_predef ChangeBGPalColor0_4Frames
|
||||
add_predef FindPathToPlayer
|
||||
add_predef PredefShakeScreenVertically
|
||||
add_predef CalcPositionOfPlayerRelativeToNPC
|
||||
add_predef ConvertNPCMovementDirectionsToJoypadMasks
|
||||
add_predef PredefShakeScreenHorizontally
|
||||
add_predef UpdateHPBar
|
||||
add_predef HPBarLength
|
||||
add_predef Diploma_TextBoxBorder
|
||||
add_predef DoubleOrHalveSelectedStats
|
||||
add_predef ShowPokedexMenu
|
||||
add_predef EvolutionAfterBattle
|
||||
add_predef SaveSAVtoSRAM0
|
||||
add_predef InitOpponent
|
||||
add_predef CableClub_Run
|
||||
add_predef DrawBadges
|
||||
add_predef ExternalClockTradeAnim
|
||||
add_predef BattleTransition
|
||||
add_predef CopyTileIDsFromList
|
||||
add_predef PlayIntro
|
||||
add_predef GetMoveSoundB
|
||||
add_predef FlashScreen
|
||||
add_predef GetTileAndCoordsInFrontOfPlayer
|
||||
add_predef StatusScreen
|
||||
add_predef StatusScreen2
|
||||
add_predef InternalClockTradeAnim
|
||||
add_predef TrainerEngage
|
||||
add_predef IndexToPokedex
|
||||
add_predef DisplayPicCenteredOrUpperRight
|
||||
add_predef UsedCut
|
||||
add_predef ShowPokedexData
|
||||
add_predef WriteMonMoves
|
||||
add_predef SaveSAV
|
||||
add_predef LoadSGB
|
||||
add_predef MarkTownVisitedAndLoadMissableObjects
|
||||
add_predef SetPartyMonTypes
|
||||
add_predef CanLearnTM
|
||||
add_predef TMToMove
|
||||
add_predef _RunPaletteCommand
|
||||
add_predef StarterDex
|
||||
add_predef _AddPartyMon
|
||||
add_predef UpdateHPBar2
|
||||
add_predef DrawEnemyHUDAndHPBar
|
||||
add_predef LoadTownMap_Nest
|
||||
add_predef PrintMonType
|
||||
add_predef EmotionBubble
|
||||
add_predef EmptyFunc3; return immediately
|
||||
add_predef AskName
|
||||
add_predef PewterGuys
|
||||
add_predef SaveSAVtoSRAM2
|
||||
add_predef LoadSAV2
|
||||
add_predef LoadSAV
|
||||
add_predef SaveSAVtoSRAM1
|
||||
add_predef DoInGameTradeDialogue
|
||||
add_predef HallOfFamePC
|
||||
add_predef DisplayDexRating
|
||||
dbw $1E, _LeaveMapAnim ; wrong bank
|
||||
dbw $1E, EnterMapAnim ; wrong bank
|
||||
add_predef GetTileTwoStepsInFrontOfPlayer
|
||||
add_predef CheckForCollisionWhenPushingBoulder
|
||||
add_predef PrintStrengthTxt
|
||||
add_predef PickUpItem
|
||||
add_predef PrintMoveType
|
||||
add_predef LoadMovePPs
|
||||
add_predef DrawHP
|
||||
add_predef DrawHP2
|
||||
add_predef DisplayElevatorFloorMenu
|
||||
add_predef OaksAideScript
|
5
data/rest_house_maps.asm
Normal file
5
data/rest_house_maps.asm
Normal file
|
@ -0,0 +1,5 @@
|
|||
SafariZoneRestHouses:
|
||||
db SAFARI_ZONE_WEST_REST_HOUSE
|
||||
db SAFARI_ZONE_EAST_REST_HOUSE
|
||||
db SAFARI_ZONE_NORTH_REST_HOUSE
|
||||
db -1
|
51
data/trainer_ai_pointers.asm
Normal file
51
data/trainer_ai_pointers.asm
Normal file
|
@ -0,0 +1,51 @@
|
|||
TrainerAIPointers:
|
||||
; one entry per trainer class
|
||||
; first byte, number of times (per Pokémon) it can occur
|
||||
; next two bytes, pointer to AI subroutine for trainer class
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 3,JugglerAI ; juggler_x
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 3,JugglerAI ; juggler
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 2,BlackbeltAI ; blackbelt
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 1,GenericAI ; chief
|
||||
dbw 3,GenericAI
|
||||
dbw 1,GiovanniAI ; giovanni
|
||||
dbw 3,GenericAI
|
||||
dbw 2,CooltrainerMAI ; cooltrainerm
|
||||
dbw 1,CooltrainerFAI ; cooltrainerf
|
||||
dbw 2,BrunoAI ; bruno
|
||||
dbw 5,BrockAI ; brock
|
||||
dbw 1,MistyAI ; misty
|
||||
dbw 1,LtSurgeAI ; surge
|
||||
dbw 1,ErikaAI ; erika
|
||||
dbw 2,KogaAI ; koga
|
||||
dbw 2,BlaineAI ; blaine
|
||||
dbw 1,SabrinaAI ; sabrina
|
||||
dbw 3,GenericAI
|
||||
dbw 1,Sony2AI ; sony2
|
||||
dbw 1,Sony3AI ; sony3
|
||||
dbw 2,LoreleiAI ; lorelei
|
||||
dbw 3,GenericAI
|
||||
dbw 2,AgathaAI ; agatha
|
||||
dbw 1,LanceAI ; lance
|
50
data/trainer_move_choices.asm
Normal file
50
data/trainer_move_choices.asm
Normal file
|
@ -0,0 +1,50 @@
|
|||
; move choice modification methods that are applied for each trainer class
|
||||
; 0 is sentinel value
|
||||
TrainerClassMoveChoiceModifications:
|
||||
db 0 ; YOUNGSTER
|
||||
db 1,0 ; BUG CATCHER
|
||||
db 1,0 ; LASS
|
||||
db 1,3,0 ; SAILOR
|
||||
db 1,0 ; JR_TRAINER_M
|
||||
db 1,0 ; JR_TRAINER_F
|
||||
db 1,2,3,0; POKEMANIAC
|
||||
db 1,2,0 ; SUPER_NERD
|
||||
db 1,0 ; HIKER
|
||||
db 1,0 ; BIKER
|
||||
db 1,3,0 ; BURGLAR
|
||||
db 1,0 ; ENGINEER
|
||||
db 1,2,0 ; JUGGLER_X
|
||||
db 1,3,0 ; FISHER
|
||||
db 1,3,0 ; SWIMMER
|
||||
db 0 ; CUE_BALL
|
||||
db 1,0 ; GAMBLER
|
||||
db 1,3,0 ; BEAUTY
|
||||
db 1,2,0 ; PSYCHIC_TR
|
||||
db 1,3,0 ; ROCKER
|
||||
db 1,0 ; JUGGLER
|
||||
db 1,0 ; TAMER
|
||||
db 1,0 ; BIRD_KEEPER
|
||||
db 1,0 ; BLACKBELT
|
||||
db 1,0 ; SONY1
|
||||
db 1,3,0 ; PROF_OAK
|
||||
db 1,2,0 ; CHIEF
|
||||
db 1,2,0 ; SCIENTIST
|
||||
db 1,3,0 ; GIOVANNI
|
||||
db 1,0 ; ROCKET
|
||||
db 1,3,0 ; COOLTRAINER_M
|
||||
db 1,3,0 ; COOLTRAINER_F
|
||||
db 1,0 ; BRUNO
|
||||
db 1,0 ; BROCK
|
||||
db 1,3,0 ; MISTY
|
||||
db 1,3,0 ; LT_SURGE
|
||||
db 1,3,0 ; ERIKA
|
||||
db 1,3,0 ; KOGA
|
||||
db 1,3,0 ; BLAINE
|
||||
db 1,3,0 ; SABRINA
|
||||
db 1,2,0 ; GENTLEMAN
|
||||
db 1,3,0 ; SONY2
|
||||
db 1,3,0 ; SONY3
|
||||
db 1,2,3,0; LORELEI
|
||||
db 1,0 ; CHANNELER
|
||||
db 1,0 ; AGATHA
|
||||
db 1,3,0 ; LANCE
|
7
data/vending_prices.asm
Normal file
7
data/vending_prices.asm
Normal file
|
@ -0,0 +1,7 @@
|
|||
VendingPrices:
|
||||
db FRESH_WATER
|
||||
money 200
|
||||
db SODA_POP
|
||||
money 300
|
||||
db LEMONADE
|
||||
money 350
|
17
data/warp_carpet_tile_ids.asm
Normal file
17
data/warp_carpet_tile_ids.asm
Normal file
|
@ -0,0 +1,17 @@
|
|||
WarpTileListPointers:
|
||||
dw .facingDownWarpTiles
|
||||
dw .facingUpWarpTiles
|
||||
dw .facingLeftWarpTiles
|
||||
dw .facingRightWarpTiles
|
||||
|
||||
.facingDownWarpTiles
|
||||
db $01,$12,$17,$3D,$04,$18,$33,$FF
|
||||
|
||||
.facingUpWarpTiles
|
||||
db $01,$5C,$FF
|
||||
|
||||
.facingLeftWarpTiles
|
||||
db $1A,$4B,$FF
|
||||
|
||||
.facingRightWarpTiles
|
||||
db $0F,$4E,$FF
|
7
data/warp_pad_hole_tile_ids.asm
Normal file
7
data/warp_pad_hole_tile_ids.asm
Normal file
|
@ -0,0 +1,7 @@
|
|||
; format: db tileset id, tile id, value to be put in [wStandingOnWarpPadOrHole]
|
||||
WarpPadAndHoleData:
|
||||
db FACILITY, $20, 1 ; warp pad
|
||||
db FACILITY, $11, 2 ; hole
|
||||
db CAVERN, $22, 2 ; hole
|
||||
db INTERIOR, $55, 1 ; warp pad
|
||||
db $FF
|
4
data/water_tilesets.asm
Normal file
4
data/water_tilesets.asm
Normal file
|
@ -0,0 +1,4 @@
|
|||
; tilesets with water
|
||||
WaterTilesets:
|
||||
db OVERWORLD, FOREST, DOJO, GYM, SHIP, SHIP_PORT, CAVERN, FACILITY, PLATEAU
|
||||
db $ff ; terminator
|
15
data/wild_probabilities.asm
Normal file
15
data/wild_probabilities.asm
Normal file
|
@ -0,0 +1,15 @@
|
|||
WildMonEncounterSlotChances:
|
||||
; There are 10 slots for wild pokemon, and this is the table that defines how common each of
|
||||
; those 10 slots is. A random number is generated and then the first byte of each pair in this
|
||||
; table is compared against that random number. If the random number is less than or equal
|
||||
; to the first byte, then that slot is chosen. The second byte is double the slot number.
|
||||
db $32, $00 ; 51/256 = 19.9% chance of slot 0
|
||||
db $65, $02 ; 51/256 = 19.9% chance of slot 1
|
||||
db $8C, $04 ; 39/256 = 15.2% chance of slot 2
|
||||
db $A5, $06 ; 25/256 = 9.8% chance of slot 3
|
||||
db $BE, $08 ; 25/256 = 9.8% chance of slot 4
|
||||
db $D7, $0A ; 25/256 = 9.8% chance of slot 5
|
||||
db $E4, $0C ; 13/256 = 5.1% chance of slot 6
|
||||
db $F1, $0E ; 13/256 = 5.1% chance of slot 7
|
||||
db $FC, $10 ; 11/256 = 4.3% chance of slot 8
|
||||
db $FF, $12 ; 3/256 = 1.2% chance of slot 9
|
|
@ -649,81 +649,7 @@ DoSpecialEffectByAnimationId:
|
|||
pop hl
|
||||
ret
|
||||
|
||||
; Format: Animation ID (1 byte), Address (2 bytes)
|
||||
AnimationIdSpecialEffects:
|
||||
db MEGA_PUNCH
|
||||
dw AnimationFlashScreen
|
||||
|
||||
db GUILLOTINE
|
||||
dw AnimationFlashScreen
|
||||
|
||||
db MEGA_KICK
|
||||
dw AnimationFlashScreen
|
||||
|
||||
db HEADBUTT
|
||||
dw AnimationFlashScreen
|
||||
|
||||
db TAIL_WHIP
|
||||
dw TailWhipAnimationUnused
|
||||
|
||||
db GROWL
|
||||
dw DoGrowlSpecialEffects
|
||||
|
||||
db DISABLE
|
||||
dw AnimationFlashScreen
|
||||
|
||||
db BLIZZARD
|
||||
dw DoBlizzardSpecialEffects
|
||||
|
||||
db BUBBLEBEAM
|
||||
dw AnimationFlashScreen
|
||||
|
||||
db HYPER_BEAM
|
||||
dw FlashScreenEveryFourFrameBlocks
|
||||
|
||||
db THUNDERBOLT
|
||||
dw FlashScreenEveryEightFrameBlocks
|
||||
|
||||
db REFLECT
|
||||
dw AnimationFlashScreen
|
||||
|
||||
db SELFDESTRUCT
|
||||
dw DoExplodeSpecialEffects
|
||||
|
||||
db SPORE
|
||||
dw AnimationFlashScreen
|
||||
|
||||
db EXPLOSION
|
||||
dw DoExplodeSpecialEffects
|
||||
|
||||
db ROCK_SLIDE
|
||||
dw DoRockSlideSpecialEffects
|
||||
|
||||
db TRADE_BALL_DROP_ANIM
|
||||
dw TradeHidePokemon
|
||||
|
||||
db TRADE_BALL_SHAKE_ANIM
|
||||
dw TradeShakePokeball
|
||||
|
||||
db TRADE_BALL_TILT_ANIM
|
||||
dw TradeJumpPokeball
|
||||
|
||||
db TOSS_ANIM
|
||||
dw DoBallTossSpecialEffects
|
||||
|
||||
db SHAKE_ANIM
|
||||
dw DoBallShakeSpecialEffects
|
||||
|
||||
db POOF_ANIM
|
||||
dw DoPoofSpecialEffects
|
||||
|
||||
db GREATTOSS_ANIM
|
||||
dw DoBallTossSpecialEffects
|
||||
|
||||
db ULTRATOSS_ANIM
|
||||
dw DoBallTossSpecialEffects
|
||||
|
||||
db $FF ; terminator
|
||||
INCLUDE "data/move_animation_special_effects.asm"
|
||||
|
||||
DoBallTossSpecialEffects:
|
||||
ld a, [wcf91]
|
||||
|
@ -985,87 +911,7 @@ TailWhipAnimationUnused:
|
|||
ld c, 20
|
||||
jp DelayFrames
|
||||
|
||||
; Format: Special Effect ID (1 byte), Address (2 bytes)
|
||||
SpecialEffectPointers:
|
||||
db SE_DARK_SCREEN_FLASH ; $FE
|
||||
dw AnimationFlashScreen
|
||||
db SE_DARK_SCREEN_PALETTE ; $FD
|
||||
dw AnimationDarkScreenPalette
|
||||
db SE_RESET_SCREEN_PALETTE ; $FC
|
||||
dw AnimationResetScreenPalette
|
||||
db SE_SHAKE_SCREEN ; $FB
|
||||
dw AnimationShakeScreen
|
||||
db SE_WATER_DROPLETS_EVERYWHERE ; $FA
|
||||
dw AnimationWaterDropletsEverywhere
|
||||
db SE_DARKEN_MON_PALETTE ; $F9
|
||||
dw AnimationDarkenMonPalette
|
||||
db SE_FLASH_SCREEN_LONG ; $F8
|
||||
dw AnimationFlashScreenLong
|
||||
db SE_SLIDE_MON_UP ; $F7
|
||||
dw AnimationSlideMonUp
|
||||
db SE_SLIDE_MON_DOWN ; $F6
|
||||
dw AnimationSlideMonDown
|
||||
db SE_FLASH_MON_PIC ; $F5
|
||||
dw AnimationFlashMonPic
|
||||
db SE_SLIDE_MON_OFF ; $F4
|
||||
dw AnimationSlideMonOff
|
||||
db SE_BLINK_MON ; $F3
|
||||
dw AnimationBlinkMon
|
||||
db SE_MOVE_MON_HORIZONTALLY ; $F2
|
||||
dw AnimationMoveMonHorizontally
|
||||
db SE_RESET_MON_POSITION ; $F1
|
||||
dw AnimationResetMonPosition
|
||||
db SE_LIGHT_SCREEN_PALETTE ; $F0
|
||||
dw AnimationLightScreenPalette
|
||||
db SE_HIDE_MON_PIC ; $EF
|
||||
dw AnimationHideMonPic
|
||||
db SE_SQUISH_MON_PIC ; $EE
|
||||
dw AnimationSquishMonPic
|
||||
db SE_SHOOT_BALLS_UPWARD ; $ED
|
||||
dw AnimationShootBallsUpward
|
||||
db SE_SHOOT_MANY_BALLS_UPWARD ; $EC
|
||||
dw AnimationShootManyBallsUpward
|
||||
db SE_BOUNCE_UP_AND_DOWN ; $EB
|
||||
dw AnimationBoundUpAndDown
|
||||
db SE_MINIMIZE_MON ; $EA
|
||||
dw AnimationMinimizeMon
|
||||
db SE_SLIDE_MON_DOWN_AND_HIDE ; $E9
|
||||
dw AnimationSlideMonDownAndHide
|
||||
db SE_TRANSFORM_MON ; $E8
|
||||
dw AnimationTransformMon
|
||||
db SE_LEAVES_FALLING ; $E7
|
||||
dw AnimationLeavesFalling
|
||||
db SE_PETALS_FALLING ; $E6
|
||||
dw AnimationPetalsFalling
|
||||
db SE_SLIDE_MON_HALF_OFF ; $E5
|
||||
dw AnimationSlideMonHalfOff
|
||||
db SE_SHAKE_ENEMY_HUD ; $E4
|
||||
dw AnimationShakeEnemyHUD
|
||||
db SE_SHAKE_ENEMY_HUD_2 ; unused--same pointer as SE_SHAKE_ENEMY_HUD ($E4)
|
||||
dw AnimationShakeEnemyHUD
|
||||
db SE_SPIRAL_BALLS_INWARD ; $E2
|
||||
dw AnimationSpiralBallsInward
|
||||
db SE_DELAY_ANIMATION_10 ; $E1
|
||||
dw AnimationDelay10
|
||||
db SE_FLASH_ENEMY_MON_PIC ; unused--same as SE_FLASH_MON_PIC ($F5), but for the enemy mon
|
||||
dw AnimationFlashEnemyMonPic
|
||||
db SE_HIDE_ENEMY_MON_PIC ; $DF
|
||||
dw AnimationHideEnemyMonPic
|
||||
db SE_BLINK_ENEMY_MON ; $DE
|
||||
dw AnimationBlinkEnemyMon
|
||||
db SE_SHOW_MON_PIC ; $DD
|
||||
dw AnimationShowMonPic
|
||||
db SE_SHOW_ENEMY_MON_PIC ; $DC
|
||||
dw AnimationShowEnemyMonPic
|
||||
db SE_SLIDE_ENEMY_MON_OFF ; $DB
|
||||
dw AnimationSlideEnemyMonOff
|
||||
db SE_SHAKE_BACK_AND_FORTH ; $DA
|
||||
dw AnimationShakeBackAndForth
|
||||
db SE_SUBSTITUTE_MON ; $D9
|
||||
dw AnimationSubstitute
|
||||
db SE_WAVY_SCREEN ; $D8
|
||||
dw AnimationWavyScreen
|
||||
db $FF
|
||||
INCLUDE "data/move_animation_pointers.asm"
|
||||
|
||||
AnimationDelay10:
|
||||
ld c, 10
|
||||
|
@ -2362,174 +2208,7 @@ IsCryMove:
|
|||
scf
|
||||
ret
|
||||
|
||||
MoveSoundTable:
|
||||
; ID, pitch mod, tempo mod
|
||||
db SFX_POUND, $00,$80 ; POUND
|
||||
db SFX_BATTLE_0C, $10,$80 ; KARATE_CHOP
|
||||
db SFX_DOUBLESLAP, $00,$80 ; DOUBLESLAP
|
||||
db SFX_BATTLE_0B, $01,$80 ; COMET_PUNCH
|
||||
db SFX_BATTLE_0D, $00,$40 ; MEGA_PUNCH
|
||||
db SFX_SILPH_SCOPE, $00,$ff ; PAY_DAY
|
||||
db SFX_BATTLE_0D, $10,$60 ; FIRE_PUNCH
|
||||
db SFX_BATTLE_0D, $20,$80 ; ICE_PUNCH
|
||||
db SFX_BATTLE_0D, $00,$a0 ; THUNDERPUNCH
|
||||
db SFX_DAMAGE, $00,$80 ; SCRATCH
|
||||
db SFX_BATTLE_0F, $20,$40 ; VICEGRIP
|
||||
db SFX_BATTLE_0F, $00,$80 ; GUILLOTINE
|
||||
db SFX_BATTLE_0E, $00,$a0 ; RAZOR_WIND
|
||||
db SFX_NOT_VERY_EFFECTIVE,$10,$c0 ; SWORDS_DANCE
|
||||
db SFX_NOT_VERY_EFFECTIVE,$00,$a0 ; CUT
|
||||
db SFX_BATTLE_12, $00,$c0 ; GUST
|
||||
db SFX_BATTLE_12, $10,$a0 ; WING_ATTACK
|
||||
db SFX_BATTLE_13, $00,$e0 ; WHIRLWIND
|
||||
db SFX_NOT_VERY_EFFECTIVE,$20,$c0 ; FLY
|
||||
db SFX_BATTLE_14, $00,$80 ; BIND
|
||||
db SFX_BATTLE_22, $00,$80 ; SLAM
|
||||
db SFX_VINE_WHIP, $01,$80 ; VINE_WHIP
|
||||
db SFX_BATTLE_20, $00,$80 ; STOMP
|
||||
db SFX_BATTLE_17, $f0,$40 ; DOUBLE_KICK
|
||||
db SFX_SUPER_EFFECTIVE, $00,$80 ; MEGA_KICK
|
||||
db SFX_BATTLE_17, $00,$80 ; JUMP_KICK
|
||||
db SFX_BATTLE_21, $10,$80 ; ROLLING_KICK
|
||||
db SFX_BATTLE_1B, $01,$a0 ; SAND_ATTACK
|
||||
db SFX_BATTLE_18, $00,$80 ; HEADBUTT
|
||||
db SFX_BATTLE_1E, $00,$60 ; HORN_ATTACK
|
||||
db SFX_BATTLE_1E, $01,$40 ; FURY_ATTACK
|
||||
db SFX_HORN_DRILL, $00,$a0 ; HORN_DRILL
|
||||
db SFX_SUPER_EFFECTIVE, $10,$a0 ; TACKLE
|
||||
db SFX_BATTLE_20, $00,$c0 ; BODY_SLAM
|
||||
db SFX_BATTLE_14, $10,$60 ; WRAP
|
||||
db SFX_SUPER_EFFECTIVE, $00,$a0 ; TAKE_DOWN
|
||||
db SFX_BATTLE_22, $11,$c0 ; THRASH
|
||||
db SFX_SUPER_EFFECTIVE, $20,$c0 ; DOUBLE_EDGE
|
||||
db SFX_BATTLE_21, $00,$80 ; TAIL_WHIP
|
||||
db SFX_BATTLE_1B, $00,$80 ; POISON_STING
|
||||
db SFX_BATTLE_1B, $20,$c0 ; TWINEEDLE
|
||||
db SFX_BATTLE_19, $00,$80 ; PIN_MISSILE
|
||||
db SFX_BATTLE_31, $ff,$40 ; LEER
|
||||
db SFX_BATTLE_1E, $00,$80 ; BITE
|
||||
db SFX_BATTLE_0B, $00,$c0 ; GROWL
|
||||
db SFX_BATTLE_0B, $00,$40 ; ROAR
|
||||
db SFX_BATTLE_35, $00,$80 ; SING
|
||||
db SFX_BATTLE_27, $40,$60 ; SUPERSONIC
|
||||
db SFX_BATTLE_27, $00,$80 ; SONICBOOM
|
||||
db SFX_BATTLE_27, $ff,$40 ; DISABLE
|
||||
db SFX_BATTLE_2A, $80,$c0 ; ACID
|
||||
db SFX_BATTLE_19, $10,$a0 ; EMBER
|
||||
db SFX_BATTLE_19, $21,$e0 ; FLAMETHROWER
|
||||
db SFX_BATTLE_29, $00,$80 ; MIST
|
||||
db SFX_BATTLE_24, $20,$60 ; WATER_GUN
|
||||
db SFX_BATTLE_2A, $00,$80 ; HYDRO_PUMP
|
||||
db SFX_BATTLE_2C, $00,$80 ; SURF
|
||||
db SFX_BATTLE_28, $40,$80 ; ICE_BEAM
|
||||
db SFX_BATTLE_29, $f0,$e0 ; BLIZZARD
|
||||
db SFX_PSYBEAM, $00,$80 ; PSYBEAM
|
||||
db SFX_BATTLE_2A, $f0,$60 ; BUBBLEBEAM
|
||||
db SFX_BATTLE_28, $00,$80 ; AURORA_BEAM
|
||||
db SFX_BATTLE_36, $00,$80 ; HYPER_BEAM
|
||||
db SFX_PECK, $01,$a0 ; PECK
|
||||
db SFX_BATTLE_13, $f0,$20 ; DRILL_PECK
|
||||
db SFX_BATTLE_23, $01,$c0 ; SUBMISSION
|
||||
db SFX_BATTLE_23, $00,$80 ; LOW_KICK
|
||||
db SFX_SUPER_EFFECTIVE, $00,$e0 ; COUNTER
|
||||
db SFX_BATTLE_26, $01,$60 ; SEISMIC_TOSS
|
||||
db SFX_BATTLE_26, $20,$40 ; STRENGTH
|
||||
db SFX_BATTLE_24, $00,$80 ; ABSORB
|
||||
db SFX_BATTLE_24, $40,$c0 ; MEGA_DRAIN
|
||||
db SFX_BATTLE_1B, $03,$60 ; LEECH_SEED
|
||||
db SFX_BATTLE_25, $11,$e0 ; GROWTH
|
||||
db SFX_BATTLE_12, $20,$e0 ; RAZOR_LEAF
|
||||
db SFX_BATTLE_2E, $00,$80 ; SOLARBEAM
|
||||
db SFX_BATTLE_1C, $00,$80 ; POISONPOWDER
|
||||
db SFX_BATTLE_1C, $11,$a0 ; STUN_SPORE
|
||||
db SFX_BATTLE_1C, $01,$c0 ; SLEEP_POWDER
|
||||
db SFX_BATTLE_13, $14,$c0 ; PETAL_DANCE
|
||||
db SFX_BATTLE_1B, $02,$a0 ; STRING_SHOT
|
||||
db SFX_BATTLE_29, $f0,$80 ; DRAGON_RAGE
|
||||
db SFX_BATTLE_29, $20,$c0 ; FIRE_SPIN
|
||||
db SFX_BATTLE_2F, $00,$20 ; THUNDERSHOCK
|
||||
db SFX_BATTLE_2F, $20,$80 ; THUNDERBOLT
|
||||
db SFX_BATTLE_2E, $12,$60 ; THUNDER_WAVE
|
||||
db SFX_BATTLE_26, $00,$80 ; THUNDER
|
||||
db SFX_BATTLE_14, $01,$e0 ; ROCK_THROW
|
||||
db SFX_BATTLE_29, $0f,$e0 ; EARTHQUAKE
|
||||
db SFX_BATTLE_29, $11,$20 ; FISSURE
|
||||
db SFX_DAMAGE, $10,$40 ; DIG
|
||||
db SFX_BATTLE_0F, $10,$c0 ; TOXIC
|
||||
db SFX_BATTLE_14, $00,$20 ; CONFUSION
|
||||
db SFX_PSYCHIC_M, $00,$80 ; PSYCHIC_M
|
||||
db SFX_BATTLE_35, $11,$18 ; HYPNOSIS
|
||||
db SFX_BATTLE_09, $20,$c0 ; MEDITATE
|
||||
db SFX_FAINT_FALL, $20,$c0 ; AGILITY
|
||||
db SFX_BATTLE_25, $00,$10 ; QUICK_ATTACK
|
||||
db SFX_BATTLE_26, $f0,$20 ; RAGE
|
||||
db SFX_BATTLE_33, $f0,$c0 ; TELEPORT
|
||||
db SFX_NOT_VERY_EFFECTIVE,$f0,$e0 ; NIGHT_SHADE
|
||||
db SFX_BATTLE_09, $f0,$40 ; MIMIC
|
||||
db SFX_BATTLE_31, $00,$80 ; SCREECH
|
||||
db SFX_BATTLE_33, $80,$40 ; DOUBLE_TEAM
|
||||
db SFX_BATTLE_33, $00,$80 ; RECOVER
|
||||
db SFX_BATTLE_14, $11,$20 ; HARDEN
|
||||
db SFX_BATTLE_14, $22,$10 ; MINIMIZE
|
||||
db SFX_BATTLE_1B, $f1,$ff ; SMOKESCREEN
|
||||
db SFX_BATTLE_13, $f1,$ff ; CONFUSE_RAY
|
||||
db SFX_BATTLE_14, $33,$30 ; WITHDRAW
|
||||
db SFX_BATTLE_32, $40,$c0 ; DEFENSE_CURL
|
||||
db SFX_BATTLE_0E, $20,$20 ; BARRIER
|
||||
db SFX_BATTLE_0E, $f0,$10 ; LIGHT_SCREEN
|
||||
db SFX_BATTLE_0F, $f8,$10 ; HAZE
|
||||
db SFX_NOT_VERY_EFFECTIVE,$f0,$10 ; REFLECT
|
||||
db SFX_BATTLE_25, $00,$80 ; FOCUS_ENERGY
|
||||
db SFX_BATTLE_18, $00,$c0 ; BIDE
|
||||
db SFX_BATTLE_32, $c0,$ff ; METRONOME
|
||||
db SFX_BATTLE_09, $f2,$20 ; MIRROR_MOVE
|
||||
db SFX_BATTLE_34, $00,$80 ; SELFDESTRUCT
|
||||
db SFX_BATTLE_34, $00,$40 ; EGG_BOMB
|
||||
db SFX_BATTLE_09, $00,$40 ; LICK
|
||||
db SFX_NOT_VERY_EFFECTIVE,$10,$ff ; SMOG
|
||||
db SFX_BATTLE_2A, $20,$20 ; SLUDGE
|
||||
db SFX_BATTLE_32, $00,$80 ; BONE_CLUB
|
||||
db SFX_BATTLE_29, $1f,$20 ; FIRE_BLAST
|
||||
db SFX_BATTLE_25, $2f,$80 ; WATERFALL
|
||||
db SFX_BATTLE_0F, $1f,$ff ; CLAMP
|
||||
db SFX_BATTLE_2B, $1f,$60 ; SWIFT
|
||||
db SFX_BATTLE_26, $1e,$20 ; SKULL_BASH
|
||||
db SFX_BATTLE_26, $1f,$18 ; SPIKE_CANNON
|
||||
db SFX_BATTLE_14, $0f,$80 ; CONSTRICT
|
||||
db SFX_BATTLE_09, $f8,$10 ; AMNESIA
|
||||
db SFX_FAINT_FALL, $18,$20 ; KINESIS
|
||||
db SFX_BATTLE_32, $08,$40 ; SOFTBOILED
|
||||
db SFX_BATTLE_17, $01,$e0 ; HI_JUMP_KICK
|
||||
db SFX_NOT_VERY_EFFECTIVE,$09,$ff ; GLARE
|
||||
db SFX_BATTLE_35, $42,$01 ; DREAM_EATER
|
||||
db SFX_BATTLE_1C, $00,$ff ; POISON_GAS
|
||||
db SFX_BATTLE_32, $08,$e0 ; BARRAGE
|
||||
db SFX_BATTLE_24, $00,$80 ; LEECH_LIFE
|
||||
db SFX_BATTLE_09, $88,$10 ; LOVELY_KISS
|
||||
db SFX_BATTLE_25, $48,$ff ; SKY_ATTACK
|
||||
db SFX_FAINT_FALL, $ff,$ff ; TRANSFORM
|
||||
db SFX_BATTLE_24, $ff,$10 ; BUBBLE
|
||||
db SFX_FAINT_FALL, $ff,$04 ; DIZZY_PUNCH
|
||||
db SFX_BATTLE_1C, $01,$ff ; SPORE
|
||||
db SFX_BATTLE_13, $f8,$ff ; FLASH
|
||||
db SFX_BATTLE_0C, $f0,$f0 ; PSYWAVE
|
||||
db SFX_BATTLE_0F, $08,$10 ; SPLASH
|
||||
db SFX_BATTLE_0D, $f0,$ff ; ACID_ARMOR
|
||||
db SFX_SUPER_EFFECTIVE, $f0,$ff ; CRABHAMMER
|
||||
db SFX_BATTLE_34, $10,$ff ; EXPLOSION
|
||||
db SFX_BATTLE_0E, $f0,$20 ; FURY_SWIPES
|
||||
db SFX_BATTLE_2B, $f0,$60 ; BONEMERANG
|
||||
db SFX_BATTLE_21, $12,$10 ; REST
|
||||
db SFX_BATTLE_36, $f0,$20 ; ROCK_SLIDE
|
||||
db SFX_BATTLE_1E, $12,$ff ; HYPER_FANG
|
||||
db SFX_BATTLE_31, $80,$04 ; SHARPEN
|
||||
db SFX_BATTLE_33, $f0,$10 ; CONVERSION
|
||||
db SFX_BATTLE_29, $f8,$ff ; TRI_ATTACK
|
||||
db SFX_BATTLE_26, $f0,$ff ; SUPER_FANG
|
||||
db SFX_NOT_VERY_EFFECTIVE,$01,$ff ; SLASH
|
||||
db SFX_BATTLE_2C, $d8,$04 ; SUBSTITUTE
|
||||
db SFX_BATTLE_0B, $00,$80 ; STRUGGLE
|
||||
db SFX_BATTLE_0B, $00,$80
|
||||
INCLUDE "data/move_sfx.asm"
|
||||
|
||||
CopyPicTiles:
|
||||
ld a, [H_WHOSETURN]
|
||||
|
|
|
@ -151,35 +151,7 @@ GetBattleTransitionID_IsDungeonMap:
|
|||
res 2, c
|
||||
ret
|
||||
|
||||
; GetBattleTransitionID_IsDungeonMap checks if wCurMap
|
||||
; is equal to one of these maps
|
||||
DungeonMaps1:
|
||||
db VIRIDIAN_FOREST
|
||||
db ROCK_TUNNEL_1F
|
||||
db SEAFOAM_ISLANDS_1F
|
||||
db ROCK_TUNNEL_B1F
|
||||
db $FF
|
||||
|
||||
; GetBattleTransitionID_IsDungeonMap checks if wCurMap
|
||||
; is in between or equal to each pair of maps
|
||||
DungeonMaps2:
|
||||
; all MT_MOON maps
|
||||
db MT_MOON_1F
|
||||
db MT_MOON_B2F
|
||||
|
||||
; all SS_ANNE maps, VICTORY_ROAD_1F, LANCES_ROOM, and HALL_OF_FAME
|
||||
db SS_ANNE_1F
|
||||
db HALL_OF_FAME
|
||||
|
||||
; all POKEMON_TOWER maps and Lavender Town buildings
|
||||
db LAVENDER_POKECENTER
|
||||
db LAVENDER_CUBONE_HOUSE
|
||||
|
||||
; SILPH_CO_[2-8]F, POKEMON_MANSION[2F-B1F], SAFARI_ZONE, and
|
||||
; CERULEAN_CAVE maps, except for SILPH_CO_1F
|
||||
db SILPH_CO_2F
|
||||
db CERULEAN_CAVE_1F
|
||||
db $FF
|
||||
INCLUDE "data/dungeon_maps.asm"
|
||||
|
||||
LoadBattleTransitionTile:
|
||||
ld hl, vChars1 + $7f0
|
||||
|
|
|
@ -5,7 +5,7 @@ PrintBeginningBattleText:
|
|||
ld a, [wCurMap]
|
||||
cp POKEMON_TOWER_3F
|
||||
jr c, .notPokemonTower
|
||||
cp MR_FUJIS_HOUSE
|
||||
cp POKEMON_TOWER_7F + 1
|
||||
jr c, .pokemonTower
|
||||
.notPokemonTower
|
||||
ld a, [wEnemyMonSpecies2]
|
||||
|
|
File diff suppressed because it is too large
Load diff
1493
engine/battle/effects.asm
Normal file
1493
engine/battle/effects.asm
Normal file
File diff suppressed because it is too large
Load diff
|
@ -18,95 +18,4 @@ SaveTrainerName:
|
|||
jr nz, .CopyCharacter
|
||||
ret
|
||||
|
||||
TrainerNamePointers:
|
||||
; what is the point of these?
|
||||
dw YoungsterName
|
||||
dw BugCatcherName
|
||||
dw LassName
|
||||
dw wTrainerName
|
||||
dw JrTrainerMName
|
||||
dw JrTrainerFName
|
||||
dw PokemaniacName
|
||||
dw SuperNerdName
|
||||
dw wTrainerName
|
||||
dw wTrainerName
|
||||
dw BurglarName
|
||||
dw EngineerName
|
||||
dw JugglerXName
|
||||
dw wTrainerName
|
||||
dw SwimmerName
|
||||
dw wTrainerName
|
||||
dw wTrainerName
|
||||
dw BeautyName
|
||||
dw wTrainerName
|
||||
dw RockerName
|
||||
dw JugglerName
|
||||
dw wTrainerName
|
||||
dw wTrainerName
|
||||
dw BlackbeltName
|
||||
dw wTrainerName
|
||||
dw ProfOakName
|
||||
dw ChiefName
|
||||
dw ScientistName
|
||||
dw wTrainerName
|
||||
dw RocketName
|
||||
dw CooltrainerMName
|
||||
dw CooltrainerFName
|
||||
dw wTrainerName
|
||||
dw wTrainerName
|
||||
dw wTrainerName
|
||||
dw wTrainerName
|
||||
dw wTrainerName
|
||||
dw wTrainerName
|
||||
dw wTrainerName
|
||||
dw wTrainerName
|
||||
dw wTrainerName
|
||||
dw wTrainerName
|
||||
dw wTrainerName
|
||||
dw wTrainerName
|
||||
dw wTrainerName
|
||||
dw wTrainerName
|
||||
dw wTrainerName
|
||||
|
||||
YoungsterName:
|
||||
db "YOUNGSTER@"
|
||||
BugCatcherName:
|
||||
db "BUG CATCHER@"
|
||||
LassName:
|
||||
db "LASS@"
|
||||
JrTrainerMName:
|
||||
db "JR.TRAINER♂@"
|
||||
JrTrainerFName:
|
||||
db "JR.TRAINER♀@"
|
||||
PokemaniacName:
|
||||
db "POKéMANIAC@"
|
||||
SuperNerdName:
|
||||
db "SUPER NERD@"
|
||||
BurglarName:
|
||||
db "BURGLAR@"
|
||||
EngineerName:
|
||||
db "ENGINEER@"
|
||||
JugglerXName:
|
||||
db "JUGGLER@"
|
||||
SwimmerName:
|
||||
db "SWIMMER@"
|
||||
BeautyName:
|
||||
db "BEAUTY@"
|
||||
RockerName:
|
||||
db "ROCKER@"
|
||||
JugglerName:
|
||||
db "JUGGLER@"
|
||||
BlackbeltName:
|
||||
db "BLACKBELT@"
|
||||
ProfOakName:
|
||||
db "PROF.OAK@"
|
||||
ChiefName:
|
||||
db "CHIEF@"
|
||||
ScientistName:
|
||||
db "SCIENTIST@"
|
||||
RocketName:
|
||||
db "ROCKET@"
|
||||
CooltrainerMName:
|
||||
db "COOLTRAINER♂@"
|
||||
CooltrainerFName:
|
||||
db "COOLTRAINER♀@"
|
||||
INCLUDE "text/trainer_name_pointers.asm"
|
||||
|
|
|
@ -273,58 +273,9 @@ ReadMove:
|
|||
pop hl
|
||||
ret
|
||||
|
||||
; move choice modification methods that are applied for each trainer class
|
||||
; 0 is sentinel value
|
||||
TrainerClassMoveChoiceModifications:
|
||||
db 0 ; YOUNGSTER
|
||||
db 1,0 ; BUG CATCHER
|
||||
db 1,0 ; LASS
|
||||
db 1,3,0 ; SAILOR
|
||||
db 1,0 ; JR_TRAINER_M
|
||||
db 1,0 ; JR_TRAINER_F
|
||||
db 1,2,3,0; POKEMANIAC
|
||||
db 1,2,0 ; SUPER_NERD
|
||||
db 1,0 ; HIKER
|
||||
db 1,0 ; BIKER
|
||||
db 1,3,0 ; BURGLAR
|
||||
db 1,0 ; ENGINEER
|
||||
db 1,2,0 ; JUGGLER_X
|
||||
db 1,3,0 ; FISHER
|
||||
db 1,3,0 ; SWIMMER
|
||||
db 0 ; CUE_BALL
|
||||
db 1,0 ; GAMBLER
|
||||
db 1,3,0 ; BEAUTY
|
||||
db 1,2,0 ; PSYCHIC_TR
|
||||
db 1,3,0 ; ROCKER
|
||||
db 1,0 ; JUGGLER
|
||||
db 1,0 ; TAMER
|
||||
db 1,0 ; BIRD_KEEPER
|
||||
db 1,0 ; BLACKBELT
|
||||
db 1,0 ; SONY1
|
||||
db 1,3,0 ; PROF_OAK
|
||||
db 1,2,0 ; CHIEF
|
||||
db 1,2,0 ; SCIENTIST
|
||||
db 1,3,0 ; GIOVANNI
|
||||
db 1,0 ; ROCKET
|
||||
db 1,3,0 ; COOLTRAINER_M
|
||||
db 1,3,0 ; COOLTRAINER_F
|
||||
db 1,0 ; BRUNO
|
||||
db 1,0 ; BROCK
|
||||
db 1,3,0 ; MISTY
|
||||
db 1,3,0 ; LT_SURGE
|
||||
db 1,3,0 ; ERIKA
|
||||
db 1,3,0 ; KOGA
|
||||
db 1,3,0 ; BLAINE
|
||||
db 1,3,0 ; SABRINA
|
||||
db 1,2,0 ; GENTLEMAN
|
||||
db 1,3,0 ; SONY2
|
||||
db 1,3,0 ; SONY3
|
||||
db 1,2,3,0; LORELEI
|
||||
db 1,0 ; CHANNELER
|
||||
db 1,0 ; AGATHA
|
||||
db 1,3,0 ; LANCE
|
||||
INCLUDE "data/trainer_move_choices.asm"
|
||||
|
||||
INCLUDE "engine/battle/trainer_pic_money_pointers.asm"
|
||||
INCLUDE "data/trainer_pic_money_pointers.asm"
|
||||
|
||||
INCLUDE "text/trainer_names.asm"
|
||||
|
||||
|
@ -368,57 +319,7 @@ TrainerAI:
|
|||
call Random
|
||||
jp hl
|
||||
|
||||
TrainerAIPointers:
|
||||
; one entry per trainer class
|
||||
; first byte, number of times (per Pokémon) it can occur
|
||||
; next two bytes, pointer to AI subroutine for trainer class
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 3,JugglerAI ; juggler_x
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 3,JugglerAI ; juggler
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 2,BlackbeltAI ; blackbelt
|
||||
dbw 3,GenericAI
|
||||
dbw 3,GenericAI
|
||||
dbw 1,GenericAI ; chief
|
||||
dbw 3,GenericAI
|
||||
dbw 1,GiovanniAI ; giovanni
|
||||
dbw 3,GenericAI
|
||||
dbw 2,CooltrainerMAI ; cooltrainerm
|
||||
dbw 1,CooltrainerFAI ; cooltrainerf
|
||||
dbw 2,BrunoAI ; bruno
|
||||
dbw 5,BrockAI ; brock
|
||||
dbw 1,MistyAI ; misty
|
||||
dbw 1,LtSurgeAI ; surge
|
||||
dbw 1,ErikaAI ; erika
|
||||
dbw 2,KogaAI ; koga
|
||||
dbw 2,BlaineAI ; blaine
|
||||
dbw 1,SabrinaAI ; sabrina
|
||||
dbw 3,GenericAI
|
||||
dbw 1,Sony2AI ; sony2
|
||||
dbw 1,Sony3AI ; sony3
|
||||
dbw 2,LoreleiAI ; lorelei
|
||||
dbw 3,GenericAI
|
||||
dbw 2,AgathaAI ; agatha
|
||||
dbw 1,LanceAI ; lance
|
||||
INCLUDE "data/trainer_ai_pointers.asm"
|
||||
|
||||
JugglerAI:
|
||||
cp 25 percent + 1
|
||||
|
|
|
@ -101,18 +101,4 @@ TryDoWildEncounter:
|
|||
xor a
|
||||
ret
|
||||
|
||||
WildMonEncounterSlotChances:
|
||||
; There are 10 slots for wild pokemon, and this is the table that defines how common each of
|
||||
; those 10 slots is. A random number is generated and then the first byte of each pair in this
|
||||
; table is compared against that random number. If the random number is less than or equal
|
||||
; to the first byte, then that slot is chosen. The second byte is double the slot number.
|
||||
db $32, $00 ; 51/256 = 19.9% chance of slot 0
|
||||
db $65, $02 ; 51/256 = 19.9% chance of slot 1
|
||||
db $8C, $04 ; 39/256 = 15.2% chance of slot 2
|
||||
db $A5, $06 ; 25/256 = 9.8% chance of slot 3
|
||||
db $BE, $08 ; 25/256 = 9.8% chance of slot 4
|
||||
db $D7, $0A ; 25/256 = 9.8% chance of slot 5
|
||||
db $E4, $0C ; 13/256 = 5.1% chance of slot 6
|
||||
db $F1, $0E ; 13/256 = 5.1% chance of slot 7
|
||||
db $FC, $10 ; 11/256 = 4.3% chance of slot 8
|
||||
db $FF, $12 ; 3/256 = 1.2% chance of slot 9
|
||||
INCLUDE "data/wild_probabilities.asm"
|
||||
|
|
|
@ -146,15 +146,4 @@ CalcDSquared:
|
|||
ld [H_MULTIPLIER], a
|
||||
jp Multiply
|
||||
|
||||
; each entry has the following scheme:
|
||||
; %AAAABBBB %SCCCCCCC %DDDDDDDD %EEEEEEEE
|
||||
; resulting in
|
||||
; (a*n^3)/b + sign*c*n^2 + d*n - e
|
||||
; where sign = -1 <=> S=1
|
||||
GrowthRateTable:
|
||||
db $11,$00,$00,$00 ; medium fast n^3
|
||||
db $34,$0A,$00,$1E ; (unused?) 3/4 n^3 + 10 n^2 - 30
|
||||
db $34,$14,$00,$46 ; (unused?) 3/4 n^3 + 20 n^2 - 70
|
||||
db $65,$8F,$64,$8C ; medium slow: 6/5 n^3 - 15 n^2 + 100 n - 140
|
||||
db $45,$00,$00,$00 ; fast: 4/5 n^3
|
||||
db $54,$00,$00,$00 ; slow: 5/4 n^3
|
||||
INCLUDE "data/growth_rates.asm"
|
||||
|
|
|
@ -36,43 +36,7 @@ PrintBookshelfText:
|
|||
ld [$ffdb], a
|
||||
jpba PrintCardKeyText
|
||||
|
||||
; format: db tileset id, bookshelf tile id, text id
|
||||
BookshelfTileIDs:
|
||||
db PLATEAU, $30
|
||||
db_tx_pre IndigoPlateauStatues
|
||||
db HOUSE, $3D
|
||||
db_tx_pre TownMapText
|
||||
db HOUSE, $1E
|
||||
db_tx_pre BookOrSculptureText
|
||||
db MANSION, $32
|
||||
db_tx_pre BookOrSculptureText
|
||||
db REDS_HOUSE_1, $32
|
||||
db_tx_pre BookOrSculptureText
|
||||
db LAB, $28
|
||||
db_tx_pre BookOrSculptureText
|
||||
db LOBBY, $16
|
||||
db_tx_pre ElevatorText
|
||||
db GYM, $1D
|
||||
db_tx_pre BookOrSculptureText
|
||||
db DOJO, $1D
|
||||
db_tx_pre BookOrSculptureText
|
||||
db GATE, $22
|
||||
db_tx_pre BookOrSculptureText
|
||||
db MART, $54
|
||||
db_tx_pre PokemonStuffText
|
||||
db MART, $55
|
||||
db_tx_pre PokemonStuffText
|
||||
db POKECENTER, $54
|
||||
db_tx_pre PokemonStuffText
|
||||
db POKECENTER, $55
|
||||
db_tx_pre PokemonStuffText
|
||||
db LOBBY, $50
|
||||
db_tx_pre PokemonStuffText
|
||||
db LOBBY, $52
|
||||
db_tx_pre PokemonStuffText
|
||||
db SHIP, $36
|
||||
db_tx_pre BookOrSculptureText
|
||||
db $FF
|
||||
INCLUDE "data/bookshelf_tile_ids.asm"
|
||||
|
||||
IndigoPlateauStatues:
|
||||
TX_ASM
|
||||
|
|
|
@ -2881,10 +2881,7 @@ IsNextTileShoreOrWater:
|
|||
and a
|
||||
ret
|
||||
|
||||
; tilesets with water
|
||||
WaterTilesets:
|
||||
db OVERWORLD, FOREST, DOJO, GYM, SHIP, SHIP_PORT, CAVERN, FACILITY, PLATEAU
|
||||
db $ff ; terminator
|
||||
INCLUDE "data/water_tilesets.asm"
|
||||
|
||||
ReadSuperRodData:
|
||||
; return e = 2 if no fish on this map
|
||||
|
|
|
@ -89,7 +89,7 @@ SomeonesPCText: db "SOMEONE's PC@"
|
|||
BillsPCText: db "BILL's PC@"
|
||||
PlayersPCText: db "'s PC@"
|
||||
OaksPCText: db "PROF.OAK's PC@"
|
||||
PKMNLeaguePCText: db $4a, "LEAGUE@"
|
||||
PKMNLeaguePCText: db "<pkmn>LEAGUE@"
|
||||
LogOffPCText: db "LOG OFF@"
|
||||
|
||||
BillsPC_::
|
||||
|
@ -339,9 +339,9 @@ DisplayMonListMenu:
|
|||
ret
|
||||
|
||||
BillsPCMenuText:
|
||||
db "WITHDRAW ", $4a
|
||||
next "DEPOSIT ", $4a
|
||||
next "RELEASE ", $4a
|
||||
db "WITHDRAW <pkmn>"
|
||||
next "DEPOSIT <pkmn>"
|
||||
next "RELEASE <pkmn>"
|
||||
next "CHANGE BOX"
|
||||
next "SEE YA!"
|
||||
db "@"
|
||||
|
|
|
@ -365,11 +365,7 @@ PrintAlphabet:
|
|||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
jp Delay3
|
||||
|
||||
LowerCaseAlphabet:
|
||||
db "abcdefghijklmnopqrstuvwxyz ×():;[]",$e1,$e2,"-?!♂♀/⠄,¥UPPER CASE@"
|
||||
|
||||
UpperCaseAlphabet:
|
||||
db "ABCDEFGHIJKLMNOPQRSTUVWXYZ ×():;[]",$e1,$e2,"-?!♂♀/⠄,¥lower case@"
|
||||
INCLUDE "text/alphabets.asm"
|
||||
|
||||
PrintNicknameAndUnderscores:
|
||||
call CalcStringLength
|
||||
|
@ -439,21 +435,7 @@ DakutensAndHandakutens:
|
|||
ld [wNamingScreenLetter], a
|
||||
ret
|
||||
|
||||
Dakutens:
|
||||
db "かが", "きぎ", "くぐ", "けげ", "こご"
|
||||
db "さざ", "しじ", "すず", "せぜ", "そぞ"
|
||||
db "ただ", "ちぢ", "つづ", "てで", "とど"
|
||||
db "はば", "ひび", "ふぶ", "へべ", "ほぼ"
|
||||
db "カガ", "キギ", "クグ", "ケゲ", "コゴ"
|
||||
db "サザ", "シジ", "スズ", "セゼ", "ソゾ"
|
||||
db "タダ", "チヂ", "ツヅ", "テデ", "トド"
|
||||
db "ハバ", "ヒビ", "フブ", "へべ", "ホボ"
|
||||
db $ff
|
||||
|
||||
Handakutens:
|
||||
db "はぱ", "ひぴ", "ふぷ", "へぺ", "ほぽ"
|
||||
db "ハパ", "ヒピ", "フプ", "へぺ", "ホポ"
|
||||
db $ff
|
||||
INCLUDE "text/dakutens.asm"
|
||||
|
||||
; calculates the length of the string at wcf4b and stores it in c
|
||||
CalcStringLength:
|
||||
|
|
|
@ -446,55 +446,9 @@ CannotGetOffHereText:
|
|||
TX_FAR _CannotGetOffHereText
|
||||
db "@"
|
||||
|
||||
; items which bring up the party menu when used
|
||||
UsableItems_PartyMenu:
|
||||
db MOON_STONE
|
||||
db ANTIDOTE
|
||||
db BURN_HEAL
|
||||
db ICE_HEAL
|
||||
db AWAKENING
|
||||
db PARLYZ_HEAL
|
||||
db FULL_RESTORE
|
||||
db MAX_POTION
|
||||
db HYPER_POTION
|
||||
db SUPER_POTION
|
||||
db POTION
|
||||
db FIRE_STONE
|
||||
db THUNDER_STONE
|
||||
db WATER_STONE
|
||||
db HP_UP
|
||||
db PROTEIN
|
||||
db IRON
|
||||
db CARBOS
|
||||
db CALCIUM
|
||||
db RARE_CANDY
|
||||
db LEAF_STONE
|
||||
db FULL_HEAL
|
||||
db REVIVE
|
||||
db MAX_REVIVE
|
||||
db FRESH_WATER
|
||||
db SODA_POP
|
||||
db LEMONADE
|
||||
db X_ATTACK
|
||||
db X_DEFEND
|
||||
db X_SPEED
|
||||
db X_SPECIAL
|
||||
db PP_UP
|
||||
db ETHER
|
||||
db MAX_ETHER
|
||||
db ELIXER
|
||||
db MAX_ELIXER
|
||||
db $ff
|
||||
INCLUDE "data/party_items.asm"
|
||||
|
||||
; items which close the item menu when used
|
||||
UsableItems_CloseMenu:
|
||||
db ESCAPE_ROPE
|
||||
db ITEMFINDER
|
||||
db POKE_FLUTE
|
||||
db OLD_ROD
|
||||
db GOOD_ROD
|
||||
db SUPER_ROD
|
||||
db $ff
|
||||
INCLUDE "data/overworld_items.asm"
|
||||
|
||||
StartMenu_TrainerInfo:
|
||||
call GBPalWhiteOut
|
||||
|
|
|
@ -130,10 +130,4 @@ LoadVendingMachineItem:
|
|||
ld [hVendingMachinePrice + 2], a
|
||||
ret
|
||||
|
||||
VendingPrices:
|
||||
db FRESH_WATER
|
||||
money 200
|
||||
db SODA_POP
|
||||
money 300
|
||||
db LEMONADE
|
||||
money 350
|
||||
INCLUDE "data/vending_prices.asm"
|
||||
|
|
|
@ -162,146 +162,7 @@ LoadMonPartySpriteGfxWithLCDDisabled:
|
|||
jr nz, .loop
|
||||
jp EnableLCD
|
||||
|
||||
MonPartySpritePointers:
|
||||
dw SlowbroSprite + $c0
|
||||
db $40 / $10 ; 40 bytes
|
||||
db BANK(SlowbroSprite)
|
||||
dw vSprites
|
||||
|
||||
dw BallSprite
|
||||
db $80 / $10 ; $80 bytes
|
||||
db BANK(BallSprite)
|
||||
dw vSprites + $40
|
||||
|
||||
dw ClefairySprite + $c0
|
||||
db $40 / $10 ; $40 bytes
|
||||
db BANK(ClefairySprite)
|
||||
dw vSprites + $c0
|
||||
|
||||
dw BirdSprite + $c0
|
||||
db $40 / $10 ; $40 bytes
|
||||
db BANK(BirdSprite)
|
||||
dw vSprites + $100
|
||||
|
||||
dw SeelSprite
|
||||
db $40 / $10 ; $40 bytes
|
||||
db BANK(SeelSprite)
|
||||
dw vSprites + $140
|
||||
|
||||
dw MonPartySprites + $40
|
||||
db $10 / $10 ; $10 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $180
|
||||
|
||||
dw MonPartySprites + $50
|
||||
db $10 / $10 ; $10 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $1a0
|
||||
|
||||
dw MonPartySprites + $60
|
||||
db $10 / $10 ; $10 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $1c0
|
||||
|
||||
dw MonPartySprites + $70
|
||||
db $10 / $10 ; $10 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $1e0
|
||||
|
||||
dw MonPartySprites + $80
|
||||
db $10 / $10 ; $10 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $200
|
||||
|
||||
dw MonPartySprites + $90
|
||||
db $10 / $10 ; $10 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $220
|
||||
|
||||
dw MonPartySprites + $A0
|
||||
db $10 / $10 ; $10 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $240
|
||||
|
||||
dw MonPartySprites + $B0
|
||||
db $10 / $10 ; $10 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $260
|
||||
|
||||
dw MonPartySprites + $100
|
||||
db $40 / $10 ; $40 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $380
|
||||
|
||||
dw SlowbroSprite
|
||||
db $40 / $10 ; $40 bytes
|
||||
db BANK(SlowbroSprite)
|
||||
dw vSprites + $400
|
||||
|
||||
dw BallSprite
|
||||
db $80 / $10 ; $80 bytes
|
||||
db BANK(BallSprite)
|
||||
dw vSprites + $440
|
||||
|
||||
dw ClefairySprite
|
||||
db $40 / $10 ; $40 bytes
|
||||
db BANK(ClefairySprite)
|
||||
dw vSprites + $4c0
|
||||
|
||||
dw BirdSprite
|
||||
db $40 / $10 ; $40 bytes
|
||||
db BANK(BirdSprite)
|
||||
dw vSprites + $500
|
||||
|
||||
dw SeelSprite + $C0
|
||||
db $40 / $10 ; $40 bytes
|
||||
db BANK(SeelSprite)
|
||||
dw vSprites + $540
|
||||
|
||||
dw MonPartySprites
|
||||
db $10 / $10 ; $10 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $580
|
||||
|
||||
dw MonPartySprites + $10
|
||||
db $10 / $10 ; $10 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $5a0
|
||||
|
||||
dw MonPartySprites + $20
|
||||
db $10 / $10 ; $10 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $5c0
|
||||
|
||||
dw MonPartySprites + $30
|
||||
db $10 / $10 ; $10 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $5E0
|
||||
|
||||
dw MonPartySprites + $C0
|
||||
db $10 / $10 ; $10 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $600
|
||||
|
||||
dw MonPartySprites + $D0
|
||||
db $10 / $10 ; $10 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $620
|
||||
|
||||
dw MonPartySprites + $E0
|
||||
db $10 / $10 ; $10 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $640
|
||||
|
||||
dw MonPartySprites + $F0
|
||||
db $10 / $10 ; $10 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $660
|
||||
|
||||
dw MonPartySprites + $140
|
||||
db $40 / $10 ; $40 bytes
|
||||
db BANK(MonPartySprites)
|
||||
dw vSprites + $780
|
||||
INCLUDE "data/mon_party_sprite_pointers.asm"
|
||||
|
||||
WriteMonPartySpriteOAMByPartyIndex:
|
||||
; Write OAM blocks for the party mon in [hPartyMonIndex].
|
||||
|
|
|
@ -187,37 +187,7 @@ DisplayIntroNameTextBox:
|
|||
.namestring
|
||||
db "NAME@"
|
||||
|
||||
IF DEF(_RED)
|
||||
DefaultNamesPlayer:
|
||||
db "NEW NAME"
|
||||
next "RED"
|
||||
next "ASH"
|
||||
next "JACK"
|
||||
db "@"
|
||||
|
||||
DefaultNamesRival:
|
||||
db "NEW NAME"
|
||||
next "BLUE"
|
||||
next "GARY"
|
||||
next "JOHN"
|
||||
db "@"
|
||||
ENDC
|
||||
|
||||
IF DEF(_BLUE)
|
||||
DefaultNamesPlayer:
|
||||
db "NEW NAME"
|
||||
next "BLUE"
|
||||
next "GARY"
|
||||
next "JOHN"
|
||||
db "@"
|
||||
|
||||
DefaultNamesRival:
|
||||
db "NEW NAME"
|
||||
next "RED"
|
||||
next "ASH"
|
||||
next "JACK"
|
||||
db "@"
|
||||
ENDC
|
||||
INCLUDE "text/player_names.asm"
|
||||
|
||||
GetDefaultName:
|
||||
; a = name index
|
||||
|
@ -243,30 +213,7 @@ GetDefaultName:
|
|||
ld bc, $14
|
||||
jp CopyData
|
||||
|
||||
IF DEF(_RED)
|
||||
DefaultNamesPlayerList:
|
||||
db "NEW NAME@"
|
||||
db "RED@"
|
||||
db "ASH@"
|
||||
db "JACK@"
|
||||
DefaultNamesRivalList:
|
||||
db "NEW NAME@"
|
||||
db "BLUE@"
|
||||
db "GARY@"
|
||||
db "JOHN@"
|
||||
ENDC
|
||||
IF DEF(_BLUE)
|
||||
DefaultNamesPlayerList:
|
||||
db "NEW NAME@"
|
||||
db "BLUE@"
|
||||
db "GARY@"
|
||||
db "JOHN@"
|
||||
DefaultNamesRivalList:
|
||||
db "NEW NAME@"
|
||||
db "RED@"
|
||||
db "ASH@"
|
||||
db "JACK@"
|
||||
ENDC
|
||||
INCLUDE "text/player_names_list.asm"
|
||||
|
||||
TextTerminator_6b20:
|
||||
db "@"
|
||||
|
|
|
@ -248,16 +248,4 @@ ReplaceTreeTileBlock:
|
|||
ld [hl], a
|
||||
ret
|
||||
|
||||
CutTreeBlockSwaps:
|
||||
; first byte = tileset block containing the cut tree
|
||||
; second byte = corresponding tileset block after the cut animation happens
|
||||
db $32, $6D
|
||||
db $33, $6C
|
||||
db $34, $6F
|
||||
db $35, $4C
|
||||
db $60, $6E
|
||||
db $0B, $0A
|
||||
db $3C, $35
|
||||
db $3F, $35
|
||||
db $3D, $36
|
||||
db $FF ; list terminator
|
||||
INCLUDE "data/cut_tree_blocks.asm"
|
||||
|
|
|
@ -25,51 +25,4 @@ IsPlayerStandingOnDoorTile:
|
|||
and a
|
||||
ret
|
||||
|
||||
DoorTileIDPointers:
|
||||
dbw OVERWORLD, OverworldDoorTileIDs
|
||||
dbw FOREST, ForestDoorTileIDs
|
||||
dbw MART, MartDoorTileIDs
|
||||
dbw HOUSE, HouseDoorTileIDs
|
||||
dbw FOREST_GATE, TilesetMuseumDoorTileIDs
|
||||
dbw MUSEUM, TilesetMuseumDoorTileIDs
|
||||
dbw GATE, TilesetMuseumDoorTileIDs
|
||||
dbw SHIP, ShipDoorTileIDs
|
||||
dbw LOBBY, LobbyDoorTileIDs
|
||||
dbw MANSION, MansionDoorTileIDs
|
||||
dbw LAB, LabDoorTileIDs
|
||||
dbw FACILITY, FacilityDoorTileIDs
|
||||
dbw PLATEAU, PlateauDoorTileIDs
|
||||
db $ff
|
||||
|
||||
OverworldDoorTileIDs:
|
||||
db $1B,$58,$00
|
||||
|
||||
ForestDoorTileIDs:
|
||||
db $3a,$00
|
||||
|
||||
MartDoorTileIDs:
|
||||
db $5e,$00
|
||||
|
||||
HouseDoorTileIDs:
|
||||
db $54,$00
|
||||
|
||||
TilesetMuseumDoorTileIDs:
|
||||
db $3b,$00
|
||||
|
||||
ShipDoorTileIDs:
|
||||
db $1e,$00
|
||||
|
||||
LobbyDoorTileIDs:
|
||||
db $1c,$38,$1a,$00
|
||||
|
||||
MansionDoorTileIDs:
|
||||
db $1a,$1c,$53,$00
|
||||
|
||||
LabDoorTileIDs:
|
||||
db $34,$00
|
||||
|
||||
FacilityDoorTileIDs:
|
||||
db $43,$58,$1b,$00
|
||||
|
||||
PlateauDoorTileIDs:
|
||||
db $3b,$1b,$00
|
||||
INCLUDE "data/door_tile_ids.asm"
|
||||
|
|
|
@ -54,17 +54,7 @@ HandleLedges:
|
|||
call PlaySound
|
||||
ret
|
||||
|
||||
; (player direction) (tile player standing on) (ledge tile) (input required)
|
||||
LedgeTiles:
|
||||
db SPRITE_FACING_DOWN, $2C,$37,D_DOWN
|
||||
db SPRITE_FACING_DOWN, $39,$36,D_DOWN
|
||||
db SPRITE_FACING_DOWN, $39,$37,D_DOWN
|
||||
db SPRITE_FACING_LEFT, $2C,$27,D_LEFT
|
||||
db SPRITE_FACING_LEFT, $39,$27,D_LEFT
|
||||
db SPRITE_FACING_RIGHT,$2C,$0D,D_RIGHT
|
||||
db SPRITE_FACING_RIGHT,$2C,$1D,D_RIGHT
|
||||
db SPRITE_FACING_RIGHT,$39,$0D,D_RIGHT
|
||||
db $FF
|
||||
INCLUDE "data/ledge_tiles.asm"
|
||||
|
||||
LoadHoppingShadowOAM:
|
||||
ld hl, vChars1 + $7f0
|
||||
|
|
|
@ -349,7 +349,7 @@ GetPlayerTeleportAnimFrameDelay:
|
|||
|
||||
IsPlayerStandingOnWarpPadOrHole:
|
||||
ld b, 0
|
||||
ld hl, .warpPadAndHoleData
|
||||
ld hl, WarpPadAndHoleData
|
||||
ld a, [wCurMapTileset]
|
||||
ld c, a
|
||||
.loop
|
||||
|
@ -373,13 +373,7 @@ IsPlayerStandingOnWarpPadOrHole:
|
|||
ld [wStandingOnWarpPadOrHole], a
|
||||
ret
|
||||
|
||||
; format: db tileset id, tile id, value to be put in [wStandingOnWarpPadOrHole]
|
||||
.warpPadAndHoleData:
|
||||
db FACILITY, $20, 1 ; warp pad
|
||||
db FACILITY, $11, 2 ; hole
|
||||
db CAVERN, $22, 2 ; hole
|
||||
db INTERIOR, $55, 1 ; warp pad
|
||||
db $FF
|
||||
INCLUDE "data/warp_pad_hole_tile_ids.asm"
|
||||
|
||||
FishingAnim:
|
||||
ld c, 10
|
||||
|
|
|
@ -157,12 +157,12 @@ IsWarpTileInFrontOfPlayer:
|
|||
call _GetTileAndCoordsInFrontOfPlayer
|
||||
ld a, [wCurMap]
|
||||
cp SS_ANNE_BOW
|
||||
jr z, .ssAnne5
|
||||
jr z, IsSSAnneBowWarpTileInFrontOfPlayer
|
||||
ld a, [wSpriteStateData1 + 9] ; player sprite's facing direction
|
||||
srl a
|
||||
ld c, a
|
||||
ld b, 0
|
||||
ld hl, .warpTileListPointers
|
||||
ld hl, WarpTileListPointers
|
||||
add hl, bc
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
|
@ -176,33 +176,17 @@ IsWarpTileInFrontOfPlayer:
|
|||
pop hl
|
||||
ret
|
||||
|
||||
.warpTileListPointers:
|
||||
dw .facingDownWarpTiles
|
||||
dw .facingUpWarpTiles
|
||||
dw .facingLeftWarpTiles
|
||||
dw .facingRightWarpTiles
|
||||
INCLUDE "data/warp_carpet_tile_ids.asm"
|
||||
|
||||
.facingDownWarpTiles
|
||||
db $01,$12,$17,$3D,$04,$18,$33,$FF
|
||||
|
||||
.facingUpWarpTiles
|
||||
db $01,$5C,$FF
|
||||
|
||||
.facingLeftWarpTiles
|
||||
db $1A,$4B,$FF
|
||||
|
||||
.facingRightWarpTiles
|
||||
db $0F,$4E,$FF
|
||||
|
||||
.ssAnne5
|
||||
IsSSAnneBowWarpTileInFrontOfPlayer:
|
||||
ld a, [wTileInFrontOfPlayer]
|
||||
cp $15
|
||||
jr nz, .notSSAnne5Warp
|
||||
scf
|
||||
jr .done
|
||||
jr IsWarpTileInFrontOfPlayer.done
|
||||
.notSSAnne5Warp
|
||||
and a
|
||||
jr .done
|
||||
jr IsWarpTileInFrontOfPlayer.done
|
||||
|
||||
IsPlayerStandingOnDoorTileOrWarpTile:
|
||||
push hl
|
||||
|
|
|
@ -12,5 +12,4 @@ RemoveGuardDrink:
|
|||
jr z, .drinkLoop
|
||||
jpba RemoveItemByID
|
||||
|
||||
GuardDrinksList:
|
||||
db FRESH_WATER, SODA_POP, LEMONADE, $00
|
||||
INCLUDE "data/guard_drink_items.asm"
|
||||
|
|
|
@ -22,8 +22,4 @@ SetLastBlackoutMap:
|
|||
pop hl
|
||||
ret
|
||||
|
||||
SafariZoneRestHouses:
|
||||
db SAFARI_ZONE_WEST_REST_HOUSE
|
||||
db SAFARI_ZONE_EAST_REST_HOUSE
|
||||
db SAFARI_ZONE_NORTH_REST_HOUSE
|
||||
db -1
|
||||
INCLUDE "data/rest_house_maps.asm"
|
||||
|
|
|
@ -49,105 +49,4 @@ GetPredefPointer:
|
|||
|
||||
ret
|
||||
|
||||
PredefPointers::
|
||||
; these are pointers to ASM routines.
|
||||
; they appear to be used in overworld map scripts.
|
||||
add_predef DrawPlayerHUDAndHPBar
|
||||
add_predef CopyUncompressedPicToTilemap
|
||||
add_predef AnimateSendingOutMon
|
||||
add_predef ScaleSpriteByTwo
|
||||
add_predef LoadMonBackPic
|
||||
add_predef CopyDownscaledMonTiles
|
||||
dbw $03,JumpMoveEffect ; wrong bank
|
||||
add_predef HealParty
|
||||
add_predef MoveAnimation
|
||||
add_predef DivideBCDPredef
|
||||
add_predef DivideBCDPredef2
|
||||
add_predef AddBCDPredef
|
||||
add_predef SubBCDPredef
|
||||
add_predef DivideBCDPredef3
|
||||
add_predef DivideBCDPredef4
|
||||
add_predef InitPlayerData
|
||||
add_predef FlagActionPredef
|
||||
add_predef HideObject
|
||||
add_predef IsObjectHidden
|
||||
add_predef ApplyOutOfBattlePoisonDamage
|
||||
add_predef AnyPartyAlive
|
||||
add_predef ShowObject
|
||||
add_predef ShowObject2
|
||||
add_predef ReplaceTileBlock
|
||||
add_predef InitPlayerData2
|
||||
add_predef LoadTilesetHeader
|
||||
add_predef LearnMoveFromLevelUp
|
||||
add_predef LearnMove
|
||||
add_predef GetQuantityOfItemInBag
|
||||
dbw $03,CheckForHiddenObjectOrBookshelfOrCardKeyDoor ; home bank
|
||||
dbw $03,GiveItem ; home bank
|
||||
add_predef ChangeBGPalColor0_4Frames
|
||||
add_predef FindPathToPlayer
|
||||
add_predef PredefShakeScreenVertically
|
||||
add_predef CalcPositionOfPlayerRelativeToNPC
|
||||
add_predef ConvertNPCMovementDirectionsToJoypadMasks
|
||||
add_predef PredefShakeScreenHorizontally
|
||||
add_predef UpdateHPBar
|
||||
add_predef HPBarLength
|
||||
add_predef Diploma_TextBoxBorder
|
||||
add_predef DoubleOrHalveSelectedStats
|
||||
add_predef ShowPokedexMenu
|
||||
add_predef EvolutionAfterBattle
|
||||
add_predef SaveSAVtoSRAM0
|
||||
add_predef InitOpponent
|
||||
add_predef CableClub_Run
|
||||
add_predef DrawBadges
|
||||
add_predef ExternalClockTradeAnim
|
||||
add_predef BattleTransition
|
||||
add_predef CopyTileIDsFromList
|
||||
add_predef PlayIntro
|
||||
add_predef GetMoveSoundB
|
||||
add_predef FlashScreen
|
||||
add_predef GetTileAndCoordsInFrontOfPlayer
|
||||
add_predef StatusScreen
|
||||
add_predef StatusScreen2
|
||||
add_predef InternalClockTradeAnim
|
||||
add_predef TrainerEngage
|
||||
add_predef IndexToPokedex
|
||||
add_predef DisplayPicCenteredOrUpperRight
|
||||
add_predef UsedCut
|
||||
add_predef ShowPokedexData
|
||||
add_predef WriteMonMoves
|
||||
add_predef SaveSAV
|
||||
add_predef LoadSGB
|
||||
add_predef MarkTownVisitedAndLoadMissableObjects
|
||||
add_predef SetPartyMonTypes
|
||||
add_predef CanLearnTM
|
||||
add_predef TMToMove
|
||||
add_predef _RunPaletteCommand
|
||||
add_predef StarterDex
|
||||
add_predef _AddPartyMon
|
||||
add_predef UpdateHPBar2
|
||||
add_predef DrawEnemyHUDAndHPBar
|
||||
add_predef LoadTownMap_Nest
|
||||
add_predef PrintMonType
|
||||
add_predef EmotionBubble
|
||||
add_predef EmptyFunc3; return immediately
|
||||
add_predef AskName
|
||||
add_predef PewterGuys
|
||||
add_predef SaveSAVtoSRAM2
|
||||
add_predef LoadSAV2
|
||||
add_predef LoadSAV
|
||||
add_predef SaveSAVtoSRAM1
|
||||
add_predef DoInGameTradeDialogue
|
||||
add_predef HallOfFamePC
|
||||
add_predef DisplayDexRating
|
||||
dbw $1E, _LeaveMapAnim ; wrong bank
|
||||
dbw $1E, EnterMapAnim ; wrong bank
|
||||
add_predef GetTileTwoStepsInFrontOfPlayer
|
||||
add_predef CheckForCollisionWhenPushingBoulder
|
||||
add_predef PrintStrengthTxt
|
||||
add_predef PickUpItem
|
||||
add_predef PrintMoveType
|
||||
add_predef LoadMovePPs
|
||||
add_predef DrawHP
|
||||
add_predef DrawHP2
|
||||
add_predef DisplayElevatorFloorMenu
|
||||
add_predef OaksAideScript
|
||||
INCLUDE "data/predef_pointers.asm"
|
||||
|
|
1
main.asm
1
main.asm
|
@ -919,6 +919,7 @@ INCLUDE "engine/battle/moveEffects/reflect_light_screen_effect.asm"
|
|||
SECTION "bankF", ROMX
|
||||
|
||||
INCLUDE "engine/battle/core.asm"
|
||||
INCLUDE "engine/battle/effects.asm"
|
||||
|
||||
|
||||
SECTION "bank10", ROMX
|
||||
|
|
5
text/alphabets.asm
Normal file
5
text/alphabets.asm
Normal file
|
@ -0,0 +1,5 @@
|
|||
LowerCaseAlphabet:
|
||||
db "abcdefghijklmnopqrstuvwxyz ×():;[]",$e1,$e2,"-?!♂♀/⠄,¥UPPER CASE@"
|
||||
|
||||
UpperCaseAlphabet:
|
||||
db "ABCDEFGHIJKLMNOPQRSTUVWXYZ ×():;[]",$e1,$e2,"-?!♂♀/⠄,¥lower case@"
|
15
text/dakutens.asm
Normal file
15
text/dakutens.asm
Normal file
|
@ -0,0 +1,15 @@
|
|||
Dakutens:
|
||||
db "かが", "きぎ", "くぐ", "けげ", "こご"
|
||||
db "さざ", "しじ", "すず", "せぜ", "そぞ"
|
||||
db "ただ", "ちぢ", "つづ", "てで", "とど"
|
||||
db "はば", "ひび", "ふぶ", "へべ", "ほぼ"
|
||||
db "カガ", "キギ", "クグ", "ケゲ", "コゴ"
|
||||
db "サザ", "シジ", "スズ", "セゼ", "ソゾ"
|
||||
db "タダ", "チヂ", "ツヅ", "テデ", "トド"
|
||||
db "ハバ", "ヒビ", "フブ", "へべ", "ホボ"
|
||||
db $ff
|
||||
|
||||
Handakutens:
|
||||
db "はぱ", "ひぴ", "ふぷ", "へぺ", "ほぽ"
|
||||
db "ハパ", "ヒピ", "フプ", "へぺ", "ホポ"
|
||||
db $ff
|
31
text/player_names.asm
Normal file
31
text/player_names.asm
Normal file
|
@ -0,0 +1,31 @@
|
|||
IF DEF(_RED)
|
||||
DefaultNamesPlayer:
|
||||
db "NEW NAME"
|
||||
next "RED"
|
||||
next "ASH"
|
||||
next "JACK"
|
||||
db "@"
|
||||
|
||||
DefaultNamesRival:
|
||||
db "NEW NAME"
|
||||
next "BLUE"
|
||||
next "GARY"
|
||||
next "JOHN"
|
||||
db "@"
|
||||
ENDC
|
||||
|
||||
IF DEF(_BLUE)
|
||||
DefaultNamesPlayer:
|
||||
db "NEW NAME"
|
||||
next "BLUE"
|
||||
next "GARY"
|
||||
next "JOHN"
|
||||
db "@"
|
||||
|
||||
DefaultNamesRival:
|
||||
db "NEW NAME"
|
||||
next "RED"
|
||||
next "ASH"
|
||||
next "JACK"
|
||||
db "@"
|
||||
ENDC
|
27
text/player_names_list.asm
Normal file
27
text/player_names_list.asm
Normal file
|
@ -0,0 +1,27 @@
|
|||
IF DEF(_RED)
|
||||
DefaultNamesPlayerList:
|
||||
db "NEW NAME@"
|
||||
db "RED@"
|
||||
db "ASH@"
|
||||
db "JACK@"
|
||||
|
||||
DefaultNamesRivalList:
|
||||
db "NEW NAME@"
|
||||
db "BLUE@"
|
||||
db "GARY@"
|
||||
db "JOHN@"
|
||||
ENDC
|
||||
|
||||
IF DEF(_BLUE)
|
||||
DefaultNamesPlayerList:
|
||||
db "NEW NAME@"
|
||||
db "BLUE@"
|
||||
db "GARY@"
|
||||
db "JOHN@"
|
||||
|
||||
DefaultNamesRivalList:
|
||||
db "NEW NAME@"
|
||||
db "RED@"
|
||||
db "ASH@"
|
||||
db "JACK@"
|
||||
ENDC
|
7
text/stat_names.asm
Normal file
7
text/stat_names.asm
Normal file
|
@ -0,0 +1,7 @@
|
|||
StatsTextStrings:
|
||||
db "ATTACK@"
|
||||
db "DEFENSE@"
|
||||
db "SPEED@"
|
||||
db "SPECIAL@"
|
||||
db "ACCURACY@"
|
||||
db "EVADE@"
|
92
text/trainer_name_pointers.asm
Normal file
92
text/trainer_name_pointers.asm
Normal file
|
@ -0,0 +1,92 @@
|
|||
TrainerNamePointers:
|
||||
; what is the point of these?
|
||||
dw YoungsterName
|
||||
dw BugCatcherName
|
||||
dw LassName
|
||||
dw wTrainerName
|
||||
dw JrTrainerMName
|
||||
dw JrTrainerFName
|
||||
dw PokemaniacName
|
||||
dw SuperNerdName
|
||||
dw wTrainerName
|
||||
dw wTrainerName
|
||||
dw BurglarName
|
||||
dw EngineerName
|
||||
dw JugglerXName
|
||||
dw wTrainerName
|
||||
dw SwimmerName
|
||||
dw wTrainerName
|
||||
dw wTrainerName
|
||||
dw BeautyName
|
||||
dw wTrainerName
|
||||
dw RockerName
|
||||
dw JugglerName
|
||||
dw wTrainerName
|
||||
dw wTrainerName
|
||||
dw BlackbeltName
|
||||
dw wTrainerName
|
||||
dw ProfOakName
|
||||
dw ChiefName
|
||||
dw ScientistName
|
||||
dw wTrainerName
|
||||
dw RocketName
|
||||
dw CooltrainerMName
|
||||
dw CooltrainerFName
|
||||
dw wTrainerName
|
||||
dw wTrainerName
|
||||
dw wTrainerName
|
||||
dw wTrainerName
|
||||
dw wTrainerName
|
||||
dw wTrainerName
|
||||
dw wTrainerName
|
||||
dw wTrainerName
|
||||
dw wTrainerName
|
||||
dw wTrainerName
|
||||
dw wTrainerName
|
||||
dw wTrainerName
|
||||
dw wTrainerName
|
||||
dw wTrainerName
|
||||
dw wTrainerName
|
||||
|
||||
YoungsterName:
|
||||
db "YOUNGSTER@"
|
||||
BugCatcherName:
|
||||
db "BUG CATCHER@"
|
||||
LassName:
|
||||
db "LASS@"
|
||||
JrTrainerMName:
|
||||
db "JR.TRAINER♂@"
|
||||
JrTrainerFName:
|
||||
db "JR.TRAINER♀@"
|
||||
PokemaniacName:
|
||||
db "POKéMANIAC@"
|
||||
SuperNerdName:
|
||||
db "SUPER NERD@"
|
||||
BurglarName:
|
||||
db "BURGLAR@"
|
||||
EngineerName:
|
||||
db "ENGINEER@"
|
||||
JugglerXName:
|
||||
db "JUGGLER@"
|
||||
SwimmerName:
|
||||
db "SWIMMER@"
|
||||
BeautyName:
|
||||
db "BEAUTY@"
|
||||
RockerName:
|
||||
db "ROCKER@"
|
||||
JugglerName:
|
||||
db "JUGGLER@"
|
||||
BlackbeltName:
|
||||
db "BLACKBELT@"
|
||||
ProfOakName:
|
||||
db "PROF.OAK@"
|
||||
ChiefName:
|
||||
db "CHIEF@"
|
||||
ScientistName:
|
||||
db "SCIENTIST@"
|
||||
RocketName:
|
||||
db "ROCKET@"
|
||||
CooltrainerMName:
|
||||
db "COOLTRAINER♂@"
|
||||
CooltrainerFName:
|
||||
db "COOLTRAINER♀@"
|
Loading…
Reference in a new issue