revert 093bda0

This commit is contained in:
Llinos Evans 2025-07-25 17:31:12 +01:00
parent 178cfd2f2d
commit 919250bd73
67 changed files with 94 additions and 1035 deletions

View file

@ -220,8 +220,6 @@ DEF BATTLEANIM_BASE_TILE EQU 7 * 7 ; Maximum size of a pokemon picture
const ANIM_OBJ_PLAYERHEAD_2ROW const ANIM_OBJ_PLAYERHEAD_2ROW
const ANIM_OBJ_COIN_HURL const ANIM_OBJ_COIN_HURL
const ANIM_OBJ_SHOOTING_MIST const ANIM_OBJ_SHOOTING_MIST
const ANIM_OBJ_WATER_SPORT_1
const ANIM_OBJ_WATER_SPORT_2
DEF NUM_ANIM_OBJS EQU const_value DEF NUM_ANIM_OBJS EQU const_value
; DoBattleAnimFrame arguments (see engine/battle_anims/functions.asm) ; DoBattleAnimFrame arguments (see engine/battle_anims/functions.asm)

View file

@ -195,7 +195,7 @@ DEF ALL_STATUS EQU (1 << PSN) | (1 << BRN) | (1 << FRZ) | (1 << PAR) | SLP_MASK
const SUBSTATUS_X_ACCURACY const SUBSTATUS_X_ACCURACY
const SUBSTATUS_MIST const SUBSTATUS_MIST
const SUBSTATUS_FOCUS_ENERGY const SUBSTATUS_FOCUS_ENERGY
const SUBSTATUS_UNDERWATER const_skip
const SUBSTATUS_SUBSTITUTE const SUBSTATUS_SUBSTITUTE
const SUBSTATUS_RECHARGE const SUBSTATUS_RECHARGE
const SUBSTATUS_RAGE const SUBSTATUS_RAGE

View file

@ -10,7 +10,6 @@ DEF COLL_FLOOR EQU $00
DEF COLL_01 EQU $01 ; garbage DEF COLL_01 EQU $01 ; garbage
DEF COLL_03 EQU $03 ; garbage DEF COLL_03 EQU $03 ; garbage
DEF COLL_04 EQU $04 ; garbage DEF COLL_04 EQU $04 ; garbage
DEF COLL_ROCKY_WALL EQU $06 ; added using this tutorial https://github.com/pret/pokecrystal/wiki/Rock-Climb
DEF COLL_WALL EQU $07 DEF COLL_WALL EQU $07
DEF COLL_CUT_08 EQU $08 ; unused DEF COLL_CUT_08 EQU $08 ; unused
DEF COLL_TALL_GRASS_10 EQU $10 ; unused DEF COLL_TALL_GRASS_10 EQU $10 ; unused
@ -27,8 +26,7 @@ DEF COLL_WHIRLPOOL EQU $24
DEF COLL_BUOY EQU $27 DEF COLL_BUOY EQU $27
DEF COLL_CUT_28 EQU $28 ; garbage DEF COLL_CUT_28 EQU $28 ; garbage
DEF COLL_WATER EQU $29 DEF COLL_WATER EQU $29
DEF COLL_DIVE_DOWN EQU $2a DEF COLL_ICE_2B EQU $2b ; unused
DEF COLL_DIVE_UP EQU $2b
DEF COLL_WHIRLPOOL_2C EQU $2c ; unused DEF COLL_WHIRLPOOL_2C EQU $2c ; unused
DEF COLL_WATERFALL_RIGHT EQU $30 ; unused DEF COLL_WATERFALL_RIGHT EQU $30 ; unused
DEF COLL_WATERFALL_LEFT EQU $31 ; unused DEF COLL_WATERFALL_LEFT EQU $31 ; unused

View file

@ -291,12 +291,6 @@ DEF HM01 EQU const_value
add_hm FLASH ; f8 add_hm FLASH ; f8
add_hm WHIRLPOOL ; f9 add_hm WHIRLPOOL ; f9
add_hm WATERFALL ; fa add_hm WATERFALL ; fa
; nihon hms - Bounce is left out under the pretense of it being Waterfall. We are making it a field move, though.
add_hm UPROOT
add_hm WATER_SPORT
add_hm STRONG_ARM
add_hm BRIGHT_MOSS
add_hm WIND_RIDE ; ADDME: this is impossible to add until 16bit items exist. add once it's there.
DEF NUM_HMS EQU __tmhm_value__ - NUM_TMS - 1 DEF NUM_HMS EQU __tmhm_value__ - NUM_TMS - 1
MACRO add_mt MACRO add_mt

View file

@ -55,11 +55,6 @@
const MONMENUITEM_ROCKSMASH ; 12 const MONMENUITEM_ROCKSMASH ; 12
const MONMENUITEM_MILKDRINK ; 13 const MONMENUITEM_MILKDRINK ; 13
const MONMENUITEM_SWEETSCENT ; 14 const MONMENUITEM_SWEETSCENT ; 14
const MONMENUITEM_UPROOT
const MONMENUITEM_WATER_SPORT
const MONMENUITEM_STRONG_ARM
const MONMENUITEM_BRIGHT_MOSS
const MONMENUITEM_WIND_RIDE
; options ; options
const MONMENUITEM_STATS ; 15 const MONMENUITEM_STATS ; 15
const MONMENUITEM_SWITCH ; 16 const MONMENUITEM_SWITCH ; 16

View file

@ -158,7 +158,4 @@
const EFFECT_FLY const EFFECT_FLY
const EFFECT_DEFENSE_CURL const EFFECT_DEFENSE_CURL
const EFFECT_COIN_HURL const EFFECT_COIN_HURL
const EFFECT_SURF
const EFFECT_WHIRLPOOL
const EFFECT_BOUNCE
DEF NUM_MOVE_EFFECTS EQU const_value DEF NUM_MOVE_EFFECTS EQU const_value

View file

@ -145,7 +145,6 @@
const SPRITE_BALDING_GUY const SPRITE_BALDING_GUY
const SPRITE_GAMEBOY_GIRL const SPRITE_GAMEBOY_GIRL
const SPRITE_OVERWORLD_PIKACHU const SPRITE_OVERWORLD_PIKACHU
const SPRITE_DIVE
DEF NUM_OVERWORLD_SPRITES EQU const_value - 1 DEF NUM_OVERWORLD_SPRITES EQU const_value - 1
; SpriteMons indexes (see data/sprites/sprite_mons.asm) ; SpriteMons indexes (see data/sprites/sprite_mons.asm)

View file

@ -267,13 +267,12 @@ DEF REGISTERED_POCKET EQU %11000000
DEF REGISTERED_NUMBER EQU %00111111 DEF REGISTERED_NUMBER EQU %00111111
; wPlayerState:: ; wPlayerState::
DEF PLAYER_NORMAL EQU 0 DEF PLAYER_NORMAL EQU 0
DEF PLAYER_BIKE EQU 1 DEF PLAYER_BIKE EQU 1
DEF PLAYER_SKATE EQU 2 DEF PLAYER_SKATE EQU 2
DEF PLAYER_SURF EQU 4 DEF PLAYER_SURF EQU 4
DEF PLAYER_SURF_PIKA EQU 8 DEF PLAYER_SURF_PIKA EQU 8
DEF PLAYER_RUN EQU 16 DEF PLAYER_RUN EQU 16
DEF PLAYER_WATER_SPORT EQU 16
; wCelebiEvent:: ; wCelebiEvent::
DEF CELEBIEVENT_FOREST_IS_RESTLESS_F EQU 2 DEF CELEBIEVENT_FOREST_IS_RESTLESS_F EQU 2

View file

@ -181,5 +181,4 @@ BattleCommandPointers:
dw BattleCommand_StartLoop dw BattleCommand_StartLoop
dw BattleCommand_Curl dw BattleCommand_Curl
dw BattleCommand_CoinHurlPower dw BattleCommand_CoinHurlPower
dw BattleCommand_DoubleUnderwaterDamage
assert_table_length NUM_EFFECT_COMMANDS assert_table_length NUM_EFFECT_COMMANDS

View file

@ -399,6 +399,4 @@ BattleAnimObjects:
battleanimobj ABSOLUTE_X, $ff, BATTLEANIMFRAMESET_75, BATTLEANIMFUNC_COINHURL, PAL_BATTLE_OB_BROWN, ANIM_GFX_STATUS battleanimobj ABSOLUTE_X, $ff, BATTLEANIMFRAMESET_75, BATTLEANIMFUNC_COINHURL, PAL_BATTLE_OB_BROWN, ANIM_GFX_STATUS
; ANIM_OBJ_SHOOTING_MIST ; ANIM_OBJ_SHOOTING_MIST
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_MIST, BATTLEANIMFUNC_USER_TO_TARGET_DISAPPEAR, PAL_BATTLE_OB_GRAY, ANIM_GFX_HAZE battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_MIST, BATTLEANIMFUNC_USER_TO_TARGET_DISAPPEAR, PAL_BATTLE_OB_GRAY, ANIM_GFX_HAZE
battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_67, BATTLEANIMFUNC_RAZOR_WIND, PAL_BATTLE_OB_BLUE, $1a ; ANIM_OBJ_DIVE_1
battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_68, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_BLUE, $1a ; ANIM_OBJ_DIVE_2
assert_table_length NUM_ANIM_OBJS assert_table_length NUM_ANIM_OBJS

View file

@ -7,7 +7,7 @@ TileCollisionTable::
db LAND_TILE ; COLL_03 db LAND_TILE ; COLL_03
db LAND_TILE ; COLL_04 db LAND_TILE ; COLL_04
db LAND_TILE ; 05 db LAND_TILE ; 05
db WALL_TILE ; COLL_ROCKY_WALL db LAND_TILE ; 06
db WALL_TILE ; COLL_WALL db WALL_TILE ; COLL_WALL
db LAND_TILE ; COLL_CUT_08 db LAND_TILE ; COLL_CUT_08
db LAND_TILE ; 09 db LAND_TILE ; 09
@ -43,8 +43,8 @@ TileCollisionTable::
db WALL_TILE ; COLL_BUOY db WALL_TILE ; COLL_BUOY
db WATER_TILE ; COLL_CUT_28 db WATER_TILE ; COLL_CUT_28
db WATER_TILE ; COLL_WATER db WATER_TILE ; COLL_WATER
db WATER_TILE | TALK ; COLL_DIVE_DOWN db WATERTILE | TALK ; COLL_DIVE_DOWN (unused)
db LAND_TILE | TALK ; COLL_DIVE_UP db LANDTILE | TALK ; COLL_DIVE_UP (unused)
db WATER_TILE | TALK ; COLL_WHIRLPOOL_2C db WATER_TILE | TALK ; COLL_WHIRLPOOL_2C
db WATER_TILE ; 2d db WATER_TILE ; 2d
db WATER_TILE ; 2e db WATER_TILE ; 2e

View file

@ -510,17 +510,17 @@ ItemAttributes:
item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; HM07 ; HM07
item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; HM08
item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; HM09
item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; HM10
item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; HM11
item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; HM12
item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
assert_table_length NUM_ITEMS + NUM_TMS + NUM_HMS assert_table_length NUM_ITEMS + NUM_TMS + NUM_HMS
; $fb
item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; $fc
item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; $fd
item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; $fe
item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; $ff
item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; $00 ; $00
item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
assert_table_length $100 assert_table_length $100

View file

@ -252,12 +252,11 @@ ItemNames::
li "HM05" li "HM05"
li "HM06" li "HM06"
li "HM07" li "HM07"
li "HM08"
; nihon hms
li "HM09"
li "HM10" ; BUG: HMSs over 9 display numbers incorrectly. Need to account for more than 9 HMs in bag display. The bug isn't here, it should be in the bag script.
li "HM11"
li "HM12"
assert_list_length NUM_ITEMS + NUM_TMS + NUM_HMS assert_list_length NUM_ITEMS + NUM_TMS + NUM_HMS
li "TERU-SAMA"
li "TERU-SAMA"
li "TERU-SAMA"
li "TERU-SAMA"
li "TERU-SAMA"
li "?" li "?"
assert_list_length $100 assert_list_length $100

View file

@ -14,13 +14,8 @@ MonMenuOptions:
dbbw MONMENU_FIELD_MOVE, MONMENUITEM_SOFTBOILED, SOFTBOILED dbbw MONMENU_FIELD_MOVE, MONMENUITEM_SOFTBOILED, SOFTBOILED
dbbw MONMENU_FIELD_MOVE, MONMENUITEM_HEADBUTT, HEADBUTT dbbw MONMENU_FIELD_MOVE, MONMENUITEM_HEADBUTT, HEADBUTT
dbbw MONMENU_FIELD_MOVE, MONMENUITEM_ROCKSMASH, ROCK_SMASH dbbw MONMENU_FIELD_MOVE, MONMENUITEM_ROCKSMASH, ROCK_SMASH
dbbw MONMENU_FIELD_MOVE, MONMENUITEM_MILKDRINK, MILK_DRINK ; TESTME: Am I high or is this wrong? dbbw MONMENU_FIELD_MOVE, MONMENUITEM_MILKDRINK, MILK_DRINK
dbbw MONMENU_FIELD_MOVE, MONMENUITEM_SWEETSCENT, SWEET_SCENT dbbw MONMENU_FIELD_MOVE, MONMENUITEM_SWEETSCENT, SWEET_SCENT
dbbw MONMENU_FIELD_MOVE, MONMENUITEM_UPROOT, UPROOT
dbbw MONMENU_FIELD_MOVE, MONMENUITEM_WATER_SPORT, WATER_SPORT
dbbw MONMENU_FIELD_MOVE, MONMENUITEM_STRONG_ARM, STRONG_ARM
dbbw MONMENU_FIELD_MOVE, MONMENUITEM_BRIGHT_MOSS, BRIGHT_MOSS
dbbw MONMENU_FIELD_MOVE, MONMENUITEM_WIND_RIDE, WIND_RIDE
; options ; options
dbbw MONMENU_MENUOPTION, MONMENUITEM_STATS, .stats dbbw MONMENU_MENUOPTION, MONMENUITEM_STATS, .stats
dbbw MONMENU_MENUOPTION, MONMENUITEM_SWITCH, .switch dbbw MONMENU_MENUOPTION, MONMENUITEM_SWITCH, .switch

View file

@ -291,7 +291,7 @@ BattleAnimations::
dw BattleAnim_Psybeam ; Synchronize dw BattleAnim_Psybeam ; Synchronize
dw BattleAnim_StrongArm dw BattleAnim_StrongArm
dw BattleAnim_Uppercut dw BattleAnim_Uppercut
dw BattleAnim_WaterSport dw BattleAnim_WaterGun ; uhhh
dw BattleAnim_Wind_Ride ; Wind Ride but real dw BattleAnim_Wind_Ride ; Wind Ride but real
dw BattleAnim_Flash ; Dazzling Gleam dw BattleAnim_Flash ; Dazzling Gleam
dw BattleAnim_Sing ; Disarming Voice dw BattleAnim_Sing ; Disarming Voice
@ -5055,40 +5055,4 @@ BattleAnim_ShowMon_1:
anim_incobj 1 anim_incobj 1
anim_wait 1 anim_wait 1
anim_ret anim_ret
BattleAnim_WaterSport:
anim_2gfx ANIM_GFX_SAND, ANIM_GFX_WATER
anim_if_param_equal $0, .hit
anim_if_param_equal $2, .fail
anim_call BattleAnim_TargetObj_2Row
anim_bgeffect ANIM_BG_DIG, $0, $1, $1
anim_obj ANIM_OBJ_WATER_SPORT_2, 72, 104, $0
anim_sound 0, 0, SFX_BUBBLEBEAM
.loop
anim_obj ANIM_OBJ_WATER_SPORT_1, 56, 104, $0
anim_wait 16
anim_loop 6, .loop
anim_wait 32
anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
anim_wait 8
anim_incbgeffect ANIM_BG_DIG
anim_call BattleAnim_ShowMon_0
anim_ret
.hit
anim_bgeffect ANIM_BG_SHAKE_SCREEN_X, $0, $0, $0
anim_sound 0, 1, SFX_HYDRO_PUMP
anim_obj ANIM_OBJ_HYDRO_PUMP, 124, 72, $0
anim_obj ANIM_OBJ_HYDRO_PUMP, 140, 72, $0
anim_bgeffect ANIM_BG_SHAKE_SCREEN_X, $30, $0, $0
anim_wait 12
anim_obj ANIM_OBJ_HYDRO_PUMP, 132, 72, $0
anim_bgeffect ANIM_BG_SHAKE_SCREEN_Y, $1c, $0, $0
anim_wait 24
anim_bgeffect ANIM_BG_SHAKE_SCREEN_Y, $8, $0, $0
anim_wait 24
anim_bgeffect ANIM_BG_WITHDRAW, $0, $0, $0
anim_wait 16
.fail
anim_bgeffect ANIM_BG_ENTER_MON, $0, $1, $0
anim_wait 32
anim_ret

View file

@ -1324,8 +1324,8 @@ UppercutDescription:
next "cause flinching.@" next "cause flinching.@"
WaterSportDescription: WaterSportDescription:
db "Lowers FIRE move" db "Lowers FIRE move" ; I really want to change this tbh
next "power to attack.@" next "power.@"
DazzlingGleamDescription: DazzlingGleamDescription:
db "Flashes a bright" db "Flashes a bright"

View file

@ -2097,68 +2097,3 @@ CoinHurl: ; Identical to Return, except it calculates damage differently, and do
checkfaint checkfaint
buildopponentrage buildopponentrage
endmove endmove
Surf:
checkobedience
usedmovetext
doturn
critical
damagestats
damagecalc
stab
damagevariation
doubleunderwaterdamage
checkhit
moveanim
failuretext
applydamage
criticaltext
supereffectivetext
buildopponentrage
kingsrock
endmove
Whirlpool:
checkobedience
usedmovetext
doturn
checkhit
critical
damagestats
damagecalc
stab
damagevariation
doubleunderwaterdamage
clearmissdamage
moveanim
failuretext
applydamage
criticaltext
supereffectivetext
buildopponentrage
traptarget
endmove
Bounce:
checkcharge
checkobedience
doturn
charge
usedmovetext
critical
damagestats
damagecalc
stab
damagevariation
checkhit
moveanimnosub
raisesub
failuretext
applydamage
criticaltext
supereffectivetext
checkfaint
buildopponentrage
paralyzetarget
kingsrock
endmove

View file

@ -159,7 +159,4 @@ MoveEffectsPointers:
dw Fly dw Fly
dw DefenseCurl dw DefenseCurl
dw CoinHurl dw CoinHurl
dw Surf
dw Whirlpool
dw Bounce
assert_table_length NUM_MOVE_EFFECTS assert_table_length NUM_MOVE_EFFECTS

View file

@ -74,7 +74,7 @@ Moves1:
move EFFECT_MIST, 0, ICE, 100, 30, 0 ;MIST move EFFECT_MIST, 0, ICE, 100, 30, 0 ;MIST
move EFFECT_NORMAL_HIT, 40, WATER, 100, 25, 0 ;WATER_GUN move EFFECT_NORMAL_HIT, 40, WATER, 100, 25, 0 ;WATER_GUN
move EFFECT_NORMAL_HIT, 120, WATER, 80, 5, 0 ;HYDRO_PUMP move EFFECT_NORMAL_HIT, 120, WATER, 80, 5, 0 ;HYDRO_PUMP
move EFFECT_SURF, 95, WATER, 100, 15, 0 ;SURF move EFFECT_NORMAL_HIT, 95, WATER, 100, 15, 0 ;SURF
move EFFECT_FREEZE_HIT, 95, ICE, 100, 10, 10 ;ICE_BEAM move EFFECT_FREEZE_HIT, 95, ICE, 100, 10, 10 ;ICE_BEAM
move EFFECT_FREEZE_HIT, 120, ICE, 70, 5, 10 ;BLIZZARD move EFFECT_FREEZE_HIT, 120, ICE, 70, 5, 10 ;BLIZZARD
move EFFECT_CONFUSE_HIT, 65, PSYCHIC_TYPE, 100, 20, 10 ;PSYBEAM move EFFECT_CONFUSE_HIT, 65, PSYCHIC_TYPE, 100, 20, 10 ;PSYBEAM
@ -267,21 +267,21 @@ Moves1:
move EFFECT_SP_DEF_DOWN_HIT, 80, GHOST, 100, 15, 20 ;SHADOW_BALL move EFFECT_SP_DEF_DOWN_HIT, 80, GHOST, 100, 15, 20 ;SHADOW_BALL
move EFFECT_FUTURE_SIGHT, 80, PSYCHIC_TYPE, 90, 15, 0 ;FUTURE_SIGHT move EFFECT_FUTURE_SIGHT, 80, PSYCHIC_TYPE, 90, 15, 0 ;FUTURE_SIGHT
move EFFECT_DEFENSE_DOWN_HIT, 20, FIGHTING, 100, 15, 50 ;ROCK_SMASH move EFFECT_DEFENSE_DOWN_HIT, 20, FIGHTING, 100, 15, 50 ;ROCK_SMASH
move EFFECT_WHIRLPOOL, 15, WATER, 70, 15, 0 ;WHIRLPOOL move EFFECT_TRAP_TARGET, 15, WATER, 70, 15, 0 ;WHIRLPOOL
move EFFECT_BEAT_UP, 10, DARK, 100, 10, 0 ;BEAT_UP move EFFECT_BEAT_UP, 10, DARK, 100, 10, 0 ;BEAT_UP
move EFFECT_FLINCH_HIT, 80, ROCK, 100, 15, 30 ;ROCK_HEAD move EFFECT_FLINCH_HIT, 80, ROCK, 100, 15, 30 ;ROCK_HEAD
move EFFECT_NORMAL_HIT, 140, ROCK, 70, 5, 0 ;ROCK_SLASH move EFFECT_NORMAL_HIT, 140, ROCK, 70, 5, 0 ;ROCK_SLASH
move EFFECT_NORMAL_HIT, 50, BUG, 100, 15, 0 ;CROSS_CUTTER move EFFECT_NORMAL_HIT, 50, BUG, 100, 15, 0 ;CROSS_CUTTER
move EFFECT_SP_ATK_DOWN, 0, NORMAL, 100, 40, 0 ;MEGAPHONE move EFFECT_SP_ATK_DOWN, 0, NORMAL, 100, 40, 0 ;MEGAPHONE
move EFFECT_FREEZE_HIT, 100, ICE, 95, 5, 30 ;MYSTIC_ICE move EFFECT_FREEZE_HIT, 100, ICE, 95, 5, 30 ;MYSTIC_ICE
move EFFECT_BOUNCE, 85, FLYING, 85, 5, 0 ; BOUNCE - with Water Sport now in the game, Bounce's SW97 Water typing is no longer necessary. move EFFECT_FLY, 85, WATER, 85, 5, 0 ; BOUNCE - went back and forth on type (making it modern or keeping it spaceworldy), chose spaceworld to diversify the "fly" move category
move EFFECT_ACCURACY_UP, 85, GRASS, 0, 20, 0 ; BRIGHT_MOSS move EFFECT_ACCURACY_UP, 85, GRASS, 0, 20, 0 ; BRIGHT_MOSS
move EFFECT_COIN_HURL, 1, NORMAL, 100, 20, 0 ; COIN_HURL move EFFECT_COIN_HURL, 1, NORMAL, 100, 20, 0 ; COIN_HURL
move EFFECT_NORMAL_HIT, 85, GROUND, 100, 10, 0 ; UPROOT move EFFECT_NORMAL_HIT, 85, GROUND, 100, 10, 0 ; UPROOT
move EFFECT_MIRROR_COAT, 1, PSYCHIC_TYPE, 100, 10, 0 ; SYNCHRONIZE - effect not implemented move EFFECT_MIRROR_COAT, 1, PSYCHIC_TYPE, 100, 10, 0 ; SYNCHRONIZE - effect not implemented
move EFFECT_ATTACK_UP_HIT, 70, STEEL, 90, 10, 10 ; STRONG_ARM move EFFECT_ATTACK_UP_HIT, 70, STEEL, 90, 10, 10 ; STRONG_ARM
move EFFECT_FLINCH_HIT, 55, FIGHTING, 80, 15, 30 ; UPPERCUT move EFFECT_FLINCH_HIT, 55, FIGHTING, 80, 15, 30 ; UPPERCUT
move EFFECT_FLY, 80, WATER, 100, 10, 0 ; WATER_SPORT - Now a Dive clone. move EFFECT_NORMAL_HIT, 1, WATER, 1, 15, 0 ; WATER_SPORT - effect not implemented
move EFFECT_NORMAL_HIT, 55, FLYING, 95, 10, 0 ; WIND_RIDE move EFFECT_NORMAL_HIT, 55, FLYING, 95, 10, 0 ; WIND_RIDE
move EFFECT_NORMAL_HIT, 80, FAIRY, 100, 10, 0 ; DAZZLING_GLEAM move EFFECT_NORMAL_HIT, 80, FAIRY, 100, 10, 0 ; DAZZLING_GLEAM
move EFFECT_ALWAYS_HIT, 40, FAIRY, 100, 15, 0 ; DISARMING_VOICE move EFFECT_ALWAYS_HIT, 40, FAIRY, 100, 15, 0 ; DISARMING_VOICE

View file

@ -4,7 +4,6 @@ ChrisStateSprites:
db PLAYER_SURF, SPRITE_SURF db PLAYER_SURF, SPRITE_SURF
db PLAYER_SURF_PIKA, SPRITE_SURFING_PIKACHU db PLAYER_SURF_PIKA, SPRITE_SURFING_PIKACHU
db PLAYER_RUN, SPRITE_CHRIS_RUN db PLAYER_RUN, SPRITE_CHRIS_RUN
db PLAYER_WATER_SPORT, SPRITE_DIVE
db -1 ; end db -1 ; end
KrisStateSprites: KrisStateSprites:
@ -13,7 +12,6 @@ KrisStateSprites:
db PLAYER_SURF, SPRITE_SURF db PLAYER_SURF, SPRITE_SURF
db PLAYER_SURF_PIKA, SPRITE_SURFING_PIKACHU db PLAYER_SURF_PIKA, SPRITE_SURFING_PIKACHU
db PLAYER_RUN, SPRITE_KRIS_RUN db PLAYER_RUN, SPRITE_KRIS_RUN
db PLAYER_WATER_SPORT, SPRITE_DIVE
db -1 ; end db -1 ; end
EnbyStateSprites: EnbyStateSprites:
@ -22,6 +20,5 @@ EnbyStateSprites:
db PLAYER_SURF, SPRITE_SURF db PLAYER_SURF, SPRITE_SURF
db PLAYER_SURF_PIKA, SPRITE_SURFING_PIKACHU db PLAYER_SURF_PIKA, SPRITE_SURFING_PIKACHU
db PLAYER_RUN, SPRITE_TOPAZ_RUN db PLAYER_RUN, SPRITE_TOPAZ_RUN
db PLAYER_WATER_SPORT, SPRITE_DIVE
db -1 ; end db -1 ; end

View file

@ -150,5 +150,4 @@ OverworldSprites:
overworld_sprite BaldingGuyGFX, 12, STANDING_SPRITE, PAL_OW_BROWN overworld_sprite BaldingGuyGFX, 12, STANDING_SPRITE, PAL_OW_BROWN
overworld_sprite GameboyGirlGFX, 12, STANDING_SPRITE, PAL_OW_RED overworld_sprite GameboyGirlGFX, 12, STANDING_SPRITE, PAL_OW_RED
overworld_sprite OverworldPikachuGFX, 12, STANDING_SPRITE, PAL_OW_BROWN overworld_sprite OverworldPikachuGFX, 12, STANDING_SPRITE, PAL_OW_BROWN
overworld_sprite DiveSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE
assert_table_length NUM_OVERWORLD_SPRITES assert_table_length NUM_OVERWORLD_SPRITES

View file

@ -1502,6 +1502,8 @@ _OakText3::
text_promptbutton text_promptbutton
text_end text_end
text_end ; unreferenced
_OakText4:: _OakText4::
text "People and #MON" text "People and #MON"
line "live together by" line "live together by"
@ -1526,62 +1528,3 @@ _OakText5::
para "That's why I study" para "That's why I study"
line "#MON every day." line "#MON every day."
prompt prompt
_AskStrongArmText::
text "The wall is very"
line "rocky…"
para "Want to use"
line "STRONG ARM?"
done
_UsedStrongArmText::
text_ram wStringBuffer2
text " used"
line "STRONG ARM!"
prompt
_CantStrongArmText::
text "The wall is very"
line "rocky…"
para "Can a #MON's"
line "move scale it?"
done
_CantWaterSportText::
text "Can't use"
line "WATER SPORT"
cont "here!"
prompt
_CanWaterSportText::
text "The sea is deep."
para "A #MON can"
line "dive here."
done
_AskWaterSportDownText::
text "The sea is deep."
line "Want to use"
cont "WATER SPORT?"
done
_AskWaterSportUpText::
text "Light is filter-"
line "ing from above."
para "Want to use"
line "WATER SPORT?"
done
_UsedWaterSportText::
text_from_ram wStringBuffer2
text " used"
line "WATER SPORT!"
done
HidUnderwaterText::
text_start
line "hid underwater!"
prompt

Binary file not shown.

View file

@ -89,5 +89,3 @@
tilecoll FLOOR, WALL, FLOOR, WARP_CARPET_DOWN ; 58 tilecoll FLOOR, WALL, FLOOR, WARP_CARPET_DOWN ; 58
tilecoll FLOOR, SWITCH, FLOOR, FLOOR ; 59 tilecoll FLOOR, SWITCH, FLOOR, FLOOR ; 59
tilecoll WALL, FLOOR, FLOOR, WARP_CARPET_DOWN ; 5a tilecoll WALL, FLOOR, FLOOR, WARP_CARPET_DOWN ; 5a
tilecoll FLOOR, FLOOR, ROCKY_WALL, WALL ; 5b
tilecoll FLOOR, FLOOR, WALL, ROCKY_WALL ; 5c

Binary file not shown.

View file

@ -62,5 +62,3 @@
tilecoll WATER, WATER, WATER, WATER ; 3d tilecoll WATER, WATER, WATER, WATER ; 3d
tilecoll WATER, WATER, WATER, WATER ; 3e tilecoll WATER, WATER, WATER, WATER ; 3e
tilecoll FLOOR, FLOOR, PIT, FLOOR ; 3f tilecoll FLOOR, FLOOR, PIT, FLOOR ; 3f
tilecoll FLOOR, FLOOR, ROCKY_WALL, WALL ; 40
tilecoll FLOOR, FLOOR, WALL, ROCKY_WALL ; 41

View file

@ -3,4 +3,4 @@
&  &&67&&67&&&&$$$$*+:;$$$$"#23     ()89       !01     $$&&&&    @@@@@@@@@@@@@@@@%&&&%&&&%&&&%&&&&&&&&&&&&&&&&&&&&&&'&&&'&&&'&&&'67&&67&&$$%&&'%' &&&&&&&&  &  &&67&&67&&&&$$$$*+:;$$$$"#23     ()89       !01     $$&&&&    @@@@@@@@@@@@@@@@%&&&%&&&%&&&%&&&&&&&&&&&&&&&&&&&&&&'&&&'&&&'&&&'67&&67&&$$%&&'%' &&&&&&&& 
& &
67'67&'&&&&&&&&&&&&%&&&&&&&&&&'&&&  67'67&'&&&&&&&&&&&&%&&&&&&&&&&'&&& 
&&&AB&&QR&&&&AB&&QR &&&

Binary file not shown.

View file

@ -187,4 +187,3 @@
tilecoll WALL, WALL, WALL, WATER ; ba tilecoll WALL, WALL, WALL, WATER ; ba
tilecoll WALL, WALL, WATER, WALL ; bb tilecoll WALL, WALL, WATER, WALL ; bb
tilecoll WALL, HOP_DOWN_LEFT, WALL, WALL ; bc tilecoll WALL, HOP_DOWN_LEFT, WALL, WALL ; bc
tilecoll FLOOR, FLOOR, ROCKY_WALL, WALL ; bd

Binary file not shown.

View file

@ -387,8 +387,6 @@ AI_Smart_EffectHandlers:
dbw EFFECT_SOLARBEAM, AI_Smart_Solarbeam dbw EFFECT_SOLARBEAM, AI_Smart_Solarbeam
dbw EFFECT_THUNDER, AI_Smart_Thunder dbw EFFECT_THUNDER, AI_Smart_Thunder
dbw EFFECT_FLY, AI_Smart_Fly dbw EFFECT_FLY, AI_Smart_Fly
dbw EFFECT_SURF, AI_Smart_Surf
dbw EFFECT_WHIRLPOOL, AI_Smart_Whirlpool
db -1 ; end db -1 ; end
AI_Smart_Sleep: AI_Smart_Sleep:
@ -1139,19 +1137,15 @@ AI_Smart_SpDefenseUp2:
ret ret
AI_Smart_Fly: AI_Smart_Fly:
; Fly, Dig, Dive, Bounce ; Fly, Dig
; Greatly encourage this move if the player is ; Greatly encourage this move if the player is
; flying or underground, and slower than the enemy. ; flying or underground, and slower than the enemy.
ld a, [wPlayerSubStatus3] ld a, [wPlayerSubStatus3]
and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND
jr nz, .player_hidden
ld a, [wPlayerSubStatus4]
and 1 << SUBSTATUS_UNDERWATER
ret z ret z
.player_hidden
call AICompareSpeed call AICompareSpeed
ret nc ret nc
@ -1643,13 +1637,10 @@ AI_Smart_PriorityHit:
call AICompareSpeed call AICompareSpeed
ret c ret c
; Dismiss this move if the player is flying, underwater, or underground. ; Dismiss this move if the player is flying or underground.
ld a, [wPlayerSubStatus3] ld a, [wPlayerSubStatus3]
and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND
jp nz, AIDiscourageMove jp nz, AIDiscourageMove
ld a, [wPlayerSubStatus4]
and 1 << SUBSTATUS_UNDERWATER
jp nz, AIDiscourageMove
; Greatly encourage this move if it will KO the player. ; Greatly encourage this move if it will KO the player.
ld a, 1 ld a, 1
@ -1672,31 +1663,6 @@ AI_Smart_PriorityHit:
dec [hl] dec [hl]
dec [hl] dec [hl]
ret ret
AI_Smart_Surf:
AI_Smart_Whirlpool:
; Greatly encourage this move if the player is underwater and the enemy is faster.
ld a, [wLastPlayerCounterMove]
ld bc, WATER_SPORT
call CompareMove
ret nz
ld a, [wPlayerSubStatus4]
bit SUBSTATUS_UNDERWATER, a
jr z, .could_dive
call AICompareSpeed
ret nc
dec [hl]
dec [hl]
ret
.could_dive
; Try to predict if the player will use Dive this turn.
; 50% chance to encourage this move if the enemy is slower than the player.
call AICompareSpeed
ret c
call AI_50_50
ret c
dec [hl]
ret
AI_Smart_Thief: AI_Smart_Thief:
; Don't use Thief unless it's the only move available. ; Don't use Thief unless it's the only move available.
@ -2667,19 +2633,15 @@ AI_Smart_Gust:
AI_Smart_FutureSight: AI_Smart_FutureSight:
; Greatly encourage this move if the player is ; Greatly encourage this move if the player is
; flying, underwater, or underground, and slower than the enemy. ; flying or underground, and slower than the enemy.
call AICompareSpeed call AICompareSpeed
ret nc ret nc
ld a, [wPlayerSubStatus3] ld a, [wPlayerSubStatus3]
and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND
jr nz, .player_hidden
ld a, [wPlayerSubStatus4]
and 1 << SUBSTATUS_UNDERWATER
ret z ret z
.player_hidden
dec [hl] dec [hl]
dec [hl] dec [hl]
ret ret

View file

@ -1119,15 +1119,7 @@ ResidualDamage:
ld a, BATTLE_VARS_SUBSTATUS3_OPP ld a, BATTLE_VARS_SUBSTATUS3_OPP
call GetBattleVar call GetBattleVar
and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND
jr nz, .not_flying_or_underground
call Call_PlayBattleAnim_OnlyIfVisible
jr .called
.not_flying_or_underground
ld a, BATTLE_VARS_SUBSTATUS4_OPP
call GetBattleVar
and 1 << SUBSTATUS_UNDERWATER
call z, Call_PlayBattleAnim_OnlyIfVisible call z, Call_PlayBattleAnim_OnlyIfVisible
.called
call SwitchTurnCore call SwitchTurnCore
call GetEighthMaxHP call GetEighthMaxHP
@ -1310,11 +1302,6 @@ HandleWrap:
call GetBattleVar call GetBattleVar
and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND
jr nz, .skip_anim jr nz, .skip_anim
ld a, BATTLE_VARS_SUBSTATUS4
call GetBattleVar
and 1 << SUBSTATUS_UNDERWATER
jr nz, .skip_anim
call SwitchTurnCore call SwitchTurnCore
xor a xor a
@ -7107,11 +7094,6 @@ Call_PlayBattleAnim_OnlyIfVisible:
call GetBattleVar call GetBattleVar
and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND
ret nz ret nz
ld a, BATTLE_VARS_SUBSTATUS4
call GetBattleVar
and 1 << SUBSTATUS_UNDERWATER
ret nz
Call_PlayBattleAnim: Call_PlayBattleAnim:
ld a, e ld a, e

View file

@ -1,9 +1,3 @@
; Heavily edited when adding Water Sport's effect.
; If errors occur (especially involving Substitute), check https://github.com/Rangi42/pokecrystal/commit/c21561ea717feef9b2eb3785c2ea112cd0d19ba0#diff-88dbff1eb3920f69b17a3d5f613643e1a41096514706bc09f449e4aa637f20e4R5647
; There is a high chance you will run out of memory and I am not sure how this is resolved.
; I imagine bankswitches will be necessary.
DoPlayerTurn: DoPlayerTurn:
call SetPlayerTurn call SetPlayerTurn
@ -366,9 +360,6 @@ CantMove:
res SUBSTATUS_UNDERGROUND, [hl] res SUBSTATUS_UNDERGROUND, [hl]
res SUBSTATUS_FLYING, [hl] res SUBSTATUS_FLYING, [hl]
ld a, BATTLE_VARS_SUBSTATUS4
call GetBattleVarAddr
res SUBSTATUS_UNDERWATER, [hl]
jp AppearUserRaiseSub jp AppearUserRaiseSub
OpponentCantMove: OpponentCantMove:
@ -533,17 +524,12 @@ CheckEnemyTurn:
xor a xor a
ld [wNumHits], a ld [wNumHits], a
; Flicker the monster pic unless flying, underwater, or underground. ; Flicker the monster pic unless flying or underground.
ld de, ANIM_HIT_CONFUSION ld de, ANIM_HIT_CONFUSION
ld a, BATTLE_VARS_SUBSTATUS3_OPP ld a, BATTLE_VARS_SUBSTATUS3_OPP
call GetBattleVar call GetBattleVar
and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND
jr nz, .no_flicker
ld a, BATTLE_VARS_SUBSTATUS4_OPP
call GetBattleVar
and 1 << SUBSTATUS_UNDERWATER
call z, PlayFXAnimID call z, PlayFXAnimID
.no_flicker
ld c, TRUE ld c, TRUE
call DoEnemyDamage call DoEnemyDamage
@ -641,17 +627,12 @@ HitConfusion:
xor a xor a
ld [wNumHits], a ld [wNumHits], a
; Flicker the monster pic unless flying, underwater, or underground. ; Flicker the monster pic unless flying or underground.
ld de, ANIM_HIT_CONFUSION ld de, ANIM_HIT_CONFUSION
ld a, BATTLE_VARS_SUBSTATUS3_OPP ld a, BATTLE_VARS_SUBSTATUS3_OPP
call GetBattleVar call GetBattleVar
and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND
jr nz, .no_flicker
ld a, BATTLE_VARS_SUBSTATUS4_OPP
call GetBattleVar
and 1 << SUBSTATUS_UNDERWATER
call z, PlayFXAnimID call z, PlayFXAnimID
.no_flicker
ld hl, UpdatePlayerHUD ld hl, UpdatePlayerHUD
call CallBattleCore call CallBattleCore
@ -1771,47 +1752,13 @@ BattleCommand_CheckHit:
ret ret
.FlyDigMoves: .FlyDigMoves:
; Check for moves that can hit underground/flying opponents. And divers. ; Check for moves that can hit underground/flying opponents.
; Return z if the current move can hit the opponent. ; Return z if the current move can hit the opponent.
ld a, BATTLE_VARS_SUBSTATUS3_OPP ld a, BATTLE_VARS_SUBSTATUS3_OPP
call GetBattleVar call GetBattleVar
and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND
jr nz, .flying_or_underground
ld a, BATTLE_VARS_SUBSTATUS4_OPP
call GetBattleVar
and 1 << SUBSTATUS_UNDERWATER
ret z ret z
ld a, BATTLE_VARS_MOVE_ANIM
call GetBattleVar
ld hl, SURF
call GetMoveIDFromIndex
ld a, h
if HIGH(SURF)
cp HIGH(SURF)
else
and a
endc
ld a, l
pop hl
ret nz
cp LOW(SURF)
ret z
ld hl, WHIRLPOOL
call GetMoveIDFromIndex
ld a, h
if HIGH(WHIRLPOOL)
cp HIGH(WHIRLPOOL)
else
and a
endc
ld a, l
pop hl
ret nz
cp LOW(WHIRLPOOL)
ret
.flying_or_underground .flying_or_underground
bit SUBSTATUS_FLYING, a bit SUBSTATUS_FLYING, a
@ -2089,6 +2036,11 @@ BattleCommand_MoveAnimNoSub:
ret nc ret nc
jp AppearUserLowerSub jp AppearUserLowerSub
.fly_dig_moves
dw FLY
dw DIG
dw -1
.alternate_anim .alternate_anim
ld a, [wBattleAnimParam] ld a, [wBattleAnimParam]
and 1 and 1
@ -2200,12 +2152,14 @@ BattleCommand_FailureText:
call GetBattleVarAddr call GetBattleVarAddr
res SUBSTATUS_UNDERGROUND, [hl] res SUBSTATUS_UNDERGROUND, [hl]
res SUBSTATUS_FLYING, [hl] res SUBSTATUS_FLYING, [hl]
ld a, BATTLE_VARS_SUBSTATUS4
call GetBattleVarAddr
res SUBSTATUS_UNDERWATER, [hl]
call AppearUserRaiseSub call AppearUserRaiseSub
jp EndMoveEffect jp EndMoveEffect
.fly_dig_moves
dw FLY
dw DIG
dw -1
BattleCommand_ApplyDamage: BattleCommand_ApplyDamage:
ld a, BATTLE_VARS_SUBSTATUS1_OPP ld a, BATTLE_VARS_SUBSTATUS1_OPP
call GetBattleVar call GetBattleVar
@ -3473,11 +3427,6 @@ FarPlayBattleAnimation:
call GetBattleVar call GetBattleVar
and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND
ret nz ret nz
ld a, BATTLE_VARS_SUBSTATUS4
call GetBattleVar
and 1 << SUBSTATUS_UNDERWATER
ret nz
; fallthrough ; fallthrough
@ -3664,12 +3613,7 @@ DoSubstituteDamage:
ld a, BATTLE_VARS_SUBSTATUS3 ld a, BATTLE_VARS_SUBSTATUS3
call GetBattleVar call GetBattleVar
and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND
jr nz, .dont_lower_sub
ld a, BATTLE_VARS_SUBSTATUS4
call GetBattleVar
and 1 << SUBSTATUS_UNDERWATER
call z, AppearUserLowerSub call z, AppearUserLowerSub
.dont_lower_sub
call BattleCommand_SwitchTurn call BattleCommand_SwitchTurn
ld a, BATTLE_VARS_MOVE_EFFECT ld a, BATTLE_VARS_MOVE_EFFECT
@ -5608,9 +5552,6 @@ BattleCommand_CheckCharge:
res SUBSTATUS_CHARGED, [hl] res SUBSTATUS_CHARGED, [hl]
res SUBSTATUS_UNDERGROUND, [hl] res SUBSTATUS_UNDERGROUND, [hl]
res SUBSTATUS_FLYING, [hl] res SUBSTATUS_FLYING, [hl]
ld a, BATTLE_VARS_SUBSTATUS4
call GetBattleVarAddr
res SUBSTATUS_UNDERWATER, [hl]
ld b, charge_command ld b, charge_command
jp SkipToBattleCommand jp SkipToBattleCommand
@ -5644,58 +5585,20 @@ BattleCommand_Charge:
call LoadMoveAnim call LoadMoveAnim
ld a, BATTLE_VARS_MOVE_ANIM ld a, BATTLE_VARS_MOVE_ANIM
call GetBattleVar call GetBattleVar
ld hl, WATER_SPORT ld h, a
call GetMoveIDFromIndex ld bc, FLY
ld a, h call CompareMove
if HIGH(WATER_SPORT) ld a, 1 << SUBSTATUS_FLYING
cp HIGH(WATER_SPORT) jr z, .got_move_type
if HIGH(FLY) != HIGH(DIG)
ld bc, DIG
else else
and a ld c, LOW(DIG)
endc endc
ld a, l
pop hl
ret nz
cp LOW(WATER_SPORT)
jp z, .set_diving
ld hl, FLY
call GetMoveIDFromIndex
ld a, h ld a, h
if HIGH(FLY) call CompareMove
cp HIGH(FLY) ld a, 1 << SUBSTATUS_UNDERGROUND
else jr z, .got_move_type
and a
endc
ld a, l
pop hl
ret nz
cp LOW(FLY)
jr z, .set_flying
ld hl, BOUNCE
call GetMoveIDFromIndex
ld a, h
if HIGH(BOUNCE)
cp HIGH(BOUNCE)
else
and a
endc
ld a, l
pop hl
ret nz
cp LOW(BOUNCE)
jr z, .set_flying
ld hl, DIG
call GetMoveIDFromIndex
ld a, h
if HIGH(DIG)
cp HIGH(DIG)
else
and a
endc
ld a, l
pop hl
ret nz
cp LOW(DIG)
jr z, .set_flying
call BattleCommand_RaiseSub call BattleCommand_RaiseSub
jr .not_flying jr .not_flying
@ -5824,8 +5727,6 @@ BattleCommand_Charge:
dw SKY_ATTACK, .BattleGlowingText dw SKY_ATTACK, .BattleGlowingText
dw FLY, .BattleFlewText dw FLY, .BattleFlewText
dw DIG, .BattleDugText dw DIG, .BattleDugText
dw BOUNCE, .BattleFlewText
dw WATER_SPORT, .BattleWaterSportText
dw -1 dw -1
.BattleMadeWhirlwindText: .BattleMadeWhirlwindText:
@ -5852,10 +5753,9 @@ BattleCommand_Charge:
text_far _BattleDugText text_far _BattleDugText
text_end text_end
.BattleWaterSportText: BattleCommand_Unused3C:
; 'hid underwater!' ; effect0x3c
text_jump HidUnderwaterText ret
db "@"
BattleCommand_TrapTarget: BattleCommand_TrapTarget:
ld a, [wAttackMissed] ld a, [wAttackMissed]
@ -6619,6 +6519,10 @@ INCLUDE "engine/battle/move_effects/sandstorm.asm"
INCLUDE "engine/battle/move_effects/rollout.asm" INCLUDE "engine/battle/move_effects/rollout.asm"
BattleCommand_Unused5D:
; effect0x5d
ret
INCLUDE "engine/battle/move_effects/fury_cutter.asm" INCLUDE "engine/battle/move_effects/fury_cutter.asm"
INCLUDE "engine/battle/move_effects/attract.asm" INCLUDE "engine/battle/move_effects/attract.asm"

View file

@ -2916,17 +2916,11 @@ BGEffect_CheckFlyDigStatus:
jr nz, .player jr nz, .player
ld a, [wEnemySubStatus3] ; EnemySubStatus3 ld a, [wEnemySubStatus3] ; EnemySubStatus3
and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND
ret nz
ld a, [wEnemySubStatus4]
and 1 << SUBSTATUS_UNDERWATER
ret ret
.player .player
ld a, [wPlayerSubStatus3] ; PlayerSubStatus3 ld a, [wPlayerSubStatus3] ; PlayerSubStatus3
and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND
ret nz
ld a, [wPlayerSubStatus4]
and 1 << SUBSTATUS_UNDERWATER
ret ret
BattleBGEffects_CheckSGB: BattleBGEffects_CheckSGB:

View file

@ -564,9 +564,6 @@ FlyFunction:
ld de, ENGINE_STORMBADGE ld de, ENGINE_STORMBADGE
call CheckBadge call CheckBadge
jr c, .nostormbadge jr c, .nostormbadge
ld a, [wMapTileset]
cp TILESET_UNDERWATER
jr z, .indoors
call GetMapEnvironment call GetMapEnvironment
call CheckOutdoorMap call CheckOutdoorMap
jr z, .outdoors jr z, .outdoors
@ -975,6 +972,12 @@ StrengthFunction:
jr c, .Failed jr c, .Failed
jr .UseStrength jr .UseStrength
.AlreadyUsingStrength: ; unreferenced
ld hl, .AlreadyUsingStrengthText
call MenuTextboxBackup
ld a, $80
ret
.AlreadyUsingStrengthText: .AlreadyUsingStrengthText:
text_far _AlreadyUsingStrengthText text_far _AlreadyUsingStrengthText
text_end text_end
@ -1539,8 +1542,6 @@ FishFunction:
jr z, .fail jr z, .fail
cp PLAYER_SURF_PIKA cp PLAYER_SURF_PIKA
jr z, .fail jr z, .fail
cp PLAYER_WATER_SPORT
jr z, .fail
call GetFacingTileCoord call GetFacingTileCoord
call GetTileCollision call GetTileCollision
cp WATER_TILE cp WATER_TILE
@ -1905,309 +1906,3 @@ CantCutScript:
CanCutText: CanCutText:
text_far _CanCutText text_far _CanCutText
text_end text_end
; Strong Arm is currently just Rock Climb. It's progressgated to after the Earth Badge, just as Rock Climb was in HGSS.
; This is a fine reward for beating Kanto, so I think it's ok to be here.
; It implies Rock Climb will be given in Oak's Lab.
; Eventually, this will also contain checks that jump to Strength and Rock Smash.
StrongArmFunction:
call FieldMoveJumptableReset
.loop
ld hl, .jumptable
call FieldMoveJumptable
jr nc, .loop
and $7f
ld [wFieldMoveSucceeded], a
ret
.jumptable:
dw .TryStrongArm
dw .DoStrongArm
dw .FailStrongArm
.TryStrongArm:
ld de, ENGINE_EARTHBADGE
farcall CheckBadge
jr c, .noearthbadge
call TryStrongArmMenu
jr c, .failed
ld a, $1
ret
.noearthbadge
ld a, $80
ret
.failed
ld a, $2
ret
.DoStrongArm:
ld hl, StrongArmFromMenuScript
call QueueScript
ld a, $81
ret
.FailStrongArm:
call FieldMoveFailed
ld a, $80
ret
TryStrongArmMenu:
call GetFacingTileCoord
ld c, a
push de
call CheckRockyWallTile
pop de
jr nz, .failed
xor a
ret
.failed
scf
ret
; You land here when you've successfully checked a wall.
TryStrongArmOW::
; First, check if you have the Earth Badge.
; You will, because you get the move afterwards, it just covers trading.
ld de, ENGINE_EARTHBADGE
call CheckEngineFlag
jr c, .cant_climb
; Now check if Strong Arm is in the party. This takes longer, thus the above going first.
ld hl, STRONG_ARM
call CheckPartyMoveIndex
jr c, .cant_climb
ld a, BANK(AskStrongArmScript)
ld hl, AskStrongArmScript
call CallScript
scf
ret
.cant_climb
ld a, BANK(CantStrongArmScript)
ld hl, CantStrongArmScript
call CallScript
scf
ret
AskStrongArmScript:
opentext
writetext AskStrongArmText
yesorno
iftrue UsedStrongArmScript
closetext
end
CantStrongArmScript:
jumptext CantStrongArmText
StrongArmFromMenuScript:
reloadmappart
special UpdateTimePals
UsedStrongArmScript:
callasm GetPartyNickname ; BUG: When used in the OW, the Pokemon is picked wrong. Tested with Machamp and Furret in party, and Furret would always be picked, regardless of party position. Seems to be finding the wrong Pokemon in OW scenarios specifically. wStringBuffer2 is failing to update.
writetext UsedStrongArmText
closetext
loadvar VAR_MOVEMENT, PLAYER_NORMAL
special UpdatePlayerSprite
waitsfx
playsound SFX_STRENGTH
readvar VAR_FACING
if_equal DOWN, .Down
.loop_up
applymovement PLAYER, .StrongArmUpStep
callasm .CheckContinueStrongArm
iffalse .loop_up
end
.Down:
applymovement PLAYER, .StrongArmFixFacing
.loop_down
applymovement PLAYER, .StrongArmDownStep
callasm .CheckContinueStrongArm
iffalse .loop_down
applymovement PLAYER, .StrongArmRemoveFixedFacing
end
.CheckContinueStrongArm:
xor a
ld [wScriptVar], a
ld a, [wPlayerTile]
call CheckRockyWallTile
ret z
ld a, $1
ld [wScriptVar], a
ret
.StrongArmUpStep:
step UP
step_end
.StrongArmDownStep:
step DOWN
step_end
.StrongArmFixFacing:
turn_head UP
fix_facing
step_end
.StrongArmRemoveFixedFacing:
remove_fixed_facing
turn_head DOWN
step_end
AskStrongArmText:
text_far _AskStrongArmText
text_end
UsedStrongArmText:
text_far _UsedStrongArmText
text_end
CantStrongArmText:
text_far _CantStrongArmText
text_end
WaterSportFunction:
call FieldMoveJumptableReset
.loop
ld hl, .Jumptable
call FieldMoveJumptable
jr nc, .loop
and $7f
ld [wFieldMoveSucceeded], a
ret
.Jumptable:
dw .TryWaterSport
dw .DoWaterSport
dw .FailWaterSport
.TryWaterSport:
ld de, ENGINE_CASCADEBADGE
call CheckBadge
jr c, .nocascadebadge
call CheckMapCanWaterSport
jr nz, .cannotdive
ld a, $1
ret
.nocascadebadge
ld a, $80
ret
.cannotdive
ld a, $2
ret
.DoWaterSport:
call GetPartyNickname
ld hl, WaterSportFromMenuScript
call QueueScript
ld a, $81
ret
.FailWaterSport:
ld hl, CantWaterSportText
call MenuTextboxBackup
ld a, $80
ret
CantWaterSportText:
text_jump _CantWaterSportText
db "@"
CheckMapCanWaterSport:
ld a, [wDiveMapGroup]
and a
jr z, .failed
ld a, [wDiveMapNumber]
and a
jr z, .failed
ld a, [wPlayerTile]
call CheckDiveTile
jr nz, .failed
xor a
ret
.failed
scf
ret
TryWaterSportOW::
call CheckMapCanWaterSport
jr c, .failed
ld de, ENGINE_CASCADEBADGE
call CheckEngineFlag
jr c, .cant
ld hl, WATER_SPORT
call CheckPartyMoveIndex
jr c, .cant
call GetPartyNickname
ld a, BANK(AskWaterSportScript)
ld hl, AskWaterSportScript
call CallScript
scf
ret
.failed
xor a
ret
.cant
ld a, BANK(CantWaterSportScript)
ld hl, CantWaterSportScript
call CallScript
scf
ret
CantWaterSportScript:
jumptext CanWaterSportText
CanWaterSportText:
text_jump _CanWaterSportText
db "@"
AskWaterSportScript:
opentext
copybytetovar wPlayerTile
ifequal COLL_DIVE_UP, .up
writetext AskWaterSportDownText
jump .continue
.up
writetext AskWaterSportUpText
.continue
yesorno
iftrue UsedWaterSportScript
closetext
end
AskWaterSportDownText:
text_jump _AskWaterSportDownText
db "@"
AskWaterSportUpText:
text_jump _AskWaterSportUpText
db "@"
WaterSportFromMenuScript:
special UpdateTimePals
UsedWaterSportScript:
writetext UsedWaterSportText
waitbutton
closetext
special FadeOutPalettes
waitsfx
divewarp
end
UsedWaterSportText:
text_jump _UsedWaterSportText
db "@"

View file

@ -1268,8 +1268,6 @@ LoadMapPals:
ld bc, 8 palettes ld bc, 8 palettes
ld a, BANK(wOBPals1) ld a, BANK(wOBPals1)
call FarCopyWRAM call FarCopyWRAM
farcall LoadSpecialMapObjectPalette
ld a, [wEnvironment] ld a, [wEnvironment]
cp TOWN cp TOWN

View file

@ -1143,22 +1143,13 @@ TryTileCollisionEvent::
.headbutt .headbutt
ld a, [wFacingTileID] ld a, [wFacingTileID]
call CheckHeadbuttTreeTile call CheckHeadbuttTreeTile
jr nz, .strong_arm jr nz, .surf
farcall TryHeadbuttOW farcall TryHeadbuttOW
jr c, .done jr c, .done
jr .noevent jr .noevent
.strong_arm
ld a, [wFacingTileID]
call CheckRockyWallTile
jr nz, .surf
farcall TryStrongArmOW
jr .done
.surf .surf
farcall TrySurfOW farcall TrySurfOW
jr c, .done
farcall TryWaterSportOW
jr nc, .noevent jr nc, .noevent
jr .done jr .done

View file

@ -98,8 +98,6 @@ CheckUpdatePlayerSprite:
jr c, .ok jr c, .ok
call .CheckSurfing call .CheckSurfing
jr c, .ok jr c, .ok
call .CheckDiving
jr c, .ok
call .CheckSurfing2 call .CheckSurfing2
jr c, .ok jr c, .ok
ret ret
@ -118,18 +116,6 @@ CheckUpdatePlayerSprite:
scf scf
ret ret
.CheckDiving:
ld a, [wMapTileset]
cp TILESET_UNDERWATER
jr nz, .not_underwater
ld a, PLAYER_WATER_SPORT
ld [wPlayerState], a
scf
ret
.not_underwater
and a
ret
.CheckSurfing2: .CheckSurfing2:
ld a, [wPlayerState] ld a, [wPlayerState]
cp PLAYER_NORMAL cp PLAYER_NORMAL

View file

@ -33,8 +33,6 @@ DoPlayerMovement::
ld a, [wPlayerState] ld a, [wPlayerState]
cp PLAYER_NORMAL cp PLAYER_NORMAL
jr z, .Normal jr z, .Normal
cp PLAYER_WATER_SPORT
jr z, .Normal
cp PLAYER_SURF cp PLAYER_SURF
jr z, .Surf jr z, .Surf
cp PLAYER_SURF_PIKA cp PLAYER_SURF_PIKA

View file

@ -237,8 +237,6 @@ ScriptCommandTable:
dw Script_trainerpic ; aa dw Script_trainerpic ; aa
dw Script_loadmonindex ; ab dw Script_loadmonindex ; ab
dw Script_checkmaplockedmons ; ac dw Script_checkmaplockedmons ; ac
dw Script_divemap
dw Script_divewarp
assert_table_length NUM_EVENT_COMMANDS assert_table_length NUM_EVENT_COMMANDS
StartScript: StartScript:
@ -2416,38 +2414,3 @@ LoadScriptPokemonID:
jp nz, GetPokemonIDFromIndex jp nz, GetPokemonIDFromIndex
ld a, [wScriptVar] ld a, [wScriptVar]
ret ret
Script_divemap:
call GetScriptByte
ld [wDiveMapGroup], a
call GetScriptByte
ld [wDiveMapNumber], a
call GetScriptByte
ld [wDiveDeltaX], a
call GetScriptByte
ld [wDiveDeltaY], a
ret
Script_divewarp:
ld a, [wDiveMapGroup]
ld [wMapGroup], a
ld a, [wDiveMapNumber]
ld [wMapNumber], a
ld a, [wXCoord]
ld b, a
ld a, [wDiveDeltaX]
add b
ld [wXCoord], a
ld a, [wYCoord]
ld b, a
ld a, [wDiveDeltaY]
add b
ld [wYCoord], a
ld a, -1
ld [wDefaultSpawnpoint], a
ld a, MAPSETUP_WARP
ld [hMapEntryMethod], a
ld a, 1
call LoadMapStatus
call StopScript
ret

View file

@ -64,7 +64,6 @@ CheckGrassCollision::
db COLL_LONG_GRASS db COLL_LONG_GRASS
db COLL_CUT_28 db COLL_CUT_28
db COLL_WATER db COLL_WATER
db COLL_DIVE_DOWN
db COLL_GRASS_48 db COLL_GRASS_48
db COLL_GRASS_49 db COLL_GRASS_49
db COLL_GRASS_4A db COLL_GRASS_4A

View file

@ -4,7 +4,6 @@ HandleNewMap:
call ResetFlashIfOutOfCave call ResetFlashIfOutOfCave
call GetCurrentMapSceneID call GetCurrentMapSceneID
call ResetBikeFlags call ResetBikeFlags
call ResetDiveMap
call ResetMapLockedIDs call ResetMapLockedIDs
ld a, MAPCALLBACK_NEWMAP ld a, MAPCALLBACK_NEWMAP
call RunMapCallback call RunMapCallback

View file

@ -141,11 +141,6 @@ PokemonActionSubmenu:
dbw MONMENUITEM_WATERFALL, MonMenu_Waterfall dbw MONMENUITEM_WATERFALL, MonMenu_Waterfall
dbw MONMENUITEM_ROCKSMASH, MonMenu_RockSmash dbw MONMENUITEM_ROCKSMASH, MonMenu_RockSmash
dbw MONMENUITEM_SWEETSCENT, MonMenu_SweetScent dbw MONMENUITEM_SWEETSCENT, MonMenu_SweetScent
dbw MONMENUITEM_UPROOT, MonMenu_Uproot
dbw MONMENUITEM_WATER_SPORT,MonMenu_WaterSport
dbw MONMENUITEM_STRONG_ARM, MonMenu_StrongArm
dbw MONMENUITEM_BRIGHT_MOSS,MonMenu_BrightMoss
dbw MONMENUITEM_WIND_RIDE, MonMenu_WindRide
dbw MONMENUITEM_STATS, OpenPartyStats dbw MONMENUITEM_STATS, OpenPartyStats
dbw MONMENUITEM_SWITCH, SwitchPartyMons dbw MONMENUITEM_SWITCH, SwitchPartyMons
dbw MONMENUITEM_ITEM, GiveTakePartyMonItem dbw MONMENUITEM_ITEM, GiveTakePartyMonItem
@ -799,43 +794,6 @@ MonMenu_SweetScent:
ld a, $2 ld a, $2
ret ret
MonMenu_Uproot:
ld a, $3 ; will be unused for now, so let's stay in the party menu
ret
MonMenu_WaterSport:
farcall WaterSportFunction
ld a, [wFieldMoveSucceeded]
cp $1
jr nz, .Fail
ld b, $4
ld a, $2
ret
.Fail:
ld a, $3
ret
MonMenu_StrongArm: ; just rock climb...
farcall StrongArmFunction
ld a, [wFieldMoveSucceeded]
cp $1
jr nz, .Fail
ld b, $4
ld a, $2
ret
.Fail:
ld a, $3
ret
MonMenu_BrightMoss:
ld a, $3 ; will be unused for now, so let's stay in the party menu
ret
MonMenu_WindRide:
ld a, $3 ; will be unused for now, so let's stay in the party menu
ret
ChooseMoveToDelete: ChooseMoveToDelete:
ld hl, wOptions ld hl, wOptions
ld a, [hl] ld a, [hl]

View file

@ -38,7 +38,7 @@ _AnimateTileset::
Tileset0Anim: Tileset0Anim:
TilesetJohtoModernAnim: TilesetJohtoModernAnim:
dw vTiles2 tile $14, AnimateWaterTile dw vTiles2 tile $14, AnimateWaterTile
dw vTiles2 tile $5b, AnimateDeepWaterTile dw NULL, WaitTileAnimation
dw NULL, WaitTileAnimation dw NULL, WaitTileAnimation
dw NULL, WaitTileAnimation dw NULL, WaitTileAnimation
dw NULL, AnimateWaterPalette dw NULL, AnimateWaterPalette
@ -369,23 +369,6 @@ TilesetNihonMartAnim:
dw NULL, WaitTileAnimation dw NULL, WaitTileAnimation
dw NULL, DoneTileAnimation dw NULL, DoneTileAnimation
; Currently unused.
; Zeta, you've made your own tileset, but check here and see what you want.
; https://github.com/Rangi42/pokecrystal/commit/c21561ea717feef9b2eb3785c2ea112cd0d19ba0#diff-88dbff1eb3920f69b17a3d5f613643e1a41096514706bc09f449e4aa637f20e4R5647
TilesetUnderwaterAnim:
dw NULL, WaitTileAnimation
dw NULL, WaitTileAnimation
dw NULL, WaitTileAnimation
dw NULL, UnderwaterBubbleTile
dw NULL, WaitTileAnimation
dw NULL, AnimateSeaweedTile1
dw NULL, AnimateSeaweedTile2
dw NULL, WaitTileAnimation
dw NULL, WaitTileAnimation
dw NULL, WaitTileAnimation
dw NULL, StandingTileFrame8
dw NULL, DoneTileAnimation
DoneTileAnimation: DoneTileAnimation:
; Reset the animation command loop. ; Reset the animation command loop.
xor a xor a
@ -580,32 +563,6 @@ AnimateWaterTile:
.WaterTileFrames: .WaterTileFrames:
INCBIN "gfx/tilesets/water/water.2bpp" INCBIN "gfx/tilesets/water/water.2bpp"
AnimateDeepWaterTile:
; Draw a deep water tile for the current frame in VRAM tile at de.
; Save sp in bc (see WriteTile).
ld hl, sp+0
ld b, h
ld c, l
ld a, [wTileAnimationTimer]
; 4 tile graphics, updated every other frame.
and %110
; 2 x 8 = 16 bytes per tile
add a
add a
add a
add LOW(DeepWaterTileFrames)
ld l, a
ld a, 0
adc HIGH(DeepWaterTileFrames)
ld h, a
; The stack now points to the start of the tile for this frame.
ld sp, hl
ld l, e
ld h, d
jp WriteTile
DeepWaterTileFrames:
INCBIN "gfx/tilesets/water/deep-water.2bpp"
ForestTreeLeftAnimation: ForestTreeLeftAnimation:
; Save the stack pointer in bc for WriteTile to restore ; Save the stack pointer in bc for WriteTile to restore
ld hl, sp+0 ld hl, sp+0
@ -1179,76 +1136,3 @@ WhirlpoolTiles1: INCBIN "gfx/tilesets/whirlpool/1.2bpp"
WhirlpoolTiles2: INCBIN "gfx/tilesets/whirlpool/2.2bpp" WhirlpoolTiles2: INCBIN "gfx/tilesets/whirlpool/2.2bpp"
WhirlpoolTiles3: INCBIN "gfx/tilesets/whirlpool/3.2bpp" WhirlpoolTiles3: INCBIN "gfx/tilesets/whirlpool/3.2bpp"
WhirlpoolTiles4: INCBIN "gfx/tilesets/whirlpool/4.2bpp" WhirlpoolTiles4: INCBIN "gfx/tilesets/whirlpool/4.2bpp"
UnderwaterBubbleTile:
; No parameters.
; Save sp in bc (see WriteTile).
ld hl, sp+$0
ld b, h
ld c, l
; Alternate tile graphic every frame
ld a, [wTileAnimationTimer]
and %111 ; 8 frames
swap a ; * 16 bytes per tile
ld e, a
ld d, 0
ld hl, UnderwaterBubbleTileFrames
add hl, de
ld sp, hl
ld hl, vTiles2 tile $13 ; index of bubble tile
jp WriteTile
UnderwaterBubbleTileFrames:
INCBIN "gfx/tilesets/bubble/1.2bpp"
INCBIN "gfx/tilesets/bubble/2.2bpp"
INCBIN "gfx/tilesets/bubble/3.2bpp"
INCBIN "gfx/tilesets/bubble/4.2bpp"
INCBIN "gfx/tilesets/bubble/5.2bpp"
INCBIN "gfx/tilesets/bubble/5.2bpp"
INCBIN "gfx/tilesets/bubble/5.2bpp"
INCBIN "gfx/tilesets/bubble/5.2bpp"
AnimateSeaweedTile1:
; No parameters.
; Save sp in bc (see WriteTile).
ld hl, sp+$0
ld b, h
ld c, l
; Alternate tile graphic every eighth frame
ld a, [wTileAnimationTimer]
and %100
srl a
srl a
swap a ; * 16 bytes per tile
ld e, a
ld d, 0
ld hl, SeaweedTileFrames
add hl, de
ld sp, hl
ld hl, vTiles2 tile $03 ; index of seaweed tile 1
jp WriteTile
AnimateSeaweedTile2:
; No parameters.
; Save sp in bc (see WriteTile).
ld hl, sp+$0
ld b, h
ld c, l
; Alternate tile graphic every eighth frame
ld a, [wTileAnimationTimer]
xor %100 ; invert tile alternation from AnimateSeaweedTile1
and %100
srl a
srl a
swap a ; * 16 bytes per tile
ld e, a
ld d, 0
ld hl, SeaweedTileFrames
add hl, de
ld sp, hl
ld hl, vTiles2 tile $04 ; index of seaweed tile 2
jp WriteTile
SeaweedTileFrames:
INCBIN "gfx/tilesets/seaweed/1.2bpp"
INCBIN "gfx/tilesets/seaweed/2.2bpp"

View file

@ -1,8 +1,3 @@
; Zeta, Rangi's Dive code sets something special here.
; https://github.com/Rangi42/pokecrystal/commit/c21561ea717feef9b2eb3785c2ea112cd0d19ba0#diff-3f65a383d53b5b6bef93c0cf6b1078db365ec51031b8c9b8cccff1d8b81b77db
; Test and see if you like it; do so by adding the changes from the equivalent file.
; Requires underwater tileset to exist.
LoadSpecialMapPalette: LoadSpecialMapPalette:
ld a, [wMapTileset] ld a, [wMapTileset]
cp TILESET_POKECOM_CENTER cp TILESET_POKECOM_CENTER

View file

@ -151,4 +151,3 @@ ChannelerGFX:: INCBIN "gfx/sprites/channeler.2bpp"
BaldingGuyGFX:: INCBIN "gfx/sprites/balding_guy.2bpp" BaldingGuyGFX:: INCBIN "gfx/sprites/balding_guy.2bpp"
GameboyGirlGFX:: INCBIN "gfx/sprites/gameboy_girl.2bpp" GameboyGirlGFX:: INCBIN "gfx/sprites/gameboy_girl.2bpp"
OverworldPikachuGFX:: INCBIN "gfx/sprites/pikachu.2bpp" OverworldPikachuGFX:: INCBIN "gfx/sprites/pikachu.2bpp"
DiveSpriteGFX:: INCBIN "gfx/sprites/dive.2bpp"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 343 B

View file

@ -111,9 +111,6 @@ INCLUDE "gfx/tilesets/battle_tower_outside_palette_map.asm"
TilesetLavenderCryptPalMap: TilesetLavenderCryptPalMap:
INCLUDE "gfx/tilesets/lavendercrypt_palette_map.asm" INCLUDE "gfx/tilesets/lavendercrypt_palette_map.asm"
TilesetUnderwaterPalMap:
INCLUDE "gfx/tilesets/underwater_palette_map.asm"
MapGroupPalettes: ; unreferenced MapGroupPalettes: ; unreferenced
; entries correspond to MAPGROUP_* constants ; entries correspond to MAPGROUP_* constants
rept NUM_MAP_GROUPS rept NUM_MAP_GROUPS

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 B

View file

@ -9,10 +9,11 @@
tilepal 0, RED, BROWN, WATER, WATER, BROWN, GREEN, BROWN, BROWN tilepal 0, RED, BROWN, WATER, WATER, BROWN, GREEN, BROWN, BROWN
tilepal 0, BROWN, WATER, GRAY, BROWN, BROWN, BROWN, GRAY, GRAY tilepal 0, BROWN, WATER, GRAY, BROWN, BROWN, BROWN, GRAY, GRAY
tilepal 0, BROWN, BROWN, BROWN, BROWN, BROWN, BROWN, BROWN, BROWN tilepal 0, BROWN, BROWN, BROWN, BROWN, BROWN, BROWN, BROWN, BROWN
tilepal 0, WATER, GRAY, GRAY, WATER, BROWN, BROWN, GRAY, GRAY tilepal 0, WATER, GRAY, GRAY, GRAY, BROWN, BROWN, GRAY, GRAY
rept 16 tilepal 0, ROOF, ROOF, ROOF, ROOF, ROOF, ROOF, ROOF, ROOF
db $ff tilepal 0, ROOF, ROOF, ROOF, ROOF, ROOF, ROOF, ROOF, ROOF
endr tilepal 0, ROOF, ROOF, ROOF, ROOF, ROOF, ROOF, ROOF, ROOF
tilepal 0, ROOF, ROOF, ROOF, ROOF, ROOF, ROOF, ROOF, TEXT
tilepal 1, BROWN, BROWN, BROWN, RED, RED, RED, RED, RED tilepal 1, BROWN, BROWN, BROWN, RED, RED, RED, RED, RED
tilepal 1, RED, RED, RED, RED, RED, RED, RED, RED tilepal 1, RED, RED, RED, RED, RED, RED, RED, RED
tilepal 1, RED, RED, RED, RED, BROWN, BROWN, BROWN, BROWN tilepal 1, RED, RED, RED, RED, BROWN, BROWN, BROWN, BROWN

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 234 B

View file

@ -29,12 +29,6 @@ EventFlagAction::
call FlagAction call FlagAction
ret ret
ResetDiveMap::
xor a
ld [wDiveMapGroup], a
ld [wDiveMapNumber], a
ret
FlagAction:: FlagAction::
; Perform action b on bit de in flag array hl. ; Perform action b on bit de in flag array hl.

View file

@ -25,9 +25,4 @@ IsHMMove::
dw FLASH dw FLASH
dw WATERFALL dw WATERFALL
dw WHIRLPOOL dw WHIRLPOOL
dw UPROOT
dw WATER_SPORT
dw STRONG_ARM
dw BRIGHT_MOSS ; this will be added as a hm in the 16bit patch
dw WIND_RIDE
dw -1 ; end dw -1 ; end

View file

@ -159,6 +159,8 @@ CheckPitTile::
CheckIceTile:: CheckIceTile::
cp COLL_ICE cp COLL_ICE
ret z ret z
cp COLL_ICE_2B
ret z
scf scf
ret ret
@ -171,12 +173,6 @@ CheckWhirlpoolTile::
scf scf
ret ret
CheckDiveTile::
cp COLL_DIVE_UP
ret z
cp COLL_DIVE_DOWN
ret
CheckWaterfallTile:: CheckWaterfallTile::
cp COLL_WATERFALL cp COLL_WATERFALL
ret z ret z
@ -567,7 +563,3 @@ GetSpriteDirection::
ld a, [hl] ld a, [hl]
maskbits NUM_DIRECTIONS, 2 maskbits NUM_DIRECTIONS, 2
ret ret
CheckRockyWallTile::
cp COLL_ROCKY_WALL
ret

View file

@ -181,7 +181,6 @@ ENDM
command startloop ; ae command startloop ; ae
command curl ; af command curl ; af
command coinhurlpower command coinhurlpower
command doubleunderwaterdamage
DEF NUM_EFFECT_COMMANDS EQU const_value - 1 DEF NUM_EFFECT_COMMANDS EQU const_value - 1
const_def -1, -1 const_def -1, -1

View file

@ -1054,30 +1054,6 @@ MACRO getname
db \1 ; memory db \1 ; memory
ENDM ENDM
; divemap macro.
; When adding a divemap to an area, you do it like so;
; callback MAPCALLBACK_NEWMAP, .DiveMap
;.DiveMap:
; divemap MAPCONSTHERE
; return
; Got it?
const divemap_command
MACRO divemap
if _NARG == 1
divemap \1, 0, 0
else
db divemap_command
map_id \1 ; map
db \2 ; delta x
db \3 ; delta y
endc
ENDM
const divewarp_command
MACRO divewarp
db divewarp_command
ENDM
const wait_command ; $a8 const wait_command ; $a8
MACRO wait MACRO wait
db wait_command db wait_command

View file

@ -1,2 +1,2 @@
”dbQQ>>??;”dN>?,(´µ)”dN$½*(¶·)”dN1($W½%”dP\<1A>Ž*,)”d{{y|r(,)”-{ ”dbQQ>???;”dN>?,,´µ)”dN$W*,¶·)”dN1(,,,)”dP\ŤŽ*,)”d{{y|r(,)”-{
{t(,)”C-$½%˜™™™™™™™™™ {t(,)”C-$W%<25>™™™™™™™™™

View file

@ -12,5 +12,5 @@
)++ )++
!" (*! !" (*!
+  + 
 A*   * 
(!)+  (!)+ 

View file

@ -19,8 +19,8 @@
)-..7. )-..7.
- -
-/'' -/''
\- -
-  - 
\    \*-./     *-./
-/,,,-/$$$$-./ -/,,,-/$$$$-./
%)$$$$ # %)$$$$ #

View file

@ -387,7 +387,7 @@ wAttackMissed::
wPlayerSubStatus1:: db wPlayerSubStatus1:: db
wPlayerSubStatus2:: db wPlayerSubStatus2:: db
wPlayerSubStatus3:: db wPlayerSubStatus3:: db
wPlayerSubStatus4:: db ; bit 3 is underwater now wPlayerSubStatus4:: db
wPlayerSubStatus5:: db wPlayerSubStatus5:: db
wEnemySubStatus1:: db wEnemySubStatus1:: db
@ -3291,10 +3291,7 @@ wBackupWarpNumber:: db
wBackupMapGroup:: db wBackupMapGroup:: db
wBackupMapNumber:: db wBackupMapNumber:: db
wDiveMapGroup:: db ds 3
wDiveMapNumber:: db
wDiveDeltaX:: db
wDiveDeltaY:: db
wLastSpawnMapGroup:: db wLastSpawnMapGroup:: db
wLastSpawnMapNumber:: db wLastSpawnMapNumber:: db