mirror of
https://github.com/thornAvery/kep-hack.git
synced 2025-09-16 18:30:50 +12: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
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
|
pop hl
|
||||||
ret
|
ret
|
||||||
|
|
||||||
; Format: Animation ID (1 byte), Address (2 bytes)
|
INCLUDE "data/move_animation_special_effects.asm"
|
||||||
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
|
|
||||||
|
|
||||||
DoBallTossSpecialEffects:
|
DoBallTossSpecialEffects:
|
||||||
ld a, [wcf91]
|
ld a, [wcf91]
|
||||||
|
@ -985,87 +911,7 @@ TailWhipAnimationUnused:
|
||||||
ld c, 20
|
ld c, 20
|
||||||
jp DelayFrames
|
jp DelayFrames
|
||||||
|
|
||||||
; Format: Special Effect ID (1 byte), Address (2 bytes)
|
INCLUDE "data/move_animation_pointers.asm"
|
||||||
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
|
|
||||||
|
|
||||||
AnimationDelay10:
|
AnimationDelay10:
|
||||||
ld c, 10
|
ld c, 10
|
||||||
|
@ -2362,174 +2208,7 @@ IsCryMove:
|
||||||
scf
|
scf
|
||||||
ret
|
ret
|
||||||
|
|
||||||
MoveSoundTable:
|
INCLUDE "data/move_sfx.asm"
|
||||||
; 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
|
|
||||||
|
|
||||||
CopyPicTiles:
|
CopyPicTiles:
|
||||||
ld a, [H_WHOSETURN]
|
ld a, [H_WHOSETURN]
|
||||||
|
|
|
@ -151,35 +151,7 @@ GetBattleTransitionID_IsDungeonMap:
|
||||||
res 2, c
|
res 2, c
|
||||||
ret
|
ret
|
||||||
|
|
||||||
; GetBattleTransitionID_IsDungeonMap checks if wCurMap
|
INCLUDE "data/dungeon_maps.asm"
|
||||||
; 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
|
|
||||||
|
|
||||||
LoadBattleTransitionTile:
|
LoadBattleTransitionTile:
|
||||||
ld hl, vChars1 + $7f0
|
ld hl, vChars1 + $7f0
|
||||||
|
|
|
@ -5,7 +5,7 @@ PrintBeginningBattleText:
|
||||||
ld a, [wCurMap]
|
ld a, [wCurMap]
|
||||||
cp POKEMON_TOWER_3F
|
cp POKEMON_TOWER_3F
|
||||||
jr c, .notPokemonTower
|
jr c, .notPokemonTower
|
||||||
cp MR_FUJIS_HOUSE
|
cp POKEMON_TOWER_7F + 1
|
||||||
jr c, .pokemonTower
|
jr c, .pokemonTower
|
||||||
.notPokemonTower
|
.notPokemonTower
|
||||||
ld a, [wEnemyMonSpecies2]
|
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
|
jr nz, .CopyCharacter
|
||||||
ret
|
ret
|
||||||
|
|
||||||
TrainerNamePointers:
|
INCLUDE "text/trainer_name_pointers.asm"
|
||||||
; 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♀@"
|
|
||||||
|
|
|
@ -273,58 +273,9 @@ ReadMove:
|
||||||
pop hl
|
pop hl
|
||||||
ret
|
ret
|
||||||
|
|
||||||
; move choice modification methods that are applied for each trainer class
|
INCLUDE "data/trainer_move_choices.asm"
|
||||||
; 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 "engine/battle/trainer_pic_money_pointers.asm"
|
INCLUDE "data/trainer_pic_money_pointers.asm"
|
||||||
|
|
||||||
INCLUDE "text/trainer_names.asm"
|
INCLUDE "text/trainer_names.asm"
|
||||||
|
|
||||||
|
@ -368,57 +319,7 @@ TrainerAI:
|
||||||
call Random
|
call Random
|
||||||
jp hl
|
jp hl
|
||||||
|
|
||||||
TrainerAIPointers:
|
INCLUDE "data/trainer_ai_pointers.asm"
|
||||||
; 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
|
|
||||||
|
|
||||||
JugglerAI:
|
JugglerAI:
|
||||||
cp 25 percent + 1
|
cp 25 percent + 1
|
||||||
|
|
|
@ -101,18 +101,4 @@ TryDoWildEncounter:
|
||||||
xor a
|
xor a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
WildMonEncounterSlotChances:
|
INCLUDE "data/wild_probabilities.asm"
|
||||||
; 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
|
|
||||||
|
|
|
@ -146,15 +146,4 @@ CalcDSquared:
|
||||||
ld [H_MULTIPLIER], a
|
ld [H_MULTIPLIER], a
|
||||||
jp Multiply
|
jp Multiply
|
||||||
|
|
||||||
; each entry has the following scheme:
|
INCLUDE "data/growth_rates.asm"
|
||||||
; %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
|
|
||||||
|
|
|
@ -36,43 +36,7 @@ PrintBookshelfText:
|
||||||
ld [$ffdb], a
|
ld [$ffdb], a
|
||||||
jpba PrintCardKeyText
|
jpba PrintCardKeyText
|
||||||
|
|
||||||
; format: db tileset id, bookshelf tile id, text id
|
INCLUDE "data/bookshelf_tile_ids.asm"
|
||||||
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
|
|
||||||
|
|
||||||
IndigoPlateauStatues:
|
IndigoPlateauStatues:
|
||||||
TX_ASM
|
TX_ASM
|
||||||
|
|
|
@ -2881,10 +2881,7 @@ IsNextTileShoreOrWater:
|
||||||
and a
|
and a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
; tilesets with water
|
INCLUDE "data/water_tilesets.asm"
|
||||||
WaterTilesets:
|
|
||||||
db OVERWORLD, FOREST, DOJO, GYM, SHIP, SHIP_PORT, CAVERN, FACILITY, PLATEAU
|
|
||||||
db $ff ; terminator
|
|
||||||
|
|
||||||
ReadSuperRodData:
|
ReadSuperRodData:
|
||||||
; return e = 2 if no fish on this map
|
; return e = 2 if no fish on this map
|
||||||
|
|
|
@ -89,7 +89,7 @@ SomeonesPCText: db "SOMEONE's PC@"
|
||||||
BillsPCText: db "BILL's PC@"
|
BillsPCText: db "BILL's PC@"
|
||||||
PlayersPCText: db "'s PC@"
|
PlayersPCText: db "'s PC@"
|
||||||
OaksPCText: db "PROF.OAK's PC@"
|
OaksPCText: db "PROF.OAK's PC@"
|
||||||
PKMNLeaguePCText: db $4a, "LEAGUE@"
|
PKMNLeaguePCText: db "<pkmn>LEAGUE@"
|
||||||
LogOffPCText: db "LOG OFF@"
|
LogOffPCText: db "LOG OFF@"
|
||||||
|
|
||||||
BillsPC_::
|
BillsPC_::
|
||||||
|
@ -339,9 +339,9 @@ DisplayMonListMenu:
|
||||||
ret
|
ret
|
||||||
|
|
||||||
BillsPCMenuText:
|
BillsPCMenuText:
|
||||||
db "WITHDRAW ", $4a
|
db "WITHDRAW <pkmn>"
|
||||||
next "DEPOSIT ", $4a
|
next "DEPOSIT <pkmn>"
|
||||||
next "RELEASE ", $4a
|
next "RELEASE <pkmn>"
|
||||||
next "CHANGE BOX"
|
next "CHANGE BOX"
|
||||||
next "SEE YA!"
|
next "SEE YA!"
|
||||||
db "@"
|
db "@"
|
||||||
|
|
|
@ -365,11 +365,7 @@ PrintAlphabet:
|
||||||
ld [H_AUTOBGTRANSFERENABLED], a
|
ld [H_AUTOBGTRANSFERENABLED], a
|
||||||
jp Delay3
|
jp Delay3
|
||||||
|
|
||||||
LowerCaseAlphabet:
|
INCLUDE "text/alphabets.asm"
|
||||||
db "abcdefghijklmnopqrstuvwxyz ×():;[]",$e1,$e2,"-?!♂♀/⠄,¥UPPER CASE@"
|
|
||||||
|
|
||||||
UpperCaseAlphabet:
|
|
||||||
db "ABCDEFGHIJKLMNOPQRSTUVWXYZ ×():;[]",$e1,$e2,"-?!♂♀/⠄,¥lower case@"
|
|
||||||
|
|
||||||
PrintNicknameAndUnderscores:
|
PrintNicknameAndUnderscores:
|
||||||
call CalcStringLength
|
call CalcStringLength
|
||||||
|
@ -439,21 +435,7 @@ DakutensAndHandakutens:
|
||||||
ld [wNamingScreenLetter], a
|
ld [wNamingScreenLetter], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Dakutens:
|
INCLUDE "text/dakutens.asm"
|
||||||
db "かが", "きぎ", "くぐ", "けげ", "こご"
|
|
||||||
db "さざ", "しじ", "すず", "せぜ", "そぞ"
|
|
||||||
db "ただ", "ちぢ", "つづ", "てで", "とど"
|
|
||||||
db "はば", "ひび", "ふぶ", "へべ", "ほぼ"
|
|
||||||
db "カガ", "キギ", "クグ", "ケゲ", "コゴ"
|
|
||||||
db "サザ", "シジ", "スズ", "セゼ", "ソゾ"
|
|
||||||
db "タダ", "チヂ", "ツヅ", "テデ", "トド"
|
|
||||||
db "ハバ", "ヒビ", "フブ", "へべ", "ホボ"
|
|
||||||
db $ff
|
|
||||||
|
|
||||||
Handakutens:
|
|
||||||
db "はぱ", "ひぴ", "ふぷ", "へぺ", "ほぽ"
|
|
||||||
db "ハパ", "ヒピ", "フプ", "へぺ", "ホポ"
|
|
||||||
db $ff
|
|
||||||
|
|
||||||
; calculates the length of the string at wcf4b and stores it in c
|
; calculates the length of the string at wcf4b and stores it in c
|
||||||
CalcStringLength:
|
CalcStringLength:
|
||||||
|
|
|
@ -446,55 +446,9 @@ CannotGetOffHereText:
|
||||||
TX_FAR _CannotGetOffHereText
|
TX_FAR _CannotGetOffHereText
|
||||||
db "@"
|
db "@"
|
||||||
|
|
||||||
; items which bring up the party menu when used
|
INCLUDE "data/party_items.asm"
|
||||||
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
|
|
||||||
|
|
||||||
; items which close the item menu when used
|
INCLUDE "data/overworld_items.asm"
|
||||||
UsableItems_CloseMenu:
|
|
||||||
db ESCAPE_ROPE
|
|
||||||
db ITEMFINDER
|
|
||||||
db POKE_FLUTE
|
|
||||||
db OLD_ROD
|
|
||||||
db GOOD_ROD
|
|
||||||
db SUPER_ROD
|
|
||||||
db $ff
|
|
||||||
|
|
||||||
StartMenu_TrainerInfo:
|
StartMenu_TrainerInfo:
|
||||||
call GBPalWhiteOut
|
call GBPalWhiteOut
|
||||||
|
|
|
@ -130,10 +130,4 @@ LoadVendingMachineItem:
|
||||||
ld [hVendingMachinePrice + 2], a
|
ld [hVendingMachinePrice + 2], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
VendingPrices:
|
INCLUDE "data/vending_prices.asm"
|
||||||
db FRESH_WATER
|
|
||||||
money 200
|
|
||||||
db SODA_POP
|
|
||||||
money 300
|
|
||||||
db LEMONADE
|
|
||||||
money 350
|
|
||||||
|
|
|
@ -162,146 +162,7 @@ LoadMonPartySpriteGfxWithLCDDisabled:
|
||||||
jr nz, .loop
|
jr nz, .loop
|
||||||
jp EnableLCD
|
jp EnableLCD
|
||||||
|
|
||||||
MonPartySpritePointers:
|
INCLUDE "data/mon_party_sprite_pointers.asm"
|
||||||
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
|
|
||||||
|
|
||||||
WriteMonPartySpriteOAMByPartyIndex:
|
WriteMonPartySpriteOAMByPartyIndex:
|
||||||
; Write OAM blocks for the party mon in [hPartyMonIndex].
|
; Write OAM blocks for the party mon in [hPartyMonIndex].
|
||||||
|
|
|
@ -187,37 +187,7 @@ DisplayIntroNameTextBox:
|
||||||
.namestring
|
.namestring
|
||||||
db "NAME@"
|
db "NAME@"
|
||||||
|
|
||||||
IF DEF(_RED)
|
INCLUDE "text/player_names.asm"
|
||||||
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
|
|
||||||
|
|
||||||
GetDefaultName:
|
GetDefaultName:
|
||||||
; a = name index
|
; a = name index
|
||||||
|
@ -243,30 +213,7 @@ GetDefaultName:
|
||||||
ld bc, $14
|
ld bc, $14
|
||||||
jp CopyData
|
jp CopyData
|
||||||
|
|
||||||
IF DEF(_RED)
|
INCLUDE "text/player_names_list.asm"
|
||||||
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
|
|
||||||
|
|
||||||
TextTerminator_6b20:
|
TextTerminator_6b20:
|
||||||
db "@"
|
db "@"
|
||||||
|
|
|
@ -248,16 +248,4 @@ ReplaceTreeTileBlock:
|
||||||
ld [hl], a
|
ld [hl], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
CutTreeBlockSwaps:
|
INCLUDE "data/cut_tree_blocks.asm"
|
||||||
; 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
|
|
||||||
|
|
|
@ -25,51 +25,4 @@ IsPlayerStandingOnDoorTile:
|
||||||
and a
|
and a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
DoorTileIDPointers:
|
INCLUDE "data/door_tile_ids.asm"
|
||||||
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
|
|
||||||
|
|
|
@ -54,17 +54,7 @@ HandleLedges:
|
||||||
call PlaySound
|
call PlaySound
|
||||||
ret
|
ret
|
||||||
|
|
||||||
; (player direction) (tile player standing on) (ledge tile) (input required)
|
INCLUDE "data/ledge_tiles.asm"
|
||||||
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
|
|
||||||
|
|
||||||
LoadHoppingShadowOAM:
|
LoadHoppingShadowOAM:
|
||||||
ld hl, vChars1 + $7f0
|
ld hl, vChars1 + $7f0
|
||||||
|
|
|
@ -349,7 +349,7 @@ GetPlayerTeleportAnimFrameDelay:
|
||||||
|
|
||||||
IsPlayerStandingOnWarpPadOrHole:
|
IsPlayerStandingOnWarpPadOrHole:
|
||||||
ld b, 0
|
ld b, 0
|
||||||
ld hl, .warpPadAndHoleData
|
ld hl, WarpPadAndHoleData
|
||||||
ld a, [wCurMapTileset]
|
ld a, [wCurMapTileset]
|
||||||
ld c, a
|
ld c, a
|
||||||
.loop
|
.loop
|
||||||
|
@ -373,13 +373,7 @@ IsPlayerStandingOnWarpPadOrHole:
|
||||||
ld [wStandingOnWarpPadOrHole], a
|
ld [wStandingOnWarpPadOrHole], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
; format: db tileset id, tile id, value to be put in [wStandingOnWarpPadOrHole]
|
INCLUDE "data/warp_pad_hole_tile_ids.asm"
|
||||||
.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
|
|
||||||
|
|
||||||
FishingAnim:
|
FishingAnim:
|
||||||
ld c, 10
|
ld c, 10
|
||||||
|
|
|
@ -157,12 +157,12 @@ IsWarpTileInFrontOfPlayer:
|
||||||
call _GetTileAndCoordsInFrontOfPlayer
|
call _GetTileAndCoordsInFrontOfPlayer
|
||||||
ld a, [wCurMap]
|
ld a, [wCurMap]
|
||||||
cp SS_ANNE_BOW
|
cp SS_ANNE_BOW
|
||||||
jr z, .ssAnne5
|
jr z, IsSSAnneBowWarpTileInFrontOfPlayer
|
||||||
ld a, [wSpriteStateData1 + 9] ; player sprite's facing direction
|
ld a, [wSpriteStateData1 + 9] ; player sprite's facing direction
|
||||||
srl a
|
srl a
|
||||||
ld c, a
|
ld c, a
|
||||||
ld b, 0
|
ld b, 0
|
||||||
ld hl, .warpTileListPointers
|
ld hl, WarpTileListPointers
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
ld h, [hl]
|
ld h, [hl]
|
||||||
|
@ -176,33 +176,17 @@ IsWarpTileInFrontOfPlayer:
|
||||||
pop hl
|
pop hl
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.warpTileListPointers:
|
INCLUDE "data/warp_carpet_tile_ids.asm"
|
||||||
dw .facingDownWarpTiles
|
|
||||||
dw .facingUpWarpTiles
|
|
||||||
dw .facingLeftWarpTiles
|
|
||||||
dw .facingRightWarpTiles
|
|
||||||
|
|
||||||
.facingDownWarpTiles
|
IsSSAnneBowWarpTileInFrontOfPlayer:
|
||||||
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
|
|
||||||
ld a, [wTileInFrontOfPlayer]
|
ld a, [wTileInFrontOfPlayer]
|
||||||
cp $15
|
cp $15
|
||||||
jr nz, .notSSAnne5Warp
|
jr nz, .notSSAnne5Warp
|
||||||
scf
|
scf
|
||||||
jr .done
|
jr IsWarpTileInFrontOfPlayer.done
|
||||||
.notSSAnne5Warp
|
.notSSAnne5Warp
|
||||||
and a
|
and a
|
||||||
jr .done
|
jr IsWarpTileInFrontOfPlayer.done
|
||||||
|
|
||||||
IsPlayerStandingOnDoorTileOrWarpTile:
|
IsPlayerStandingOnDoorTileOrWarpTile:
|
||||||
push hl
|
push hl
|
||||||
|
|
|
@ -12,5 +12,4 @@ RemoveGuardDrink:
|
||||||
jr z, .drinkLoop
|
jr z, .drinkLoop
|
||||||
jpba RemoveItemByID
|
jpba RemoveItemByID
|
||||||
|
|
||||||
GuardDrinksList:
|
INCLUDE "data/guard_drink_items.asm"
|
||||||
db FRESH_WATER, SODA_POP, LEMONADE, $00
|
|
||||||
|
|
|
@ -22,8 +22,4 @@ SetLastBlackoutMap:
|
||||||
pop hl
|
pop hl
|
||||||
ret
|
ret
|
||||||
|
|
||||||
SafariZoneRestHouses:
|
INCLUDE "data/rest_house_maps.asm"
|
||||||
db SAFARI_ZONE_WEST_REST_HOUSE
|
|
||||||
db SAFARI_ZONE_EAST_REST_HOUSE
|
|
||||||
db SAFARI_ZONE_NORTH_REST_HOUSE
|
|
||||||
db -1
|
|
||||||
|
|
|
@ -49,105 +49,4 @@ GetPredefPointer:
|
||||||
|
|
||||||
ret
|
ret
|
||||||
|
|
||||||
PredefPointers::
|
INCLUDE "data/predef_pointers.asm"
|
||||||
; 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
|
|
||||||
|
|
1
main.asm
1
main.asm
|
@ -919,6 +919,7 @@ INCLUDE "engine/battle/moveEffects/reflect_light_screen_effect.asm"
|
||||||
SECTION "bankF", ROMX
|
SECTION "bankF", ROMX
|
||||||
|
|
||||||
INCLUDE "engine/battle/core.asm"
|
INCLUDE "engine/battle/core.asm"
|
||||||
|
INCLUDE "engine/battle/effects.asm"
|
||||||
|
|
||||||
|
|
||||||
SECTION "bank10", ROMX
|
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