Merge pull request #534 from Rangi42/master

[RTM] Fix triple newlines left over from removing address comments, and other improvements
This commit is contained in:
yenatch 2018-06-30 17:50:33 -04:00 committed by GitHub
commit 2641f93ad0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
257 changed files with 677 additions and 2986 deletions

View File

@ -11,7 +11,6 @@ INCLUDE "audio/cry_pointers.asm"
INCLUDE "audio/sfx_pointers.asm"
SECTION "Songs 1", ROMX
INCLUDE "audio/music/route36.asm"
@ -130,7 +129,6 @@ INCLUDE "audio/music/battletowerlobby.asm"
INCLUDE "audio/music/mobilecenter.asm"
SECTION "Extra Songs 1", ROMX
INCLUDE "audio/music/credits.asm"
@ -143,7 +141,6 @@ SECTION "Extra Songs 2", ROMX
INCLUDE "audio/music/postcredits.asm"
SECTION "Sound Effects", ROMX
INCLUDE "audio/sfx.asm"
@ -154,7 +151,6 @@ SECTION "Crystal Sound Effects", ROMX
INCLUDE "audio/sfx_crystal.asm"
SECTION "Cries", ROMX
INCLUDE "data/pokemon/cries.asm"

View File

@ -56,7 +56,6 @@ _MapSetup_Sound_Off::
pop hl
ret
MusicFadeRestart:
; restart but keep the music id to fade in to
ld a, [wMusicFadeID + 1]
@ -70,19 +69,16 @@ MusicFadeRestart:
ld [wMusicFadeID + 1], a
ret
MusicOn:
ld a, 1
ld [wMusicPlaying], a
ret
MusicOff:
xor a
ld [wMusicPlaying], a
ret
_UpdateSound::
; called once per frame
; no use updating audio if it's not playing
@ -212,7 +208,6 @@ _UpdateSound::
ld [rNR51], a
ret
UpdateChannels:
ld hl, .ChannelFnPtrs
ld a, [wCurChannel]
@ -505,7 +500,6 @@ endr
ld [rNR44], a
ret
_CheckSFX:
; return carry if any sfx channels are active
ld hl, wChannel5Flags1
@ -527,7 +521,6 @@ _CheckSFX:
scf
ret
PlayDanger:
ld a, [wLowHealthAlarm]
bit DANGER_ON_F, a
@ -588,7 +581,6 @@ PlayDanger:
ld [wSoundOutput], a
ret
DangerSoundHigh:
db $80 ; duty 50%
db $e2 ; volume 14, envelope decrease sweep 2
@ -713,7 +705,6 @@ FadeMusic:
ld [wVolume], a
ret
LoadNote:
; wait for pitch wheel to finish
ld hl, CHANNEL_FLAGS2
@ -834,7 +825,6 @@ LoadNote:
ld [hl], a
ret
HandleTrackVibrato:
; handle duty, cry pitch, and vibrato
ld hl, CHANNEL_FLAGS2
@ -952,7 +942,6 @@ HandleTrackVibrato:
.quit
ret
ApplyPitchWheel:
; quit if pitch wheel inactive
ld hl, CHANNEL_FLAGS2
@ -1068,7 +1057,6 @@ ApplyPitchWheel:
set NOTE_DUTY_OVERRIDE, [hl]
ret
HandleNoise:
; is noise sampling on?
ld hl, CHANNEL_FLAGS1
@ -1095,7 +1083,6 @@ HandleNoise:
ld [wNoiseSampleDelay], a
ret
ReadNoiseSample:
; sample struct:
; [wx] [yy] [zz]
@ -1146,7 +1133,6 @@ ReadNoiseSample:
.quit
ret
ParseMusic:
; parses until a note is read or the song is ended
call GetMusicByte ; store next byte in a
@ -1255,7 +1241,6 @@ ParseMusic:
ld [hli], a ; bank
ret
RestoreVolume:
; ch5 only
ld a, [wCurChannel]
@ -1275,7 +1260,6 @@ RestoreVolume:
ld [wSFXPriority], a
ret
ParseSFXOrRest:
; turn noise sampling on
ld hl, CHANNEL_NOTE_FLAGS
@ -1306,7 +1290,6 @@ ParseSFXOrRest:
ld [hl], a
ret
GetNoiseSample:
; load ptr to sample header in wNoiseSampleAddress
; are we on the last channel?
@ -1363,7 +1346,6 @@ GetNoiseSample:
ld [wNoiseSampleDelay], a
ret
ParseMusicCommand:
; reload command
ld a, [wCurMusicByte]
@ -1381,7 +1363,6 @@ ParseMusicCommand:
ld l, a
jp hl
MusicCommands:
; entries correspond to macros/sound.asm enumeration
dw Music_Octave8 ; octave 8
@ -1443,7 +1424,6 @@ MusicF7:
MusicF8:
ret
Music_EndChannel:
; called when $ff is encountered w/ subroutine flag set
; end music stream
@ -1465,7 +1445,6 @@ Music_EndChannel:
ld [hl], d
ret
Music_CallChannel:
; call music stream (subroutine)
; parameters: ll hh ; pointer to subroutine
@ -1499,7 +1478,6 @@ Music_CallChannel:
set SOUND_SUBROUTINE, [hl]
ret
Music_JumpChannel:
; jump
; parameters: ll hh ; pointer
@ -1515,7 +1493,6 @@ Music_JumpChannel:
ld [hl], d
ret
Music_LoopChannel:
; loops xx - 1 times
; 00: infinite
@ -1577,7 +1554,6 @@ Music_LoopChannel:
ld [hl], e
ret
Music_SetCondition:
; set condition for a jump
; used with FB
@ -1591,7 +1567,6 @@ Music_SetCondition:
ld [hl], a
ret
Music_JumpIf:
; conditional jump
; used with FA
@ -1638,7 +1613,6 @@ Music_JumpIf:
ld [hl], d
ret
MusicEE
; conditional jump
; checks a byte in ram corresponding to the current channel
@ -1691,7 +1665,6 @@ MusicEE
ld [hl], d
ret
MusicF9:
; sets some flag
; seems to be unused
@ -1700,7 +1673,6 @@ MusicF9:
ld [wc2b5], a
ret
MusicE2:
; seems to have been dummied out
; params: 1
@ -1713,7 +1685,6 @@ MusicE2:
set SOUND_UNKN_0B, [hl]
ret
Music_Vibrato:
; vibrato
; params: 2
@ -1769,7 +1740,6 @@ Music_Vibrato:
ld [hl], a
ret
Music_SlidePitchTo:
; set the target for pitch wheel
; params: 2
@ -1801,7 +1771,6 @@ Music_SlidePitchTo:
set SOUND_PITCH_WHEEL, [hl]
ret
Music_Tone:
; tone
; params: 1 (dw)
@ -1816,7 +1785,6 @@ Music_Tone:
ld [hl], a
ret
MusicE7:
; unused
; params: 1
@ -1829,7 +1797,6 @@ MusicE7:
ld [hl], a
ret
Music_SoundDuty:
; sequence of 4 duty cycles to be looped
; params: 1 (4 2-bit duty cycle arguments)
@ -1850,7 +1817,6 @@ Music_SoundDuty:
ld [hl], a
ret
MusicE8:
; unused
; params: 1
@ -1863,7 +1829,6 @@ MusicE8:
ld [hl], a
ret
Music_ToggleSFX:
; toggle something
; params: none
@ -1878,7 +1843,6 @@ Music_ToggleSFX:
set SOUND_SFX, [hl]
ret
Music_ToggleNoise:
; toggle music noise sampling
; can't be used as a straight toggle since the param is not read from on->off
@ -1901,7 +1865,6 @@ Music_ToggleNoise:
ld [wMusicNoiseSampleSet], a
ret
Music_SFXToggleNoise:
; toggle sfx noise sampling
; params:
@ -1923,7 +1886,6 @@ Music_SFXToggleNoise:
ld [wSFXNoiseSampleSet], a
ret
Music_NoteType:
; note length
; # frames per 16th note
@ -1942,7 +1904,6 @@ Music_NoteType:
call Music_Intensity
ret
Music_SoundStatus:
; update sound status
; params: 1
@ -1953,7 +1914,6 @@ Music_SoundStatus:
set NOTE_UNKN_3, [hl]
ret
Music_DutyCycle:
; duty cycle
; params: 1
@ -1966,7 +1926,6 @@ Music_DutyCycle:
ld [hl], a
ret
Music_Intensity:
; intensity
; params: 1
@ -1978,7 +1937,6 @@ Music_Intensity:
ld [hl], a
ret
Music_Tempo:
; global tempo
; params: 2
@ -1990,7 +1948,6 @@ Music_Tempo:
call SetGlobalTempo
ret
Music_Octave8:
Music_Octave7:
Music_Octave6:
@ -2007,7 +1964,6 @@ Music_Octave1:
ld [hl], a
ret
Music_ForceOctave:
; set starting octave
; this forces all notes up by the starting octave
@ -2018,7 +1974,6 @@ Music_ForceOctave:
ld [hl], a
ret
Music_StereoPanning:
; stereo panning
; params: 1
@ -2030,7 +1985,6 @@ Music_StereoPanning:
call GetMusicByte
ret
Music_Panning:
; force panning
; params: 1
@ -2042,7 +1996,6 @@ Music_Panning:
ld [hl], a
ret
Music_Volume:
; set volume
; params: 1
@ -2059,7 +2012,6 @@ Music_Volume:
ld [wVolume], a
ret
Music_TempoRelative:
; set global tempo to current channel tempo +/- param
; params: 1 signed
@ -2086,7 +2038,6 @@ Music_TempoRelative:
call SetGlobalTempo
ret
Music_SFXPriorityOn:
; turn sfx priority on
; params: none
@ -2094,7 +2045,6 @@ Music_SFXPriorityOn:
ld [wSFXPriority], a
ret
Music_SFXPriorityOff:
; turn sfx priority off
; params: none
@ -2102,7 +2052,6 @@ Music_SFXPriorityOff:
ld [wSFXPriority], a
ret
Music_RestartChannel:
; restart current channel from channel header (same bank)
; params: 2 (5)
@ -2137,7 +2086,6 @@ Music_RestartChannel:
pop bc ; restore current channel
ret
Music_NewSong:
; new song
; params: 2
@ -2151,7 +2099,6 @@ Music_NewSong:
pop bc
ret
GetMusicByte:
; returns byte from current address in a
; advances to next byte in music data
@ -2184,7 +2131,6 @@ GetMusicByte:
ld a, [wCurMusicByte]
ret
GetFrequency:
; generate frequency
; input:
@ -2237,7 +2183,6 @@ GetFrequency:
ld d, a
ret
SetNoteDuration:
; input: a = note duration in 16ths
; store delay units in de
@ -2277,7 +2222,6 @@ SetNoteDuration:
ld [hl], d
ret
.Multiply:
; multiplies a and de
; adds the result to l
@ -2299,7 +2243,6 @@ SetNoteDuration:
jr nz, .loop
ret
SetGlobalTempo:
push bc ; save current channel
; are we dealing with music or sfx?
@ -2329,7 +2272,6 @@ SetGlobalTempo:
pop bc ; restore current channel
ret
Tempo:
; input:
; de: note length
@ -2346,7 +2288,6 @@ Tempo:
ld [hl], a
ret
StartChannel:
call SetLRTracks
ld hl, CHANNEL_FLAGS1
@ -2354,7 +2295,6 @@ StartChannel:
set SOUND_CHANNEL_ON, [hl] ; turn channel on
ret
SetLRTracks:
; set tracks for a the current channel to default
; seems to be redundant since this is overwritten by stereo data later
@ -2375,7 +2315,6 @@ SetLRTracks:
pop de
ret
_PlayMusic::
; load music
call MusicOff
@ -2418,7 +2357,6 @@ _PlayMusic::
call MusicOn
ret
_PlayCry::
; Play cry de using parameters:
; wCryPitch
@ -2530,7 +2468,6 @@ _PlayCry::
call MusicOn
ret
_PlaySFX::
; clear channels if they aren't already
call MusicOff
@ -2630,7 +2567,6 @@ _PlaySFX::
ld [wSFXPriority], a
ret
PlayStereoSFX::
; play sfx de
@ -2732,7 +2668,6 @@ PlayStereoSFX::
call MusicOn
ret
LoadChannel:
; prep channel for use
; input:
@ -2777,7 +2712,6 @@ LoadChannel:
ld [hl], a
ret
ChannelInit:
; make sure channel is cleared
; set default tempo and note length in case nothing is loaded
@ -2808,7 +2742,6 @@ ChannelInit:
pop de
ret
LoadMusicByte::
; input:
; de = current music address
@ -2819,15 +2752,12 @@ LoadMusicByte::
ld a, [wCurMusicByte]
ret
INCLUDE "audio/notes.asm"
INCLUDE "audio/wave_samples.asm"
INCLUDE "audio/drumkits.asm"
GetLRTracks:
; gets the default sound l/r channels
; stores mono/stereo table in hl
@ -2842,7 +2772,6 @@ GetLRTracks:
ld hl, StereoTracks
ret
MonoTracks:
; bit corresponds to track #
; hi: left channel
@ -2883,7 +2812,6 @@ ClearChannels::
jr nz, .loop
ret
ClearChannel:
; input: hl = beginning hw sound register (rNR10, rNR20, rNR30, rNR40)
; output: 00 00 80 00 80
@ -2901,7 +2829,6 @@ ClearChannel:
ld [hli], a ; rNR14, rNR24, rNR34, rNR44 ; restart sound (freq hi = 0)
ret
PlayTrainerEncounterMusic::
; input: e = trainer type
; turn fade off

View File

@ -245,7 +245,6 @@ Music_MagnetTrain_Ch4:
note B_, 16
endchannel
; unused
Music_MagnetTrain_branch_ef711:
note G#, 1
@ -262,7 +261,6 @@ Music_MagnetTrain_branch_ef711:
note G_, 1
endchannel
Music_MagnetTrain_branch_ef71e:
note G#, 2
note G_, 2

View File

@ -2,7 +2,6 @@
Music:
; entries correspond to MUSIC_* constants
dba Music_Nothing
dba Music_TitleScreen
dba Music_Route1
@ -96,9 +95,7 @@ Music:
dba Music_LakeOfRageRocketRadio
dba Music_Printer
dba Music_PostCredits
; Crystal adds the following songs:
; new to Crystal
dba Music_Clair
dba Music_MobileAdapterMenu
dba Music_MobileAdapter

View File

@ -1,6 +1,5 @@
SFX:
; entries correspond to SFX_* constants
dba Sfx_DexFanfare5079
dba Sfx_Item
dba Sfx_CaughtMon
@ -191,9 +190,7 @@ SFX:
dba Sfx_2Boops
dba Sfx_GlassTing
dba Sfx_GlassTing2
; Crystal adds the following SFX:
; new to Crystal
dba Sfx_IntroUnown1
dba Sfx_IntroUnown2
dba Sfx_IntroUnown3

View File

@ -113,3 +113,5 @@ HI_NYBBLE_WALK EQU $40
HI_NYBBLE_WALK_ALT EQU $50
HI_NYBBLE_WARPS EQU $70
HI_NYBBLE_LEDGES EQU $a0
HI_NYBBLE_SIDE_WALLS EQU $b0
HI_NYBBLE_UNUSED_C0 EQU $c0

View File

@ -8,7 +8,6 @@ PALETTE_SIZE EQU NUM_PAL_COLORS * PAL_COLOR_SIZE
PALRGB_WHITE EQUS "palred 31 + palgreen 31 + palblue 31" ; $7fff
SCREEN_WIDTH EQU 20 ; tiles
SCREEN_HEIGHT EQU 18 ; tiles
SCREEN_WIDTH_PX EQU SCREEN_WIDTH * TILE_WIDTH ; pixels
@ -23,7 +22,6 @@ SCREEN_META_HEIGHT EQU 5 ; metatiles
SURROUNDING_WIDTH EQU SCREEN_META_WIDTH * METATILE_WIDTH ; tiles
SURROUNDING_HEIGHT EQU SCREEN_META_HEIGHT * METATILE_WIDTH ; tiles
HP_BAR_LENGTH EQU 6 ; tiles
EXP_BAR_LENGTH EQU 8 ; tiles
HP_BAR_LENGTH_PX EQU HP_BAR_LENGTH * TILE_WIDTH ; pixels
@ -34,7 +32,6 @@ HP_GREEN EQU 0
HP_YELLOW EQU 1
HP_RED EQU 2
; sprite_oam_struct members (see macros/wram.asm)
const_def
const SPRITEOAMSTRUCT_YCOORD ; 0
@ -44,7 +41,6 @@ HP_RED EQU 2
SPRITEOAMSTRUCT_LENGTH EQU const_value
NUM_SPRITE_OAM_STRUCTS EQU 40 ; see wVirtualOAM
; PokeAnims indexes (see engine/gfx/pic_animation.asm)
const_def
const ANIM_MON_SLOW

View File

@ -32,7 +32,6 @@ NO_LIMITS EQU 0
CANT_SELECT EQU 1 << CANT_SELECT_F
CANT_TOSS EQU 1 << CANT_TOSS_F
; pack pockets
const_def
const ITEM_POCKET ; 0
@ -46,14 +45,12 @@ MAX_BALLS EQU 12
MAX_KEY_ITEMS EQU 25
MAX_PC_ITEMS EQU 50
; mail
MAIL_LINE_LENGTH EQU $10
MAIL_MSG_LENGTH EQU $20
MAILBOX_CAPACITY EQU 10
MAIL_STRUCT_LENGTH EQU $2f ; mailmsg struct
; held item effects
const_def
const HELD_NONE

View File

@ -105,7 +105,6 @@ KANTO_LANDMARK EQU const_value
GIFT_LOCATION EQU $7e
EVENT_LOCATION EQU $7f
; Regions
const_def
const JOHTO_REGION ; 0

View File

@ -3,7 +3,6 @@ MAP_N_A EQU -1
GROUP_NONE EQU 0
MAP_NONE EQU 0
; map struct members (see data/maps/maps.asm)
const_def
const MAP_MAPATTRIBUTES_BANK ; 0
@ -51,7 +50,6 @@ MAP_NONE EQU 0
const FISHGROUP_REMORAID
const FISHGROUP_QWILFISH_NO_SWARM
; connection directions (see data/maps/data.asm)
const_def
const EAST_F
@ -66,7 +64,6 @@ MAP_NONE EQU 0
shift_const SOUTH
shift_const NORTH
; SpawnPoints indexes (see data/maps/spawn_points.asm)
const_value = -1
const SPAWN_N_A
@ -102,7 +99,6 @@ const_value = -1
const SPAWN_FAST_SHIP
NUM_SPAWNS EQU const_value
; outdoor sprite limits (see engine/overworld/overworld.asm)
MAX_OUTDOOR_SPRITES EQU 23
SPRITE_GFX_LIST_CAPACITY EQU $20

View File

@ -126,7 +126,6 @@ NUM_SPRITEMOVEDATA_FIELDS EQU const_value
MAPOBJECT_SCREEN_WIDTH EQU (SCREEN_WIDTH / 2) + 2
MAPOBJECT_SCREEN_HEIGHT EQU (SCREEN_HEIGHT / 2) + 2
; SpriteMovementData indexes (see data/sprites/map_objects.asm)
const_def
const SPRITEMOVEDATA_00 ; 00
@ -283,7 +282,6 @@ NUM_SPRITEMOVEDATA EQU const_value
const FACING_GRASS_1 ; 1e
const FACING_GRASS_2 ; 1f
; DoPlayerMovement.DoStep arguments (see engine/overworld/player_movement.asm)
const_def
const STEP_SLOW ; 0

View File

@ -32,7 +32,6 @@
shift_const SCROLLINGMENU_ENABLE_START
shift_const SCROLLINGMENU_ENABLE_SELECT
; MonMenuOptions indexes (see data/mon_menu.asm)
; used by PokemonActionSubmenu (see engine/menus/start_menu.asm)
const_def 1
@ -70,7 +69,6 @@ NUM_MONMENU_ITEMS EQU 8
HMENURETURN_SCRIPT EQU %10000000
HMENURETURN_ASM EQU %11111111
; PartyMenuQualityPointers indexes (see data/party_menu_qualities.asm)
const_def
const PARTYMENUACTION_CHOOSE_POKEMON

View File

@ -62,11 +62,9 @@ GENDER_UNKNOWN EQU -1
const EGG_DRAGON ; e
const EGG_NONE ; f (Undiscovered)
; pokedex entries (see data/pokemon/dex_entries.asm)
NUM_DEX_ENTRY_BANKS EQU 4
; party_struct members (see macros/wram.asm)
MON_SPECIES EQUS "(wPartyMon1Species - wPartyMon1)"
MON_ITEM EQUS "(wPartyMon1Item - wPartyMon1)"
@ -101,7 +99,6 @@ BOXMON_STRUCT_LENGTH EQUS "(wPartyMon1End - wPartyMon1)"
PARTYMON_STRUCT_LENGTH EQUS "(wPartyMon1StatsEnd - wPartyMon1)"
REDMON_STRUCT_LENGTH EQU 44
; caught data
CAUGHT_TIME_MASK EQU %11000000
@ -116,7 +113,6 @@ CAUGHT_BY_BOY EQU 2
CAUGHT_EGG_LEVEL EQU 1
; maximum number of party pokemon
PARTY_LENGTH EQU 6
@ -129,7 +125,6 @@ HOF_MON_LENGTH = 1 + 2 + 2 + 1 + (MON_NAME_LENGTH + -1) ; species, id, dvs, leve
HOF_LENGTH = 1 + HOF_MON_LENGTH * PARTY_LENGTH + 1 ; win count, party, terminator
NUM_HOF_TEAMS = 30
; evolution types (used in data/pokemon/evos_attacks.asm)
const_def 1
const EVOLVE_LEVEL
@ -150,7 +145,6 @@ NUM_HOF_TEAMS = 30
const ATK_LT_DEF
const ATK_EQ_DEF
; wild data
NUM_GRASSMON EQU 7 ; data/wild/*_grass.asm table size
@ -162,7 +156,6 @@ FISHGROUP_DATA_LENGTH EQU 1 + 2 * 3
NUM_ROAMMON_MAPS EQU 16 ; RoamMaps table size (see data/wild/roammon_maps.asm)
; treemon sets
; TreeMons indexes (see data/wild/treemons.asm)
const_def
@ -182,7 +175,6 @@ NUM_TREEMON_SETS EQU const_value
const TREEMON_SCORE_GOOD ; 1
const TREEMON_SCORE_RARE ; 2
; ChangeHappiness arguments (see data/happiness_changes.asm)
const_value = 1
const HAPPINESS_GAINLEVEL ; 01
@ -212,7 +204,6 @@ HAPPINESS_TO_EVOLVE EQU 220
HAPPINESS_THRESHOLD_1 EQU 100
HAPPINESS_THRESHOLD_2 EQU 200
; PP
PP_UP_MASK EQU %11000000
PP_UP_ONE EQU %01000000

View File

@ -2,7 +2,6 @@
PLAYER EQU 0
LAST_TALKED EQU -2
; memory constants
const_def
const MEM_BUFFER_0 ; use wStringBuffer3
@ -10,7 +9,6 @@ LAST_TALKED EQU -2
const MEM_BUFFER_2 ; use wStringBuffer5
NUM_MEM_BUFFERS EQU const_value
; checkmoney/takemoney accounts
const_def
const YOUR_MONEY ; 0
@ -36,7 +34,6 @@ NUM_MEM_BUFFERS EQU const_value
const PHONE_CONTACTS_FULL ; 1
const PHONE_CONTACT_REFUSED ; 2
; writecode/checkcode arguments
; _GetVarAction.VarActionTable indexes (see engine/overworld/variables.asm)
const_def
@ -74,7 +71,6 @@ RETVAR_STRBUF2 EQU (0 << 6)
RETVAR_ADDR_DE EQU (1 << 6)
RETVAR_EXECUTE EQU (2 << 6)
; PlayerEventScriptPointers indexes (see engine/overworld/events.asm)
const_def -1
const PLAYEREVENT_MAPSCRIPT
@ -90,7 +86,6 @@ RETVAR_EXECUTE EQU (2 << 6)
const PLAYEREVENT_JOYCHANGEFACING
NUM_PLAYER_EVENTS EQU const_value
; bg_event types
; TryBGEvent arguments (see engine/overworld/events.asm)
const_def
@ -115,7 +110,6 @@ NUM_PLAYER_EVENTS EQU const_value
const OBJECTTYPE_5
const OBJECTTYPE_6
; command queue members
CMDQUEUE_TYPE EQU 0
CMDQUEUE_ADDR EQU 1
@ -128,7 +122,6 @@ CMDQUEUE_CAPACITY EQU 4
; command queue types
CMDQUEUE_STONETABLE EQU 2
; elevfloor macro values
; ElevatorFloorNames indexes (see data/events/elevator_floors.asm)
const_def
@ -149,7 +142,6 @@ CMDQUEUE_STONETABLE EQU 2
const FLOOR_11F
const FLOOR_ROOF
; showemote arguments
; Emotes indexes (see data/sprites/emotes.asm)
const_def
@ -217,7 +209,6 @@ NUM_FRUIT_TREES EQU const_value + -1
const SWARM_DUNSPARCE ; 0
const SWARM_YANMA ; 1
; ActivateFishingSwarm writebyte arguments
const_def
const FISHSWARM_NONE ; 0

View File

@ -1266,4 +1266,3 @@ BattleAnimFrameData:
.Frameset_b8:
frame BATTLEANIMOAMSET_D7, 8
endanim

File diff suppressed because it is too large Load Diff

View File

@ -188,7 +188,7 @@ CreditsStrings:
.MonsterDesign: db " MONSTER DESIGN@" ; "# デザイン@"
.GraphicsDesign: db " GRAPHICS DESIGN@" ; "グラフィック デザイン@"
.Music: db " MUSIC@" ; "おんがく@"
.SoundEffects: db " SOUND EFFECTS@" ; "サウンド エフクト@"
.SoundEffects: db " SOUND EFFECTS@" ; "サウンド エフクト@"
.GameDesign: db " GAME DESIGN@" ; "ゲームデザイン@"
.GameScenario: db " GAME SCENARIO@" ; "シナりオ@"
.ToolProgramming: db " TOOL PROGRAMMING@" ; "ツール プログラム@"
@ -202,7 +202,7 @@ CreditsStrings:
.ExecutiveProducer: db " EXECUTIVE PRODUCER@" ; "エグゼクティブ プロデューサー@"
.PokemonAnimation: db " #MON ANIMATION@" ; "# アニメーション@"
.PokedexText: db " #DEX TEXT@" ; "ずかん テキスト@"
.MobilePrjLeader: db " MOBILE PRJ. LEADER@" ; "モバイルプロジクト りーダー@"
.MobilePrjLeader: db " MOBILE PRJ. LEADER@" ; "モバイルプロジクト りーダー@"
.MobileSystemAd: db " MOBILE SYSTEM AD.@" ; "モバイル システムアドバイザー@"
.MobileStadiumDir: db "MOBILE STADIUM DIR.@" ; "モバイルスタジアム ディレクター@"
.Coordination: db " COORDINATION@" ; "コーディネーター@"

View File

@ -197,4 +197,3 @@ EngineFlags:
engine_flag wSwarmFlags, SWARMFLAGS_DUNSPARCE_SWARM_F ; $a0
engine_flag wSwarmFlags, SWARMFLAGS_YANMA_SWARM_F

View File

@ -42,7 +42,6 @@ CutTreeBlockPointers:
db $0f, $17, 0
db -1 ; end
WhirlpoolBlockPointers:
dbw TILESET_JOHTO, .johto
db -1 ; end

View File

@ -27,7 +27,6 @@ prob_total = 0
prob 10
prob 1
OddEggs:
OddEgg1:

View File

@ -25,4 +25,3 @@ OakRatings:
rating 239, SFX_DEX_FANFARE_230_PLUS, OakRating17
rating 248, SFX_DEX_FANFARE_230_PLUS, OakRating18
rating 255, SFX_DEX_FANFARE_230_PLUS, OakRating19

View File

@ -36,7 +36,6 @@ Marts:
dw MartUnderground
.End
MartCherrygrove:
db 4 ; # items
db POTION

View File

@ -63,7 +63,6 @@ elif "\1" == "east"
endc
ENDM
map_attributes NewBarkTown, NEW_BARK_TOWN, $05, WEST | EAST
connection west, Route29, ROUTE_29, 0, 0, 9
connection east, Route27, ROUTE_27, 0, 0, 9

View File

@ -6,7 +6,6 @@ SECTION "Maps", ROMX
INCLUDE "data/maps/maps.asm"
INCLUDE "data/maps/attributes.asm"
INCLUDE "data/maps/blocks.asm"
INCLUDE "data/maps/scripts.asm"

View File

@ -43,7 +43,6 @@ MapGroupPointers::
dw MapGroup_Saffron ; 25
dw MapGroup_Cherrygrove ; 26
MapGroup_Olivine:
map OlivinePokecenter1F, TILESET_POKECENTER, INDOOR, OLIVINE_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
map OlivineGym, TILESET_CHAMPIONS_ROOM, INDOOR, OLIVINE_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE

View File

@ -30,7 +30,6 @@ OutdoorSprites:
dw SaffronGroupSprites
dw CherrygroveGroupSprites
PalletGroupSprites:
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY

View File

@ -1,3 +1,5 @@
INCLUDE "data/moves/effects_pointers.asm"
MoveEffects: ; used only for BANK(MoveEffects)
NormalHit:

View File

@ -18,7 +18,6 @@ endr
db -1 ; end
ENDM
PartyMenuQualityPointers:
; entries correspond to PARTYMENUACTION_* constants
dw .Default ; PARTYMENUACTION_CHOOSE_POKEMON

View File

@ -37,7 +37,6 @@ sgb_data_snd: MACRO
db \3 ; length (1-11)
ENDM
; Crystal does not support SGB, so this is unused.
PalTrnPacket: sgb_pal_trn
@ -49,7 +48,6 @@ PctTrnPacket: sgb_pct_trn
MaskEnFreezePacket: sgb_mask_en 1
MaskEnCancelPacket: sgb_mask_en 0
; These are packets containing SNES code.
; This set of packets is found in several Japanese SGB-compatible titles.
; It appears to be part of NCL's SGB devkit.

View File

@ -37,7 +37,6 @@ Facings:
NUM_FACINGS EQU (Facings.End - Facings) / 2
; Tables used as a reference to transform OAM data.
; Format:

View File

@ -402,4 +402,3 @@ TrainerClassAttributes:
db 25 ; base reward
dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES

View File

@ -1,3 +1,5 @@
INCLUDE "data/trainers/party_pointers.asm"
Trainers:
; Trainer data structure:
; - db "NAME@", TRAINERTYPE_* constant
@ -8,7 +10,6 @@ Trainers:
; * for TRAINERTYPE_ITEM_MOVES: db level, species, item, 4 moves
; - db -1 ; end
FalknerGroup:
; FALKNER (1)
db "FALKNER@", TRAINERTYPE_MOVES
@ -16,7 +17,6 @@ FalknerGroup:
db 9, PIDGEOTTO, TACKLE, MUD_SLAP, GUST, NO_MOVE
db -1 ; end
WhitneyGroup:
; WHITNEY (1)
db "WHITNEY@", TRAINERTYPE_MOVES
@ -24,7 +24,6 @@ WhitneyGroup:
db 20, MILTANK, ROLLOUT, ATTRACT, STOMP, MILK_DRINK
db -1 ; end
BugsyGroup:
; BUGSY (1)
db "BUGSY@", TRAINERTYPE_MOVES
@ -33,7 +32,6 @@ BugsyGroup:
db 16, SCYTHER, QUICK_ATTACK, LEER, FURY_CUTTER, NO_MOVE
db -1 ; end
MortyGroup:
; MORTY (1)
db "MORTY@", TRAINERTYPE_MOVES
@ -43,7 +41,6 @@ MortyGroup:
db 23, HAUNTER, SPITE, MEAN_LOOK, MIMIC, NIGHT_SHADE
db -1 ; end
PryceGroup:
; PRYCE (1)
db "PRYCE@", TRAINERTYPE_MOVES
@ -52,7 +49,6 @@ PryceGroup:
db 31, PILOSWINE, ICY_WIND, FURY_ATTACK, MIST, BLIZZARD
db -1 ; end
JasmineGroup:
; JASMINE (1)
db "JASMINE@", TRAINERTYPE_MOVES
@ -61,7 +57,6 @@ JasmineGroup:
db 35, STEELIX, SCREECH, SUNNY_DAY, ROCK_THROW, IRON_TAIL
db -1 ; end
ChuckGroup:
; CHUCK (1)
db "CHUCK@", TRAINERTYPE_MOVES
@ -69,7 +64,6 @@ ChuckGroup:
db 30, POLIWRATH, HYPNOSIS, MIND_READER, SURF, DYNAMICPUNCH
db -1 ; end
ClairGroup:
; CLAIR (1)
db "CLAIR@", TRAINERTYPE_MOVES
@ -79,7 +73,6 @@ ClairGroup:
db 40, KINGDRA, SMOKESCREEN, SURF, HYPER_BEAM, DRAGONBREATH
db -1 ; end
Rival1Group:
; RIVAL1 (1)
db "?@", TRAINERTYPE_NORMAL
@ -198,10 +191,8 @@ Rival1Group:
db 38, FERALIGATR, RAGE, WATER_GUN, SCARY_FACE, SLASH
db -1 ; end
PokemonProfGroup:
WillGroup:
; WILL (1)
db "WILL@", TRAINERTYPE_MOVES
@ -212,7 +203,6 @@ WillGroup:
db 42, XATU, QUICK_ATTACK, FUTURE_SIGHT, CONFUSE_RAY, PSYCHIC_M
db -1 ; end
PKMNTrainerGroup:
; CAL (1)
db "CAL@", TRAINERTYPE_NORMAL
@ -235,7 +225,6 @@ PKMNTrainerGroup:
db 50, FERALIGATR
db -1 ; end
BrunoGroup:
; BRUNO (1)
db "BRUNO@", TRAINERTYPE_MOVES
@ -246,7 +235,6 @@ BrunoGroup:
db 46, MACHAMP, ROCK_SLIDE, FORESIGHT, VITAL_THROW, CROSS_CHOP
db -1 ; end
KarenGroup:
; KAREN (1)
db "KAREN@", TRAINERTYPE_MOVES
@ -257,7 +245,6 @@ KarenGroup:
db 47, HOUNDOOM, ROAR, PURSUIT, FLAMETHROWER, CRUNCH
db -1 ; end
KogaGroup:
; KOGA (1)
db "KOGA@", TRAINERTYPE_MOVES
@ -268,7 +255,6 @@ KogaGroup:
db 44, CROBAT, DOUBLE_TEAM, QUICK_ATTACK, WING_ATTACK, TOXIC
db -1 ; end
ChampionGroup:
; CHAMPION (1)
db "LANCE@", TRAINERTYPE_MOVES
@ -280,7 +266,6 @@ ChampionGroup:
db 50, DRAGONITE, FIRE_BLAST, SAFEGUARD, OUTRAGE, HYPER_BEAM
db -1 ; end
BrockGroup:
; BROCK (1)
db "BROCK@", TRAINERTYPE_MOVES
@ -291,7 +276,6 @@ BrockGroup:
db 42, KABUTOPS, SLASH, SURF, ENDURE, GIGA_DRAIN
db -1 ; end
MistyGroup:
; MISTY (1)
db "MISTY@", TRAINERTYPE_MOVES
@ -301,7 +285,6 @@ MistyGroup:
db 47, STARMIE, SURF, CONFUSE_RAY, RECOVER, ICE_BEAM
db -1 ; end
LtSurgeGroup:
; LT_SURGE (1)
db "LT.SURGE@", TRAINERTYPE_MOVES
@ -312,7 +295,6 @@ LtSurgeGroup:
db 46, ELECTABUZZ, QUICK_ATTACK, THUNDERPUNCH, LIGHT_SCREEN, THUNDER
db -1 ; end
ScientistGroup:
; SCIENTIST (1)
db "ROSS@", TRAINERTYPE_NORMAL
@ -344,7 +326,6 @@ ScientistGroup:
db 30, PORYGON, CONVERSION, CONVERSION2, RECOVER, TRI_ATTACK
db -1 ; end
ErikaGroup:
; ERIKA (1)
db "ERIKA@", TRAINERTYPE_MOVES
@ -354,7 +335,6 @@ ErikaGroup:
db 46, BELLOSSOM, SUNNY_DAY, SYNTHESIS, PETAL_DANCE, SOLARBEAM
db -1 ; end
YoungsterGroup:
; YOUNGSTER (1)
db "JOEY@", TRAINERTYPE_NORMAL
@ -434,7 +414,6 @@ YoungsterGroup:
db 37, RATICATE, HYPER_BEAM, QUICK_ATTACK, HYPER_FANG, PURSUIT
db -1 ; end
SchoolboyGroup:
; SCHOOLBOY (1)
db "JACK@", TRAINERTYPE_NORMAL
@ -591,7 +570,6 @@ SchoolboyGroup:
db 38, MAGNETON, ZAP_CANNON, THUNDER_WAVE, LOCK_ON, SWIFT
db -1 ; end
BirdKeeperGroup:
; BIRD_KEEPER (1)
db "ROD@", TRAINERTYPE_NORMAL
@ -708,7 +686,6 @@ BirdKeeperGroup:
db 38, PIDGEOT, SWIFT, DETECT, STEEL_WING, FLY
db -1 ; end
LassGroup:
; LASS (1)
db "CARRIE@", TRAINERTYPE_MOVES
@ -814,7 +791,6 @@ LassGroup:
db 36, GOLDUCK, DISABLE, SURF, PSYCHIC_M, SCREECH
db -1 ; end
JanineGroup:
; JANINE (1)
db "JANINE@", TRAINERTYPE_MOVES
@ -825,7 +801,6 @@ JanineGroup:
db 39, VENOMOTH, FORESIGHT, DOUBLE_TEAM, GUST, PSYCHIC_M
db -1 ; end
CooltrainerMGroup:
; COOLTRAINERM (1)
db "NICK@", TRAINERTYPE_MOVES
@ -956,7 +931,6 @@ CooltrainerMGroup:
db 37, DRAGONAIR, WRAP, SURF, DRAGON_RAGE, SLAM
db -1 ; end
CooltrainerFGroup:
; COOLTRAINERF (1)
db "GWEN@", TRAINERTYPE_NORMAL
@ -1088,7 +1062,6 @@ CooltrainerFGroup:
db 35, SEADRA, SWIFT, LEER, WATERFALL, TWISTER
db -1 ; end
BeautyGroup:
; BEAUTY (1)
db "VICTORIA@", TRAINERTYPE_NORMAL
@ -1184,7 +1157,6 @@ BeautyGroup:
db 19, CORSOLA
db -1 ; end
PokemaniacGroup:
; POKEMANIAC (1)
db "LARRY@", TRAINERTYPE_NORMAL
@ -1266,7 +1238,6 @@ PokemaniacGroup:
db 17, NIDOQUEEN
db -1 ; end
GruntMGroup:
; GRUNTM (1)
db "GRUNT@", TRAINERTYPE_NORMAL
@ -1458,7 +1429,6 @@ GruntMGroup:
db 30, GOLBAT
db -1 ; end
GentlemanGroup:
; GENTLEMAN (1)
db "PRESTON@", TRAINERTYPE_NORMAL
@ -1487,7 +1457,6 @@ GentlemanGroup:
db 20, NOCTOWL
db -1 ; end
SkierGroup:
; SKIER (1)
db "ROXANNE@", TRAINERTYPE_NORMAL
@ -1499,7 +1468,6 @@ SkierGroup:
db 28, DEWGONG
db -1 ; end
TeacherGroup:
; TEACHER (1)
db "COLETTE@", TRAINERTYPE_NORMAL
@ -1517,7 +1485,6 @@ TeacherGroup:
db 35, JIGGLYPUFF
db -1 ; end
SabrinaGroup:
; SABRINA (1)
db "SABRINA@", TRAINERTYPE_MOVES
@ -1526,7 +1493,6 @@ SabrinaGroup:
db 48, ALAKAZAM, RECOVER, FUTURE_SIGHT, PSYCHIC_M, REFLECT
db -1 ; end
BugCatcherGroup:
; BUG_CATCHER (1)
db "DON@", TRAINERTYPE_NORMAL
@ -1647,7 +1613,6 @@ BugCatcherGroup:
db 10, PARAS
db -1 ; end
FisherGroup:
; FISHER (1)
db "JUSTIN@", TRAINERTYPE_NORMAL
@ -1811,7 +1776,6 @@ FisherGroup:
db 37, QWILFISH, ROLLOUT, SURF, PIN_MISSILE, TAKE_DOWN
db -1 ; end
SwimmerMGroup:
; SWIMMERM (1)
db "HAROLD@", TRAINERTYPE_NORMAL
@ -1953,7 +1917,6 @@ SwimmerMGroup:
db 35, SEADRA
db -1 ; end
SwimmerFGroup:
; SWIMMERF (1)
db "ELAINE@", TRAINERTYPE_NORMAL
@ -2063,7 +2026,6 @@ SwimmerFGroup:
db 35, SEAKING
db -1 ; end
SailorGroup:
; SAILOR (1)
db "EUGENE@", TRAINERTYPE_NORMAL
@ -2145,7 +2107,6 @@ SailorGroup:
db 38, POLIWRATH, SURF, STRENGTH, ICE_PUNCH, SUBMISSION
db -1 ; end
SuperNerdGroup:
; SUPER_NERD (1)
db "STAN@", TRAINERTYPE_NORMAL
@ -2231,7 +2192,6 @@ SuperNerdGroup:
db 19, SLOWPOKE, CURSE, WATER_GUN, GROWL, STRENGTH
db -1 ; end
Rival2Group:
; RIVAL2 (1)
db "?@", TRAINERTYPE_MOVES
@ -2293,7 +2253,6 @@ Rival2Group:
db 50, FERALIGATR, SURF, RAIN_DANCE, SLASH, SCREECH
db -1 ; end
GuitaristGroup:
; GUITARIST (1)
db "CLYDE@", TRAINERTYPE_NORMAL
@ -2308,7 +2267,6 @@ GuitaristGroup:
db 32, MAGNEMITE
db -1 ; end
HikerGroup:
; HIKER (1)
db "ANTHONY@", TRAINERTYPE_NORMAL
@ -2454,7 +2412,6 @@ HikerGroup:
db 34, MACHOKE, KARATE_CHOP, VITAL_THROW, HEADBUTT, DIG
db -1 ; end
BikerGroup:
; BIKER (1)
db "BENNY@", TRAINERTYPE_NORMAL
@ -2514,7 +2471,6 @@ BikerGroup:
db 32, WEEZING
db -1 ; end
BlaineGroup:
; BLAINE (1)
db "BLAINE@", TRAINERTYPE_MOVES
@ -2523,7 +2479,6 @@ BlaineGroup:
db 50, RAPIDASH, QUICK_ATTACK, FIRE_SPIN, FURY_ATTACK, FIRE_BLAST
db -1 ; end
BurglarGroup:
; BURGLAR (1)
db "DUNCAN@", TRAINERTYPE_NORMAL
@ -2546,7 +2501,6 @@ BurglarGroup:
db 30, KOFFING
db -1 ; end
FirebreatherGroup:
; FIREBREATHER (1)
db "OTIS@", TRAINERTYPE_NORMAL
@ -2597,7 +2551,6 @@ FirebreatherGroup:
db 28, KOFFING
db -1 ; end
JugglerGroup:
; JUGGLER (1)
db "IRWIN@", TRAINERTYPE_NORMAL
@ -2646,7 +2599,6 @@ JugglerGroup:
db 30, ELECTRODE
db -1 ; end
BlackbeltGroup:
; BLACKBELT_T (1)
db "KENJI@", TRAINERTYPE_NORMAL
@ -2705,7 +2657,6 @@ BlackbeltGroup:
db 34, MACHOKE
db -1 ; end
ExecutiveMGroup:
; EXECUTIVEM (1)
db "EXECUTIVE@", TRAINERTYPE_MOVES
@ -2736,7 +2687,6 @@ ExecutiveMGroup:
db 22, KOFFING
db -1 ; end
PsychicGroup:
; PSYCHIC_T (1)
db "NATHAN@", TRAINERTYPE_NORMAL
@ -2809,7 +2759,6 @@ PsychicGroup:
db 33, HYPNO
db -1 ; end
PicnickerGroup:
; PICNICKER (1)
db "LIZ@", TRAINERTYPE_NORMAL
@ -2965,7 +2914,6 @@ PicnickerGroup:
db 43, CLEFAIRY, METRONOME, ENCORE, MOONLIGHT, MINIMIZE
db -1 ; end
CamperGroup:
; CAMPER (1)
db "ROLAND@", TRAINERTYPE_NORMAL
@ -3109,7 +3057,6 @@ CamperGroup:
db 30, TAUROS
db -1 ; end
ExecutiveFGroup:
; EXECUTIVEF (1)
db "EXECUTIVE@", TRAINERTYPE_MOVES
@ -3125,7 +3072,6 @@ ExecutiveFGroup:
db 25, MURKROW, PECK, PURSUIT, HAZE, NO_MOVE
db -1 ; end
SageGroup:
; SAGE (1)
db "CHOW@", TRAINERTYPE_NORMAL
@ -3203,7 +3149,6 @@ SageGroup:
db 32, VAPOREON
db -1 ; end
MediumGroup:
; MEDIUM (1)
db "MARTHA@", TRAINERTYPE_NORMAL
@ -3245,7 +3190,6 @@ MediumGroup:
db 36, SLOWBRO
db -1 ; end
BoarderGroup:
; BOARDER (1)
db "RONALD@", TRAINERTYPE_NORMAL
@ -3267,7 +3211,6 @@ BoarderGroup:
db 24, SHELLDER
db -1 ; end
PokefanMGroup:
; POKEFANM (1)
db "WILLIAM@", TRAINERTYPE_ITEM
@ -3350,7 +3293,6 @@ PokefanMGroup:
db 35, TEDDIURSA, BERRY
db -1 ; end
KimonoGirlGroup:
; KIMONO_GIRL (1)
db "NAOKO@", TRAINERTYPE_NORMAL
@ -3384,7 +3326,6 @@ KimonoGirlGroup:
db 17, JOLTEON
db -1 ; end
TwinsGroup:
; TWINS (1)
db "AMY & MAY@", TRAINERTYPE_NORMAL
@ -3446,7 +3387,6 @@ TwinsGroup:
db 38, DRATINI, THUNDER_WAVE, TWISTER, FLAMETHROWER, HEADBUTT
db -1 ; end
PokefanFGroup:
; POKEFANF (1)
db "BEVERLY@", TRAINERTYPE_ITEM
@ -3482,7 +3422,6 @@ PokefanFGroup:
db 16, MEOWTH, BERRY
db -1 ; end
RedGroup:
; RED (1)
db "RED@", TRAINERTYPE_MOVES
@ -3494,7 +3433,6 @@ RedGroup:
db 77, BLASTOISE, RAIN_DANCE, SURF, BLIZZARD, WHIRLPOOL
db -1 ; end
BlueGroup:
; BLUE (1)
db "BLUE@", TRAINERTYPE_MOVES
@ -3506,7 +3444,6 @@ BlueGroup:
db 58, ARCANINE, ROAR, SWIFT, FLAMETHROWER, EXTREMESPEED
db -1 ; end
OfficerGroup:
; OFFICER (1)
db "KEITH@", TRAINERTYPE_NORMAL
@ -3519,7 +3456,6 @@ OfficerGroup:
db 14, GROWLITHE
db -1 ; end
GruntFGroup:
; GRUNTF (1)
db "GRUNT@", TRAINERTYPE_NORMAL
@ -3552,7 +3488,6 @@ GruntFGroup:
db 18, GLOOM, ABSORB, SWEET_SCENT, STUN_SPORE, SLEEP_POWDER
db -1 ; end
MysticalmanGroup:
; MYSTICALMAN (1)
db "EUSINE@", TRAINERTYPE_MOVES

View File

@ -48,4 +48,3 @@ Ghost: db "GHOST@"
Steel: db "STEEL@"
Dragon: db "DRAGON@"
Dark: db "DARK@"

View File

@ -204,7 +204,6 @@ FishGroups:
db 90 percent + 1, MAGIKARP, 40
db 100 percent, REMORAID, 40
TimeFishGroups:
; day nite
db CORSOLA, 20, STARYU, 20 ; 0

View File

@ -84,6 +84,7 @@ In [gfx/pics.asm](/gfx/pics.asm):
; PokemonPicPointers and UnownPicPointers are assumed to start at the same
; address, but in different banks. This is enforced in pokecrystal.link.
SECTION "Pic Pointers", ROMX
INCLUDE "data/pokemon/pic_pointers.asm"

View File

@ -145,13 +145,11 @@ SwitchSometimes:
ld [wEnemySwitchMonIndex], a
jp AI_TrySwitch
CheckSubstatusCantRun:
ld a, [wEnemySubStatus5]
bit SUBSTATUS_CANT_RUN, a
ret
AI_TryItem:
; items are not allowed in the BattleTower
ld a, [wInBattleTowerBattle]
@ -238,7 +236,6 @@ AI_TryItem:
scf
ret
.IsHighestLevel:
ld a, [wOTPartyCount]
ld d, a
@ -270,7 +267,6 @@ AI_TryItem:
scf
ret
AI_Items:
dbw FULL_RESTORE, .FullRestore
dbw MAX_POTION, .MaxPotion
@ -520,7 +516,6 @@ AI_Items:
and a
ret
AIUpdateHUD:
call UpdateEnemyMonInParty
farcall UpdateEnemyHUD
@ -538,7 +533,6 @@ AIUsedItemSound:
pop de
ret
EnemyUsedFullHeal:
call AIUsedItemSound
call AI_HealStatus
@ -642,7 +636,6 @@ EnemyPotionFinish:
predef AnimateHPBar
jp AIUpdateHUD
AI_TrySwitch:
; Determine whether the AI can switch based on how many Pokemon are still alive.
; If it can switch, it will.
@ -805,7 +798,6 @@ EnemyUsedXSpecial:
ld b, SP_ATTACK
ld a, X_SPECIAL
; Parameter
; a = ITEM_CONSTANT
; b = BATTLE_CONSTANT (ATTACK, DEFENSE, SPEED, SP_ATTACK, SP_DEFENSE, ACCURACY, EVASION)
@ -817,7 +809,6 @@ EnemyUsedXItem:
farcall CheckIfStatCanBeRaised
jp AIUpdateHUD
; Parameter
; a = ITEM_CONSTANT
PrintText_UsedItemOn_AND_AIUpdateHUD:

View File

@ -15,7 +15,6 @@ AIChooseMove:
farcall CheckEnemyLockedIn
ret nz
; The default score is 20. Unusable moves are given a score of 80.
ld a, 20
ld hl, wBuffer1
@ -61,7 +60,6 @@ AIChooseMove:
ld [hl], 80
jr .CheckMovePP
; Apply AI scoring layers depending on the trainer class.
.ApplyLayers:
ld hl, TrainerClassAttributes + TRNATTR_AI_MOVE_WEIGHTS
@ -199,7 +197,6 @@ AIChooseMove:
ld [wCurEnemyMoveNum], a
ret
AIScoringPointers:
; entries correspond to AI_* constants
dw AI_Basic

View File

@ -65,7 +65,6 @@ AI_Basic:
INCLUDE "data/battle/ai/status_only_effects.asm"
AI_Setup:
; Use stat-modifying moves on turn 1.
@ -141,7 +140,6 @@ AI_Setup:
jr .checkmove
AI_Types:
; Dismiss any move that the player is immune to.
; Encourage super-effective moves.
@ -232,7 +230,6 @@ AI_Types:
jr .checkmove
AI_Offensive:
; Greatly discourage non-damaging moves.
@ -260,7 +257,6 @@ AI_Offensive:
jr .checkmove
AI_Smart:
; Context-specific scoring.
@ -392,7 +388,6 @@ AI_Smart:
dbw EFFECT_FLY, AI_Smart_Fly
db -1 ; end
AI_Smart_Sleep:
; Greatly encourage sleep inducing moves if the enemy has either Dream Eater or Nightmare.
; 50% chance to greatly encourage sleep inducing moves otherwise.
@ -412,7 +407,6 @@ AI_Smart_Sleep:
dec [hl]
ret
AI_Smart_LeechHit:
push hl
ld a, 1
@ -447,7 +441,6 @@ AI_Smart_LeechHit:
inc [hl]
ret
AI_Smart_LockOn:
ld a, [wPlayerSubStatus5]
bit SUBSTATUS_LOCK_ON, a
@ -552,7 +545,6 @@ AI_Smart_LockOn:
pop hl
jp AIDiscourageMove
AI_Smart_Selfdestruct:
; Selfdestruct, Explosion
@ -589,7 +581,6 @@ AI_Smart_Selfdestruct:
inc [hl]
ret
AI_Smart_DreamEater:
; 90% chance to greatly encourage this move.
; The AI_Basic layer will make sure that
@ -602,9 +593,7 @@ AI_Smart_DreamEater:
dec [hl]
ret
AI_Smart_EvasionUp:
; Dismiss this move if enemy's evasion can't raise anymore.
ld a, [wEnemyEvaLevel]
cp $d
@ -688,7 +677,6 @@ AI_Smart_EvasionUp:
bit SUBSTATUS_ROLLOUT, a
jr nz, .asm_388ef
.asm_38936
inc [hl]
ret
@ -714,7 +702,6 @@ AI_Smart_EvasionUp:
dec [hl]
ret
AI_Smart_AlwaysHit:
; 80% chance to greatly encourage this move if either...
@ -736,9 +723,7 @@ AI_Smart_AlwaysHit:
dec [hl]
ret
AI_Smart_MirrorMove:
; If the player did not use any move last turn...
ld a, [wLastPlayerCounterMove]
and a
@ -779,9 +764,7 @@ AI_Smart_MirrorMove:
dec [hl]
ret
AI_Smart_AccuracyDown:
; If player's HP is full...
call AICheckPlayerMaxHP
jr nc, .asm_389a0
@ -885,9 +868,7 @@ AI_Smart_AccuracyDown:
dec [hl]
ret
AI_Smart_ResetStats:
; 85% chance to encourage this move if any of enemy's stat levels is lower than -2.
push hl
ld hl, wEnemyAtkLevel
@ -927,7 +908,6 @@ AI_Smart_ResetStats:
inc [hl]
ret
AI_Smart_Bide:
; 90% chance to discourage this move unless enemy's HP is full.
@ -939,7 +919,6 @@ AI_Smart_Bide:
inc [hl]
ret
AI_Smart_ForceSwitch:
; Whirlwind, Roar.
@ -956,7 +935,6 @@ AI_Smart_ForceSwitch:
inc [hl]
ret
AI_Smart_Heal:
AI_Smart_MorningSun:
AI_Smart_Synthesis:
@ -980,7 +958,6 @@ AI_Smart_Moonlight:
dec [hl]
ret
AI_Smart_Toxic:
AI_Smart_LeechSeed:
; Discourage this move if player's HP is below 50%.
@ -990,7 +967,6 @@ AI_Smart_LeechSeed:
inc [hl]
ret
AI_Smart_LightScreen:
AI_Smart_Reflect:
; Over 90% chance to discourage this move unless enemy's HP is full.
@ -1003,7 +979,6 @@ AI_Smart_Reflect:
inc [hl]
ret
AI_Smart_Ohko:
; Dismiss this move if player's level is higher than enemy's level.
; Else, discourage this move is player's HP is below 50%.
@ -1018,7 +993,6 @@ AI_Smart_Ohko:
inc [hl]
ret
AI_Smart_TrapTarget:
; Bind, Wrap, Fire Spin, Clamp
@ -1058,7 +1032,6 @@ AI_Smart_TrapTarget:
dec [hl]
ret
AI_Smart_RazorWind:
AI_Smart_Unused2B:
ld a, [wEnemySubStatus1]
@ -1112,9 +1085,7 @@ AI_Smart_Unused2B:
ld [hl], a
ret
AI_Smart_Confuse:
; 90% chance to discourage this move if player's HP is between 25% and 50%.
call AICheckPlayerHalfHP
ret c
@ -1130,9 +1101,7 @@ AI_Smart_Confuse:
inc [hl]
ret
AI_Smart_SpDefenseUp2:
; Discourage this move if enemy's HP is lower than 50%.
call AICheckEnemyHalfHP
jr nc, .asm_38b10
@ -1165,7 +1134,6 @@ AI_Smart_SpDefenseUp2:
inc [hl]
ret
AI_Smart_Fly:
; Fly, Dig
@ -1184,7 +1152,6 @@ AI_Smart_Fly:
dec [hl]
ret
AI_Smart_SuperFang:
; Discourage this move if player's HP is below 25%.
@ -1193,9 +1160,7 @@ AI_Smart_SuperFang:
inc [hl]
ret
AI_Smart_Paralyze:
; 50% chance to discourage this move if player's HP is below 25%.
call AICheckPlayerQuarterHP
jr nc, .asm_38b3a
@ -1218,7 +1183,6 @@ AI_Smart_Paralyze:
inc [hl]
ret
AI_Smart_SpeedDownHit:
; Icy Wind
@ -1244,7 +1208,6 @@ AI_Smart_SpeedDownHit:
dec [hl]
ret
AI_Smart_Substitute:
; Dismiss this move if enemy's HP is below 50%.
@ -1252,7 +1215,6 @@ AI_Smart_Substitute:
ret c
jp AIDiscourageMove
AI_Smart_HyperBeam:
call AICheckEnemyHalfHP
jr c, .asm_38b72
@ -1276,7 +1238,6 @@ AI_Smart_HyperBeam:
inc [hl]
ret
AI_Smart_Rage:
ld a, [wEnemySubStatus4]
bit SUBSTATUS_RAGE, a
@ -1315,7 +1276,6 @@ AI_Smart_Rage:
inc [hl]
ret
AI_Smart_Mimic:
ld a, [wLastPlayerCounterMove]
and a
@ -1365,7 +1325,6 @@ AI_Smart_Mimic:
inc [hl]
ret
AI_Smart_Counter:
push hl
ld hl, wPlayerUsedMoves
@ -1415,7 +1374,6 @@ AI_Smart_Counter:
cp SPECIAL
jr nc, .asm_38c38
.asm_38c30
call Random
cp 39 percent + 1
@ -1430,7 +1388,6 @@ AI_Smart_Counter:
inc [hl]
ret
AI_Smart_Encore:
call AICompareSpeed
jr nc, .asm_38c81
@ -1484,7 +1441,6 @@ AI_Smart_Encore:
INCLUDE "data/battle/ai/encore_moves.asm"
AI_Smart_PainSplit:
; Discourage this move if [enemy's current HP * 2 > player's current HP].
@ -1505,7 +1461,6 @@ AI_Smart_PainSplit:
inc [hl]
ret
AI_Smart_Snore:
AI_Smart_SleepTalk:
; Greatly encourage this move if enemy is fast asleep.
@ -1527,7 +1482,6 @@ AI_Smart_SleepTalk:
inc [hl]
ret
AI_Smart_DefrostOpponent:
; Greatly encourage this move if enemy is frozen.
; No move has EFFECT_DEFROST_OPPONENT, so this layer is unused.
@ -1540,7 +1494,6 @@ AI_Smart_DefrostOpponent:
dec [hl]
ret
AI_Smart_Spite:
ld a, [wLastPlayerCounterMove]
and a
@ -1597,11 +1550,9 @@ AI_Smart_Spite:
dec [hl]
ret
Function_0x38d16
jp AIDiscourageMove
AI_Smart_DestinyBond:
AI_Smart_Reversal:
AI_Smart_SkullBash:
@ -1612,7 +1563,6 @@ AI_Smart_SkullBash:
inc [hl]
ret
AI_Smart_HealBell:
; Dismiss this move if none of the opponent's Pokemon is statused.
; Encourage this move if the enemy is statused.
@ -1670,7 +1620,6 @@ AI_Smart_HealBell:
jp AIDiscourageMove
AI_Smart_PriorityHit:
call AICompareSpeed
ret c
@ -1702,7 +1651,6 @@ AI_Smart_PriorityHit:
dec [hl]
ret
AI_Smart_Thief:
; Don't use Thief unless it's the only move available.
@ -1711,7 +1659,6 @@ AI_Smart_Thief:
ld [hl], a
ret
AI_Smart_Conversion2:
ld a, [wLastPlayerMove]
and a
@ -1751,7 +1698,6 @@ AI_Smart_Conversion2:
inc [hl]
ret
AI_Smart_Disable:
call AICompareSpeed
jr nc, .asm_38df3
@ -1783,7 +1729,6 @@ AI_Smart_Disable:
inc [hl]
ret
AI_Smart_MeanLook:
call AICheckEnemyHalfHP
jr nc, .asm_38e24
@ -1825,7 +1770,6 @@ AI_Smart_MeanLook:
dec [hl]
ret
AICheckLastPlayerMon:
ld a, [wPartyCount]
ld b, a
@ -1851,7 +1795,6 @@ AICheckLastPlayerMon:
ret
AI_Smart_Nightmare:
; 50% chance to encourage this move.
; The AI_Basic layer will make sure that
@ -1862,7 +1805,6 @@ AI_Smart_Nightmare:
dec [hl]
ret
AI_Smart_FlameWheel:
; Use this move if the enemy is frozen.
@ -1874,7 +1816,6 @@ rept 5
endr
ret
AI_Smart_Curse:
ld a, [wEnemyMonType1]
cp GHOST
@ -1932,14 +1873,12 @@ AI_Smart_Curse:
jr .asm_38eb7
.asm_38eb0
push hl
call AICheckLastPlayerMon
pop hl
jr z, .asm_38ecb
.asm_38eb7
call AICheckEnemyQuarterHP
jp nc, .asm_38e90
@ -1962,7 +1901,6 @@ AI_Smart_Curse:
dec [hl]
ret
AI_Smart_Protect:
ld a, [wEnemyProtectCount]
and a
@ -2014,7 +1952,6 @@ AI_Smart_Protect:
inc [hl]
ret
AI_Smart_Foresight:
ld a, [wEnemyAccLevel]
cp $5
@ -2044,7 +1981,6 @@ AI_Smart_Foresight:
dec [hl]
ret
AI_Smart_PerishSong:
push hl
callfar FindAliveEnemyMons
@ -2081,9 +2017,7 @@ AI_Smart_PerishSong:
ld [hl], a
ret
AI_Smart_Sandstorm:
; Greatly discourage this move if the player is immune to Sandstorm damage.
ld a, [wBattleMonType1]
push hl
@ -2125,7 +2059,6 @@ AI_Smart_Sandstorm:
db STEEL
db -1 ; end
AI_Smart_Endure:
ld a, [wEnemyProtectCount]
and a
@ -2168,7 +2101,6 @@ AI_Smart_Endure:
inc [hl]
ret
AI_Smart_FuryCutter:
; Encourage this move based on Fury Cutter's count.
@ -2192,7 +2124,6 @@ AI_Smart_FuryCutter:
; fallthrough
AI_Smart_Rollout:
; Rollout, Fury Cutter
@ -2235,7 +2166,6 @@ AI_Smart_Rollout:
inc [hl]
ret
AI_Smart_Swagger:
AI_Smart_Attract:
; 80% chance to encourage this move during the first turn of player's Pokemon.
@ -2257,7 +2187,6 @@ AI_Smart_Attract:
dec [hl]
ret
AI_Smart_Safeguard:
; 80% chance to discourage this move if player's HP is below 50%.
@ -2268,10 +2197,8 @@ AI_Smart_Safeguard:
inc [hl]
ret
AI_Smart_Magnitude:
AI_Smart_Earthquake:
; Greatly encourage this move if the player is underground and the enemy is faster.
ld a, [wLastPlayerCounterMove]
cp DIG
@ -2300,7 +2227,6 @@ AI_Smart_Earthquake:
dec [hl]
ret
AI_Smart_BatonPass:
; Discourage this move if the player hasn't shown super-effective moves against the enemy.
; Consider player's type(s) if its moves are unknown.
@ -2314,7 +2240,6 @@ AI_Smart_BatonPass:
inc [hl]
ret
AI_Smart_Pursuit:
; 50% chance to greatly encourage this move if player's HP is below 25%.
; 80% chance to discourage this move otherwise.
@ -2333,7 +2258,6 @@ AI_Smart_Pursuit:
dec [hl]
ret
AI_Smart_RapidSpin:
; 80% chance to greatly encourage this move if the enemy is
; trapped (Bind effect), seeded, or scattered with spikes.
@ -2358,7 +2282,6 @@ AI_Smart_RapidSpin:
dec [hl]
ret
AI_Smart_HiddenPower:
push hl
ld a, 1
@ -2397,9 +2320,7 @@ AI_Smart_HiddenPower:
inc [hl]
ret
AI_Smart_RainDance:
; Greatly discourage this move if it would favour the player type-wise.
; Particularly, if the player is a Water-type.
ld a, [wBattleMonType1]
@ -2420,9 +2341,7 @@ AI_Smart_RainDance:
INCLUDE "data/battle/ai/rain_dance_moves.asm"
AI_Smart_SunnyDay:
; Greatly discourage this move if it would favour the player type-wise.
; Particularly, if the player is a Fire-type.
ld a, [wBattleMonType1]
@ -2442,7 +2361,6 @@ AI_Smart_SunnyDay:
; fallthrough
AI_Smart_WeatherMove:
; Rain Dance, Sunny Day
@ -2492,10 +2410,8 @@ AIGoodWeatherType:
dec [hl]
ret
INCLUDE "data/battle/ai/sunny_day_moves.asm"
AI_Smart_BellyDrum:
; Dismiss this move if enemy's attack is higher than +2 or if enemy's HP is below 50%.
; Else, discourage this move if enemy's HP is not full.
@ -2518,7 +2434,6 @@ AI_Smart_BellyDrum:
ld [hl], a
ret
AI_Smart_PsychUp:
push hl
ld hl, wEnemyAtkLevel
@ -2576,7 +2491,6 @@ AI_Smart_PsychUp:
inc [hl]
ret
AI_Smart_MirrorCoat:
push hl
ld hl, wPlayerUsedMoves
@ -2626,7 +2540,6 @@ AI_Smart_MirrorCoat:
cp SPECIAL
jr c, .asm_391d2
.asm_391ca
call Random
cp 100
@ -2640,10 +2553,8 @@ AI_Smart_MirrorCoat:
inc [hl]
ret
AI_Smart_Twister:
AI_Smart_Gust:
; Greatly encourage this move if the player is flying and the enemy is faster.
ld a, [wLastPlayerCounterMove]
cp FLY
@ -2671,7 +2582,6 @@ AI_Smart_Gust:
dec [hl]
ret
AI_Smart_FutureSight:
; Greatly encourage this move if the player is
; flying or underground, and slower than the enemy.
@ -2687,7 +2597,6 @@ AI_Smart_FutureSight:
dec [hl]
ret
AI_Smart_Stomp:
; 80% chance to encourage this move if the player has used Minimize.
@ -2701,7 +2610,6 @@ AI_Smart_Stomp:
dec [hl]
ret
AI_Smart_Solarbeam:
; 80% chance to encourage this move when it's sunny.
; 90% chance to discourage this move when it's raining.
@ -2729,7 +2637,6 @@ AI_Smart_Solarbeam:
dec [hl]
ret
AI_Smart_Thunder:
; 90% chance to discourage this move when it's sunny.
@ -2744,7 +2651,6 @@ AI_Smart_Thunder:
inc [hl]
ret
AICompareSpeed:
; Return carry if enemy is faster than player.
@ -2760,7 +2666,6 @@ AICompareSpeed:
pop bc
ret
AICheckPlayerMaxHP:
push hl
push de
@ -2769,7 +2674,6 @@ AICheckPlayerMaxHP:
ld hl, wBattleMonMaxHP
jr AICheckMaxHP
AICheckEnemyMaxHP:
push hl
push de
@ -2778,7 +2682,6 @@ AICheckEnemyMaxHP:
ld hl, wEnemyMonMaxHP
; fallthrough
AICheckMaxHP:
; Return carry if hp at de matches max hp at hl.
@ -2805,7 +2708,6 @@ AICheckMaxHP:
and a
ret
AICheckPlayerHalfHP:
push hl
ld hl, wBattleMonHP
@ -2823,7 +2725,6 @@ AICheckPlayerHalfHP:
pop hl
ret
AICheckEnemyHalfHP:
push hl
push de
@ -2845,7 +2746,6 @@ AICheckEnemyHalfHP:
pop hl
ret
AICheckEnemyQuarterHP:
push hl
push de
@ -2869,7 +2769,6 @@ AICheckEnemyQuarterHP:
pop hl
ret
AICheckPlayerQuarterHP:
push hl
ld hl, wBattleMonHP
@ -2889,7 +2788,6 @@ AICheckPlayerQuarterHP:
pop hl
ret
AIHasMoveEffect:
; Return carry if the enemy has move b.
@ -2921,7 +2819,6 @@ AIHasMoveEffect:
scf
ret
AIHasMoveInArray:
; Return carry if the enemy has a move in array hl.
@ -2955,10 +2852,8 @@ AIHasMoveInArray:
pop hl
ret
INCLUDE "data/battle/ai/useful_moves.asm"
AI_Opportunist:
; Discourage stall moves when the enemy's HP is low.
@ -3009,7 +2904,6 @@ AI_Opportunist:
INCLUDE "data/battle/ai/stall_moves.asm"
AI_Aggressive:
; Use whatever does the most damage.
@ -3117,7 +3011,6 @@ AI_Aggressive:
INCLUDE "data/battle/ai/reckless_moves.asm"
AIDamageCalc:
ld a, 1
ld [hBattleTurn], a
@ -3137,7 +3030,6 @@ AIDamageCalc:
INCLUDE "data/battle/ai/constant_damage_effects.asm"
AI_Cautious:
; 90% chance to discourage moves with residual effects after the first turn.
@ -3180,7 +3072,6 @@ AI_Cautious:
INCLUDE "data/battle/ai/residual_moves.asm"
AI_Status:
; Dismiss status moves that don't affect the player.
@ -3243,7 +3134,6 @@ AI_Status:
jr .checkmove
AI_Risky:
; Use any move that will KO the target.
; Risky moves will often be an exception (see below).
@ -3313,18 +3203,15 @@ endr
INCLUDE "data/battle/ai/risky_effects.asm"
AI_None:
ret
AIDiscourageMove:
ld a, [hl]
add 10
ld [hl], a
ret
AIGetEnemyMove:
; Load attributes of move a into ram
@ -3345,13 +3232,11 @@ AIGetEnemyMove:
pop hl
ret
AI_80_20:
call Random
cp 20 percent - 1
ret
AI_50_50:
call Random
cp 50 percent + 1

View File

@ -96,7 +96,6 @@ CheckPlayerMoveTypeMatchups:
pop hl
ret
.CheckEnemyMoveMatchups:
ld de, wEnemyMonMoves
ld b, NUM_MOVES + 1
@ -290,7 +289,6 @@ CheckAbleToSwitch:
ld [wEnemySwitchMonParam], a
ret
FindAliveEnemyMons:
ld a, [wOTPartyCount]
cp 2
@ -341,7 +339,6 @@ FindAliveEnemyMons:
and a
ret
FindEnemyMonsImmuneToLastCounterMove:
ld hl, wOTPartyMon1
ld a, [wOTPartyCount]
@ -408,7 +405,6 @@ FindEnemyMonsImmuneToLastCounterMove:
srl c
jr .loop
FindAliveEnemyMonsWithASuperEffectiveMove:
push bc
ld a, [wOTPartyCount]
@ -439,8 +435,9 @@ FindAliveEnemyMonsWithASuperEffectiveMove:
and c
ld c, a
FindEnemyMonsWithASuperEffectiveMove:
; fallthrough
FindEnemyMonsWithASuperEffectiveMove:
ld a, -1
ld [wEnemyAISwitchScore], a
ld hl, wOTPartyMon1Moves
@ -546,7 +543,6 @@ FindEnemyMonsWithASuperEffectiveMove:
pop bc
ret
FindEnemyMonsThatResistPlayer:
push bc
ld hl, wOTPartySpecies
@ -607,7 +603,6 @@ FindEnemyMonsThatResistPlayer:
ld c, a
ret
FindEnemyMonsWithAtLeastQuarterMaxHP:
push bc
ld de, wOTPartySpecies

View File

@ -6,6 +6,8 @@ BATTLETRANSITION_NO_CAVE_STRONGER EQU $18
BATTLETRANSITION_FINISH EQU $20
BATTLETRANSITION_END EQU $80
BATTLETRANSITION_SQUARE EQUS "\"8\"" ; $fe
DoBattleTransition:
call .InitGFX
ld a, [rBGP]
@ -97,7 +99,7 @@ LoadTrainerBattlePokeballTiles:
; Load the tiles used in the Pokeball Graphic that fills the screen
; at the start of every Trainer battle.
ld de, TrainerBattlePokeballTiles
ld hl, vTiles1 tile $7e
ld hl, vTiles0 tile BATTLETRANSITION_SQUARE
ld b, BANK(TrainerBattlePokeballTiles)
ld c, 2
call Request2bpp
@ -108,7 +110,7 @@ LoadTrainerBattlePokeballTiles:
ld [rVBK], a
ld de, TrainerBattlePokeballTiles
ld hl, vTiles4 tile $7e
ld hl, vTiles3 tile BATTLETRANSITION_SQUARE
ld b, BANK(TrainerBattlePokeballTiles)
ld c, 2
call Request2bpp
@ -146,7 +148,6 @@ ConvertTrainerBattlePokeballTilesTo2bpp:
TrainerBattlePokeballTiles:
INCBIN "gfx/overworld/trainer_battle_pokeball_tiles.2bpp"
BattleTransitionJumptable:
jumptable .Jumptable, wJumptableIndex
@ -617,7 +618,7 @@ StartTrainerBattle_LoadPokeBallGraphics:
jr z, .done
sla a
jr nc, .no_load
ld [hl], $fe
ld [hl], BATTLETRANSITION_SQUARE
.no_load
inc hl
jr .loop4
@ -753,7 +754,6 @@ WipeLYOverrides:
jr nz, .loop
ret
StartTrainerBattle_DrawSineWave:
calc_sine_wave

View File

@ -6036,7 +6036,6 @@ LoadEnemyMon:
jp .Happiness
.InitDVs:
; Trainer DVs
; All trainers have preset DVs, determined by class
@ -6486,7 +6485,6 @@ CheckUnownLetter:
INCLUDE "data/wild/unlocked_unowns.asm"
Unreferenced_SwapBattlerLevels:
push bc
ld a, [wBattleMonLevel]

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,6 @@ HiddenPowerDamage:
ld hl, wEnemyMonDVs
.got_dvs
; Power:
; Take the top bit from each stat
@ -62,7 +61,6 @@ HiddenPowerDamage:
ld d, a
; Type:
; Def & 3

View File

@ -49,9 +49,7 @@ GetPlayerBackpicCoords:
lb bc, 6, 6
ret
DoWeatherModifiers:
ld de, WeatherTypeModifiers
ld a, [wBattleWeather]
ld b, a
@ -76,7 +74,6 @@ DoWeatherModifiers:
inc de
jr .CheckWeatherType
.done_weather_types
ld de, WeatherMoveModifiers
@ -147,7 +144,6 @@ DoWeatherModifiers:
INCLUDE "data/battle/weather_modifiers.asm"
DoBadgeTypeBoosts:
ld a, [wLinkMode]
and a

View File

@ -22,7 +22,6 @@ BattleCommand_Attract:
.failed
jp FailMove
CheckOppositeGender:
ld a, MON_SPECIES
call BattlePartyAttr

View File

@ -5,7 +5,6 @@ BattleCommand_BatonPass:
and a
jp nz, .Enemy
; Need something to switch to
call CheckAnyOtherAlivePartyMons
jp z, FailedBatonPass
@ -45,9 +44,7 @@ BattleCommand_BatonPass:
call ResetBatonPassStatus
ret
.Enemy:
; Wildmons don't have anything to switch to
ld a, [wBattleMode]
dec a ; WILDMON
@ -81,8 +78,6 @@ BattleCommand_BatonPass:
jr ResetBatonPassStatus
BatonPass_LinkPlayerSwitch:
ld a, [wLinkMode]
and a
@ -100,8 +95,6 @@ BatonPass_LinkPlayerSwitch:
ld [wBattlePlayerAction], a
ret
BatonPass_LinkEnemySwitch:
ld a, [wLinkMode]
and a
@ -127,14 +120,10 @@ BatonPass_LinkEnemySwitch:
.switch
jp CloseWindow
FailedBatonPass:
call AnimateFailedMove
jp PrintButItFailed
ResetBatonPassStatus:
; Reset status changes that aren't passed by Baton Pass.
@ -174,8 +163,6 @@ ResetBatonPassStatus:
ld [wEnemyWrapCount], a
ret
CheckAnyOtherAlivePartyMons:
ld hl, wPartyMon1HP
ld a, [wPartyCount]
@ -184,8 +171,6 @@ CheckAnyOtherAlivePartyMons:
ld e, a
jr CheckAnyOtherAliveMons
CheckAnyOtherAliveEnemyMons:
ld hl, wOTPartyMon1HP
ld a, [wOTPartyCount]
@ -230,4 +215,3 @@ CheckAnyOtherAliveMons:
ld a, b
and a
ret

View File

@ -193,14 +193,10 @@ BattleCommand_BeatUp:
ld d, a
ret
.beatup_fail
ld b, buildopponentrage_command
jp SkipToBattleCommand
BattleCommand_BeatUpFailText:
; beatupfailtext
@ -210,8 +206,6 @@ BattleCommand_BeatUpFailText:
jp PrintButItFailed
GetBeatupMonLocation:
push bc
ld c, a

View File

@ -32,4 +32,3 @@ BattleCommand_BellyDrum:
.failed
call AnimateFailedMove
jp PrintButItFailed

View File

@ -69,8 +69,6 @@ BattleCommand_StoreEnergy:
call StdBattleTextBox
jp EndMoveEffect
BattleCommand_UnleashEnergy:
; unleashenergy
@ -100,4 +98,3 @@ BattleCommand_UnleashEnergy:
ld [wKickCounter], a
call AnimateCurrentMove
jp EndMoveEffect

View File

@ -94,4 +94,3 @@ BattleCommand_Conversion:
call AnimateCurrentMove
ld hl, TransformedTypeText
jp StdBattleTextBox

View File

@ -62,4 +62,3 @@ BattleCommand_Conversion2:
.failed
jp FailMove

View File

@ -56,4 +56,3 @@ BattleCommand_Counter:
xor a
ld [wAttackMissed], a
ret

View File

@ -21,7 +21,6 @@ BattleCommand_Curse:
cp GHOST
jr z, .ghost
; If no stats can be increased, don't.
; Attack
@ -54,7 +53,6 @@ BattleCommand_Curse:
call BattleCommand_DefenseUp
jp BattleCommand_StatUpMessage
.ghost
; Cut HP in half and put a curse on the opponent.
@ -84,7 +82,6 @@ BattleCommand_Curse:
call AnimateFailedMove
jp PrintButItFailed
.cantraise
; Can't raise either stat.

View File

@ -7,4 +7,3 @@ BattleCommand_DestinyBond:
call AnimateCurrentMove
ld hl, DestinyBondEffectText
jp StdBattleTextBox

View File

@ -70,4 +70,3 @@ BattleCommand_Disable:
.failed
jp FailMove

View File

@ -118,4 +118,3 @@ BattleCommand_Encore:
.failed
jp PrintDidntAffect2

View File

@ -46,4 +46,3 @@ BattleCommand_FalseSwipe:
.done
and a
ret

View File

@ -13,4 +13,3 @@ BattleCommand_FocusEnergy:
.already_pumped
call AnimateFailedMove
jp PrintButItFailed

View File

@ -25,4 +25,3 @@ BattleCommand_FrustrationPower:
ld d, a
pop bc
ret

View File

@ -38,10 +38,7 @@ BattleCommand_FuryCutter:
ld [hl], a
ret
ResetFuryCutterCount:
push hl
ld hl, wPlayerFuryCutterCount
@ -56,4 +53,3 @@ ResetFuryCutterCount:
pop hl
ret

View File

@ -25,7 +25,6 @@ BattleCommand_CheckFutureSight:
ld b, futuresight_command
jp SkipToBattleCommand
BattleCommand_FutureSight:
; futuresight
@ -80,4 +79,3 @@ BattleCommand_FutureSight:
call AnimateFailedMove
call PrintButItFailed
jp EndMoveEffect

View File

@ -32,4 +32,3 @@ BattleCommand_HealBell:
and a
jp z, CalcPlayerStats
jp CalcEnemyStats

View File

@ -6,4 +6,3 @@ BattleCommand_HiddenPower:
ret nz
farcall HiddenPowerDamage
ret

View File

@ -38,4 +38,3 @@ BattleCommand_LeechSeed:
call AnimateFailedMove
ld hl, EvadedText
jp StdBattleTextBox

View File

@ -19,4 +19,3 @@ BattleCommand_LockOn:
.fail
call AnimateFailedMove
jp PrintDidntAffect

View File

@ -34,12 +34,10 @@ BattleCommand_Metronome:
call CheckUserMove
jr z, .GetMove
ld a, BATTLE_VARS_MOVE
call GetBattleVarAddr
ld [hl], b
call UpdateMoveData
jp ResetTurn
INCLUDE "data/battle/metronome_exception_moves.asm"

View File

@ -48,4 +48,3 @@ BattleCommand_Mimic:
.fail
jp FailMimic

View File

@ -57,4 +57,3 @@ BattleCommand_MirrorCoat:
xor a
ld [wAttackMissed], a
ret

View File

@ -13,4 +13,3 @@ BattleCommand_Mist:
.already_mist
call AnimateFailedMove
jp PrintButItFailed

View File

@ -89,7 +89,5 @@ BattleCommand_PainSplit:
ld [wBuffer6], a
ret
.ButItFailed:
jp PrintDidntAffect2

View File

@ -24,4 +24,3 @@ BattleCommand_PayDay:
.done
ld hl, CoinsScatteredText
jp StdBattleTextBox

View File

@ -1,7 +1,6 @@
BattleCommand_PerishSong:
; perishsong
ld hl, wPlayerSubStatus1
ld de, wEnemySubStatus1
bit SUBSTATUS_PERISH, [hl]

View File

@ -12,9 +12,7 @@ BattleCommand_Protect:
ld hl, ProtectedItselfText
jp StdBattleTextBox
ProtectChance:
ld de, wPlayerProtectCount
ld a, [hBattleTurn]
and a
@ -68,7 +66,6 @@ ProtectChance:
and a
ret
.failed
xor a
ld [de], a

View File

@ -47,4 +47,3 @@ BattleCommand_PsychUp:
call AnimateCurrentMove
ld hl, CopiedStatsText
jp StdBattleTextBox

View File

@ -22,4 +22,3 @@ BattleCommand_Pursuit:
ld [hli], a
ld [hl], a
ret

View File

@ -4,4 +4,3 @@ BattleCommand_Rage:
call GetBattleVarAddr
set SUBSTATUS_RAGE, [hl]
ret

View File

@ -7,4 +7,3 @@ BattleCommand_StartRain:
call AnimateCurrentMove
ld hl, DownpourText
jp StdBattleTextBox

View File

@ -34,4 +34,3 @@ BattleCommand_ClearHazards:
ld [de], a
ld hl, ReleasedByText
jp StdBattleTextBox

View File

@ -23,4 +23,3 @@ BattleCommand_HappinessPower:
ld d, a
pop bc
ret

View File

@ -1,6 +1,5 @@
MAX_ROLLOUT_COUNT EQU 5
BattleCommand_CheckCurl:
; checkcurl
@ -23,7 +22,6 @@ BattleCommand_CheckCurl:
ld [de], a
ret
BattleCommand_RolloutPower:
; rolloutpower

View File

@ -21,4 +21,3 @@ BattleCommand_Safeguard:
.failed
call AnimateFailedMove
jp PrintButItFailed

View File

@ -27,4 +27,3 @@ BattleCommand_Selfdestruct:
farcall DrawEnemyHUD
call WaitBGMap
jp RefreshBattleHuds

View File

@ -115,4 +115,3 @@ BattleCommand_Sketch:
.fail
call AnimateFailedMove
jp PrintDidntAffect

View File

@ -141,4 +141,3 @@ BattleCommand_SleepTalk:
ret z
cp EFFECT_BIDE
ret

View File

@ -9,4 +9,3 @@ BattleCommand_Snore:
ld [wAttackMissed], a
call FailMove
jp EndMoveEffect

View File

@ -84,4 +84,3 @@ BattleCommand_Spite:
.failed
jp PrintDidntAffect2

View File

@ -2,4 +2,3 @@ BattleCommand_Splash:
call AnimateCurrentMove
farcall StubbedTrainerRankings_Splash
jp PrintNothingHappened

View File

@ -86,4 +86,3 @@ BattleCommand_Substitute:
ld hl, TooWeakSubText
.jp_stdbattletextbox
jp StdBattleTextBox

View File

@ -7,4 +7,3 @@ BattleCommand_StartSun:
call AnimateCurrentMove
ld hl, SunGotBrightText
jp StdBattleTextBox

View File

@ -87,4 +87,3 @@ BattleCommand_Teleport:
ld hl, FledFromBattleText
jp StdBattleTextBox

View File

@ -50,7 +50,6 @@ BattleCommand_Thief:
ld [de], a
jr .stole
.enemy
; The enemy can't already have an item.
@ -91,13 +90,11 @@ BattleCommand_Thief:
ld [hl], a
ld [de], a
.stole
call GetItemName
ld hl, StoleText
jp StdBattleTextBox
.playeritem
ld a, 1
call BattlePartyAttr

View File

@ -16,4 +16,3 @@ BattleCommand_ThunderAccuracy:
; Redundant with CheckHit guranteeing hit
ld [hl], 100 percent
ret

View File

@ -137,4 +137,3 @@ BattleCommand_Transform:
call nz, LoadAnim
ld hl, TransformedText
jp StdBattleTextBox

View File

@ -26,12 +26,9 @@ BattleCommand_TripleKick:
ld [hl], a
ret
BattleCommand_KickCounter:
; kickcounter
ld hl, wKickCounter
inc [hl]
ret

View File

@ -62,3 +62,5 @@ GetTrainerAttributes:
ld a, [hl]
ld [wEnemyTrainerBaseReward], a
ret
INCLUDE "data/trainers/attributes.asm"

View File

@ -17,3 +17,5 @@ GetTrainerDVs:
pop hl
ret
INCLUDE "data/trainers/dvs.asm"

View File

@ -321,7 +321,6 @@ ComputeTrainerReward:
ld [hl], a
ret
Battle_GetTrainerName::
ld a, [wInBattleTowerBattle]
bit 0, a
@ -388,3 +387,5 @@ Function39990:
ld bc, NAME_LENGTH
pop de
ret
INCLUDE "data/trainers/parties.asm"

View File

@ -131,7 +131,6 @@ EndUsedMove5Text:
text_jump _EndUsedMove5Text
db "@"
GetMoveGrammar:
; store move grammar type in wd265
@ -169,7 +168,6 @@ GetMoveGrammar:
INCLUDE "data/moves/grammar.asm"
UpdateUsedMoves:
; append move a to wPlayerUsedMoves unless it has already been used

View File

@ -1,7 +1,6 @@
; Battle animation command interpreter.
PlayBattleAnim:
ld a, [rSVBK]
push af
@ -15,7 +14,6 @@ PlayBattleAnim:
ret
_PlayBattleAnim:
ld c, 6
.wait
call BattleAnimDelayFrame
@ -53,7 +51,6 @@ _PlayBattleAnim:
ret
BattleAnimRunScript:
ld a, [wFXAnimID + 1]
and a
jr nz, .hi_byte
@ -97,7 +94,6 @@ BattleAnimRunScript:
ret
RunBattleAnimScript:
call ClearBattleAnims
.playframe
@ -139,7 +135,6 @@ RunBattleAnimScript:
ret
BattleAnimClearHud:
call BattleAnimDelayFrame
call WaitTop
call ClearActorHud
@ -152,7 +147,6 @@ BattleAnimClearHud:
ret
BattleAnimRestoreHuds:
call BattleAnimDelayFrame
call WaitTop
@ -177,7 +171,6 @@ BattleAnimRestoreHuds:
ret
BattleAnimRequestPals:
ld a, [hCGB]
and a
ret z
@ -207,7 +200,6 @@ BattleAnimDelayFrame:
ret
ClearActorHud:
ld a, [hBattleTurn]
and a
jr z, .player
@ -240,9 +232,7 @@ Unreferenced_Functioncc220:
call BattleAnimDelayFrame
ret
BattleAnim_ClearCGB_OAMFlags:
ld a, [wBattleAnimFlags]
bit 3, a
jr z, .delete
@ -333,7 +323,6 @@ RunBattleAnimCommand:
ld l, a
jp hl
BattleAnimCommands::
; entries correspond to macros/scripts/battle_anims.asm enumeration
dw BattleAnimCmd_Obj
@ -385,7 +374,6 @@ BattleAnimCommands::
dw BattleAnimCmd_Call
dw BattleAnimCmd_Ret
BattleAnimCmd_EA:
BattleAnimCmd_EB:
BattleAnimCmd_EC:
@ -780,7 +768,6 @@ BattleAnimCmd_SetObj:
ret
BattleAnimCmd_EnemyFeetObj:
ld hl, wBattleAnimTileDict
.loop
ld a, [hl]
@ -835,7 +822,6 @@ BattleAnimCmd_EnemyFeetObj:
ret
BattleAnimCmd_PlayerHeadObj:
ld hl, wBattleAnimTileDict
.loop
ld a, [hl]
@ -934,7 +920,6 @@ BattleAnimCmd_Transform:
ret
BattleAnimCmd_UpdateActorPic:
ld de, vTiles0 tile $00
ld a, [hBattleTurn]
and a
@ -954,7 +939,6 @@ BattleAnimCmd_UpdateActorPic:
ret
BattleAnimCmd_RaiseSub:
ld a, [rSVBK]
push af
ld a, 1 ; unnecessary bankswitch?
@ -1304,7 +1288,6 @@ endr
dw $0000, $0000
dw $0000, $0000
PlayHitSound:
ld a, [wNumHits]
cp $1

View File

@ -134,7 +134,6 @@ BattleBGEffects:
dw BattleBGEffect_WobbleMon
dw BattleBGEffect_35
BattleBGEffect_End:
call EndBattleBGEffect
ret
@ -348,7 +347,6 @@ BattleBGEffect_HideMon:
dw BattleBGEffects_IncrementJumptable
dw .four
.zero
call BattleBGEffects_IncrementJumptable
push bc
@ -415,7 +413,6 @@ BattleBGEffect_FeetFollow:
dw BattleBGEffects_IncrementJumptable
dw .five
.zero
call BGEffect_CheckFlyDigStatus
jr z, .not_flying_digging
@ -483,7 +480,6 @@ BattleBGEffect_HeadFollow:
dw BattleBGEffects_IncrementJumptable
dw .five
.zero
call BGEffect_CheckFlyDigStatus
jr z, .not_flying_digging
@ -554,7 +550,6 @@ BattleBGEffect_27:
dw BattleBGEffects_IncrementJumptable
dw .four
.zero
call BattleBGEffects_IncrementJumptable
call BGEffect_CheckBattleTurn
@ -717,7 +712,6 @@ BattleBGEffect_RunPicResizeScript:
dw .restart
dw .end
.zero
ld hl, BG_EFFECT_STRUCT_03
add hl, bc
@ -915,7 +909,6 @@ BattleBGEffect_Surf:
dw .one
dw .two
.zero
call BattleBGEffects_IncrementJumptable
lb de, 2, 2
@ -982,7 +975,6 @@ BattleBGEffect_Whirlpool:
dw .one
dw .two
.zero
call BattleBGEffects_IncrementJumptable
call BattleBGEffects_ClearLYOverrides
@ -1056,7 +1048,6 @@ BattleBGEffect_Psychic:
dw .one
dw .two
.zero
call BattleBGEffects_IncrementJumptable
call BattleBGEffects_ClearLYOverrides
@ -1094,7 +1085,6 @@ BattleBGEffect_Teleport:
dw .one
dw .two
.zero
call BattleBGEffects_IncrementJumptable
call BattleBGEffects_ClearLYOverrides
@ -1119,7 +1109,6 @@ BattleBGEffect_NightShade:
dw .one
dw .two
.zero
call BattleBGEffects_IncrementJumptable
call BattleBGEffects_ClearLYOverrides
@ -1150,7 +1139,6 @@ BattleBGEffect_DoubleTeam:
dw .four
dw .five
.zero
call BattleBGEffects_IncrementJumptable
call BattleBGEffects_ClearLYOverrides
@ -1242,7 +1230,6 @@ BattleBGEffect_AcidArmor:
dw .one
dw .two
.zero
call BattleBGEffects_IncrementJumptable
call BattleBGEffects_ClearLYOverrides
@ -1305,7 +1292,6 @@ BattleBGEffect_Withdraw:
dw .one
dw .two
.zero
call BattleBGEffects_IncrementJumptable
call BattleBGEffects_ClearLYOverrides
@ -1355,7 +1341,6 @@ BattleBGEffect_Dig:
dw .two
dw .three
.zero
call BattleBGEffects_IncrementJumptable
call BattleBGEffects_ClearLYOverrides
@ -1422,7 +1407,6 @@ BattleBGEffect_Tackle:
dw Tackle_BGEffect25_2d_two
dw .three
.zero
call BattleBGEffects_IncrementJumptable
call BattleBGEffects_ClearLYOverrides
@ -1457,7 +1441,6 @@ BattleBGEffect_25:
dw Tackle_BGEffect25_2d_two
dw .three
.zero
call BattleBGEffects_IncrementJumptable
call BattleBGEffects_ClearLYOverrides
@ -1585,7 +1568,6 @@ BattleBGEffect_2d:
dw Tackle_BGEffect25_2d_two
dw .three
.three
call BattleAnim_ResetLCDStatCustom
ret
@ -1633,7 +1615,6 @@ BattleBGEffect_26:
dw .one
dw .two
.zero
call BattleBGEffects_IncrementJumptable
call BattleBGEffects_ClearLYOverrides
@ -1672,7 +1653,6 @@ BattleBGEffect_2c:
dw .one
dw .two
.zero
call BattleBGEffects_IncrementJumptable
call BattleBGEffects_ClearLYOverrides
@ -1727,7 +1707,6 @@ BattleBGEffect_28:
dw .one
dw .two
.zero
call BattleBGEffects_IncrementJumptable
call BattleBGEffects_ClearLYOverrides
@ -1770,7 +1749,6 @@ BattleBGEffect_BounceDown:
dw .one
dw .two
.zero
call BattleBGEffects_IncrementJumptable
call BattleBGEffects_ClearLYOverrides
@ -1928,7 +1906,6 @@ BattleBGEffect_2b:
dw .zero
dw .one
.zero
call BattleBGEffects_IncrementJumptable
call BattleBGEffects_ClearLYOverrides
@ -1969,7 +1946,6 @@ BattleBGEffect_1c:
dw .one
dw .two
.zero
call BattleBGEffects_IncrementJumptable
ld a, $e4
@ -2196,7 +2172,6 @@ BattleBGEffect_VibrateMon:
dw .zero
dw .one
.zero
call BattleBGEffects_IncrementJumptable
call BattleBGEffects_ClearLYOverrides
@ -2242,7 +2217,6 @@ BattleBGEffect_WobbleMon:
dw .one
dw .two
.zero
call BattleBGEffects_IncrementJumptable
call BattleBGEffects_ClearLYOverrides
@ -2407,7 +2381,6 @@ BGEffect_RapidCyclePals:
dw .one_dmg
dw .two_dmg
.zero_dmg
call BattleBGEffects_IncrementJumptable
ld a, $e4
@ -2472,7 +2445,6 @@ BGEffect_RapidCyclePals:
dw .three_cgb
dw .four_cgb
.zero_cgb
call BGEffect_CheckBattleTurn
jr nz, .player_turn_cgb
@ -2932,4 +2904,3 @@ BattleBGEffects_Cosine:
callfar BattleAnim_Cosine_e
ld a, e
ret

Some files were not shown because too many files have changed in this diff Show More