About time I got to these functions

This commit is contained in:
PikalaxALT 2015-10-24 10:34:19 -04:00
parent 97cc513f54
commit 119d6b4119
409 changed files with 5218 additions and 4233 deletions

View File

@ -123,18 +123,18 @@ Function3c000: ; 3c000
WildFled_EnemyFled_LinkBattleCanceled: ; 3c0e5
call Function30b4
ld a, [wd0ee]
ld a, [wBattleResult]
and $c0
add $2
ld [wd0ee], a
ld [wBattleResult], a
ld a, [wLinkMode]
and a
ld hl, BattleText_WildFled
jr z, .asm_3c115
ld a, [wd0ee]
ld a, [wBattleResult]
and $c0
ld [wd0ee], a
ld [wBattleResult], a
ld hl, BattleText_EnemyFled
call Function3d2e0
jr nc, .asm_3c115
@ -584,10 +584,10 @@ Function3c3f5: ; 3c3f5
ld a, [wdc79]
and a
jr nz, .asm_3c40e
ld a, [wd0ee]
ld a, [wBattleResult]
and $c0
add $2
ld [wd0ee], a
ld [wBattleResult], a
scf
ret
@ -2245,9 +2245,9 @@ Function3ce01: ; 3ce01
call z, Function3d0ea
call EmptyBattleTextBox
call Function309d
ld a, [wd0ee]
ld a, [wBattleResult]
and $c0
ld [wd0ee], a
ld [wBattleResult], a
call Function3ceaa
jr z, .asm_3ce72
ld hl, EnemyMonBaseStats
@ -2633,7 +2633,7 @@ Function3d0be: ; 3d0be
push bc
ld b, h
ld c, l
callba Function106008
callba MobileFn_106008
pop bc
pop hl
.asm_3d0ce
@ -2831,10 +2831,10 @@ Function3d1aa: ; 3d1aa
ld a, [CurBattleMon]
ld [CurPartyMon], a
callab ChangeHappiness
ld a, [wd0ee]
ld a, [wBattleResult]
and %11000000
add $1
ld [wd0ee], a
ld [wBattleResult], a
ld a, [wc6f7]
and a
ret z
@ -3136,10 +3136,10 @@ LostBattle: ; 3d38e
call CheckEnemyTrainerDefeated
jr nz, .asm_3d40a
ld hl, TiedAgainstText
ld a, [wd0ee]
ld a, [wBattleResult]
and $c0
add 2
ld [wd0ee], a
ld [wBattleResult], a
jr .text
.asm_3d40a
@ -4009,10 +4009,10 @@ Function3d8b3: ; 3d8b3
dec a
.asm_3d9cf
ld b, a
ld a, [wd0ee]
ld a, [wBattleResult]
and $c0
add b
ld [wd0ee], a
ld [wBattleResult], a
call StopDangerSound
push de
ld de, SFX_RUN
@ -5251,7 +5251,7 @@ Function3e234: ; 3e234
and a
jr nz, .asm_3e279
callab CheckItemPocket
ld a, [wd142]
ld a, [wItemAttributeParamBuffer]
cp $3
jr z, .asm_3e24a
call WhiteBGMap
@ -5282,9 +5282,9 @@ Function3e234: ; 3e234
.asm_3e279
xor a
ld [wc64e], a
ld a, [wd0ee]
ld a, [wBattleResult]
and $c0
ld [wd0ee], a
ld [wBattleResult], a
call ResetTextRelatedRAM
call Function32f9
scf
@ -8403,9 +8403,13 @@ Function3f4b4: ; 3f4b4
StartBattle: ; 3f4c1
; This check prevents you from entering a battle without any Pokemon.
; Those using walk-through-walls to bypass getting a Pokemon experience
; the effects of this check.
ld a, [PartyCount]
and a
ret z
ld a, [TimeOfDayPal]
push af
call Function3f4dd
@ -8425,17 +8429,17 @@ Function3f4d9: ; 3f4d9
Function3f4dd: ; 3f4dd
callba Function106050
call Function3f54e
callba MobileFn_106050 ; mobile
call LoadTrainerOrWildMonPic
xor a
ld [TempBattleMonSpecies], a
ld [wd0d2], a
xor a
ld [$ffde], a
callba PlayBattleMusic
callba Function2ee18
callba Function2ee2f
call Function2ed3
callba ShowLinkBattleParticipants
callba FindFirstAliveMon
call DisableSpriteUpdates
callba ClearBattleRAM
call Function3f55e
call Function3f568
@ -8465,14 +8469,14 @@ Function3f4dd: ; 3f4dd
ret
; 3f54e
Function3f54e: ; 3f54e
LoadTrainerOrWildMonPic: ; 3f54e
ld a, [OtherTrainerClass]
and a
jr nz, .asm_3f55a
jr nz, .Trainer
ld a, [TempWildMonSpecies]
ld [CurPartySpecies], a
.asm_3f55a
.Trainer
ld [TempEnemyMonSpecies], a
ret
; 3f55e
@ -8480,8 +8484,8 @@ Function3f54e: ; 3f54e
Function3f55e: ; 3f55e
ld a, [OtherTrainerClass]
and a
jp nz, Function3f594
jp Function3f607
jp nz, Function3f594 ; trainer
jp Function3f607 ; wild
; 3f568
Function3f568: ; 3f568
@ -8510,7 +8514,7 @@ Function3f568: ; 3f568
Function3f594: ; 3f594
ld [TrainerClass], a
callba Function10606a
callba MobileFn_10606a
xor a
ld [TempEnemyMonSpecies], a
callab Function3957b
@ -8566,7 +8570,7 @@ Function3f594: ; 3f594
Function3f607: ; 3f607
ld a, $1
ld [wBattleMode], a
callba Function10605d
callba MobileFn_10605d
call LoadEnemyMon
ld hl, EnemyMonMoves
ld de, wc735
@ -8660,15 +8664,15 @@ Function3f69e: ; 3f69e
Function3f6a5: ; 3f6a5
ld a, [wLinkMode]
and a
jr z, .asm_3f6b7
jr z, .not_linked
call Function3f759
ld c, 150
call DelayFrames
call Function3f77c
ret
.asm_3f6b7
ld a, [wd0ee]
.not_linked
ld a, [wBattleResult]
and $f
ret nz
call Function3f71d
@ -8692,11 +8696,11 @@ Function3f6d0: ; 3f6d0
ld [wd267], a
ld [wd232], a
ld [wd0d8], a
ld [wd0da], a
ld [wd0d9], a
ld [wKeyItemsPocketPointerLocation], a
ld [wItemsPocketPointerLocation], a
ld [wd0d2], a
ld [CurMoveNum], a
ld [wd0db], a
ld [wBallsPocketPointerLocation], a
ld [wd0d6], a
ld [wd0e4], a
ld [wd0e0], a
@ -8750,7 +8754,7 @@ endr
; 3f759
Function3f759: ; 3f759
callba Function1060df
callba MobileFn_1060df
callba Function106187
ld a, [CurOTMon]
ld hl, OTPartyMon1Status
@ -8758,7 +8762,7 @@ Function3f759: ; 3f759
ld a, [EnemyMonStatus]
ld [hl], a
call ClearTileMap
callba Function2c1b2
callba _ShowLinkBattleParticipants
ret
; 3f77c
@ -8773,22 +8777,22 @@ Function3f77c: ; 3f77c
callba Function2b930
.asm_3f797
ld a, [wd0ee]
ld a, [wBattleResult]
and $f
cp $1
jr c, .asm_3f7ad
jr z, .asm_3f7b8
callba Function106107
callba MobileFn_106107
ld de, .Draw
jr .asm_3f7c3
.asm_3f7ad
callba Function1060fb
callba MobileFn_1060fb
ld de, .Win
jr .asm_3f7c3
.asm_3f7b8
callba Function106101
callba MobileFn_106101
ld de, .Lose
jr .asm_3f7c3
@ -9006,7 +9010,7 @@ Function3f998: ; 3f998
ld a, [BattleType]
cp BATTLETYPE_ROAMING
jr nz, .asm_3f9c4
ld a, [wd0ee]
ld a, [wBattleResult]
and $f
jr z, .asm_3f9af
call GetRoamMonHP
@ -9170,7 +9174,7 @@ endr
; 3faa0
Function3faa0: ; 3faa0
ld a, [wd0ee]
ld a, [wBattleResult]
and $f
cp $1
ld bc, $000d
@ -9405,7 +9409,7 @@ GetBattleBackpic: ; 3fbff
jr z, .Decompress
; What gender are we?
ld a, [wd45b]
ld a, [wPlayerSpriteSetupFlags]
bit 2, a
jr nz, .Chris
ld a, [PlayerGender]
@ -9542,7 +9546,7 @@ BattleStartMessage: ; 3fc8b
cp BATTLETYPE_FISH
jr nz, .asm_3fcfd
callba Function106086
callba MobileFn_106086
ld hl, HookedPokemonAttackedText
jr .asm_3fd0e

View File

@ -7188,10 +7188,10 @@ BattleCommanda0: ; 36778
Function36804: ; 36804
ld a, [wd0ee]
ld a, [wBattleResult]
and $c0
or $2
ld [wd0ee], a
ld [wBattleResult], a
ret
; 3680f
@ -8519,7 +8519,7 @@ BattleCommand35: ; 36f9d
BattleCommand36: ; 36fe1
call AnimateCurrentMove
callba Function1060e5
callba MobileFn_1060e5
jp PrintNothingHappened
; 36fed
@ -9152,7 +9152,7 @@ CheckSubstituteOpp: ; 37378
BattleCommand1a: ; 37380
callba Function10610d
callba MobileFn_10610d
ld a, $4
ld [wcfca], a
ld c, $3

215
battle/magikarp_length.asm Normal file
View File

@ -0,0 +1,215 @@
CalcMagikarpLength: ; fbbfc
; Return Magikarp's length (in mm) at MagikarpLength (big endian).
;
; input:
; de: EnemyMonDVs
; bc: PlayerID
; This function is poorly commented.
; In short, it generates a value between 190 and 1786 using
; a Magikarp's DVs and its trainer ID. This value is further
; filtered in LoadEnemyMon to make longer Magikarp even rarer.
; The value is generated from a lookup table.
; The index is determined by the dv xored with the player's trainer id.
; bc = rrc(dv[0]) ++ rrc(dv[1]) ^ rrc(id)
; if bc < 10: [MagikarpLength] = c + 190
; if bc >= $ff00: [MagikarpLength] = c + 1370
; else: [MagikarpLength] = z * 100 + (bc - x) / y
; X, Y, and Z depend on the value of b as follows:
; if b = 0: x = 310, y = 2, z = 3
; if b = 1: x = 710, y = 4, z = 4
; if b = 2-9: x = 2710, y = 20, z = 5
; if b = 10-29: x = 7710, y = 50, z = 6
; if b = 30-68: x = 17710, y = 100, z = 7
; if b = 69-126: x = 32710, y = 150, z = 8
; if b = 127-185: x = 47710, y = 150, z = 9
; if b = 186-224: x = 57710, y = 100, z = 10
; if b = 225-243: x = 62710, y = 50, z = 11
; if b = 244-251: x = 64710, y = 20, z = 12
; if b = 252-253: x = 65210, y = 5, z = 13
; if b = 254: x = 65410, y = 2, z = 14
; bc = rrc(dv[0]) ++ rrc(dv[1]) ^ rrc(id)
; id
ld h, b
ld l, c
ld a, [hli]
ld b, a
ld c, [hl]
rrc b
rrc c
; dv
ld a, [de]
inc de
rrca
rrca
xor b
ld b, a
ld a, [de]
rrca
rrca
xor c
ld c, a
; if bc < 10:
; de = bc + 190
; break
ld a, b
and a
jr nz, .no
ld a, c
cp 10
jr nc, .no
ld hl, 190
add hl, bc
ld d, h
ld e, l
jr .done
.no
ld hl, .Lengths
ld a, 2
ld [wd265], a
.read
ld a, [hli]
ld e, a
ld a, [hli]
ld d, a
call .BCLessThanDE
jr nc, .next
; c = (bc - de) / [hl]
call .BCMinusDE
ld a, b
ld [hDividend + 0], a
ld a, c
ld [hDividend + 1], a
ld a, [hl]
ld [hDivisor], a
ld b, 2
call Divide
ld a, [hQuotient + 2]
ld c, a
; de = c + 100 * (2 + i)
xor a
ld [hMultiplicand + 0], a
ld [hMultiplicand + 1], a
ld a, 100
ld [hMultiplicand + 2], a
ld a, [wd265]
ld [hMultiplier], a
call Multiply
ld b, 0
ld a, [hProduct + 3]
add c
ld e, a
ld a, [hProduct + 2]
adc b
ld d, a
jr .done
.next
inc hl ; align to next triplet
ld a, [wd265]
inc a
ld [wd265], a
cp 16
jr c, .read
call .BCMinusDE
ld hl, 1600
add hl, bc
ld d, h
ld e, l
.done
; hl = de * 10
ld h, d
ld l, e
rept 2
add hl, hl
endr
add hl, de
add hl, hl
; hl = hl / 254
ld de, -254
ld a, -1
.div_254
inc a
add hl, de
jr c, .div_254
; d, e = hl / 12, hl % 12
ld d, 0
.mod_12
cp 12
jr c, .ok
sub 12
inc d
jr .mod_12
.ok
ld e, a
ld hl, MagikarpLength
ld [hl], d
inc hl
ld [hl], e
ret
; fbc9a
.BCLessThanDE: ; fbc9a
; Intention: Return bc < de.
; Reality: Return b < d.
ld a, b
cp d
ret c
ret nc ; whoops
ld a, c
cp e
ret
; fbca1
.BCMinusDE: ; fbca1
; bc -= de
ld a, c
sub e
ld c, a
ld a, b
sbc d
ld b, a
ret
; fbca8
.Lengths: ; fbca8
; ????, divisor
dwb 110, 1
dwb 310, 2
dwb 710, 4
dwb 2710, 20
dwb 7710, 50
dwb 17710, 100
dwb 32710, 150
dwb 47710, 150
dwb 57710, 100
dwb 62710, 50
dwb 64710, 20
dwb 65210, 5
dwb 65410, 2
dwb 65510, 1 ; not used
; fbcd2

View File

@ -10,6 +10,7 @@ INCLUDE "constants/type_constants.asm"
INCLUDE "constants/move_constants.asm"
INCLUDE "constants/battle_constants.asm"
INCLUDE "constants/map_constants.asm"
INCLUDE "constants/map_setup_constants.asm"
INCLUDE "constants/landmark_constants.asm"
INCLUDE "constants/item_constants.asm"
INCLUDE "constants/trainer_constants.asm"

View File

@ -352,7 +352,7 @@ const_value SET 70
const HELD_TRADE_EVOLVE
const HELD_AMULET_COIN
const HELD_BRIGHTPOWDER
const HELD_4E
const HELD_78
const HELD_FOCUS_BAND
const_def
@ -364,3 +364,12 @@ const_value SET 70
const ITEMATTR_POCKET
const ITEMATTR_HELP
NUM_ITEMATTRS EQU const_value
ITEMMENU_NOUSE EQU 0
ITEMMENU_CURRENT EQU 4
ITEMMENU_PARTY EQU 5
ITEMMENU_FIELD EQU 6
ITEMCONTEXT_NOTINBATTLE EQU 0
ITEMCONTEXT_BATTLEANDFIELD EQU 5
ITEMCONTEXT_BATTLEONLY EQU 6

View File

@ -0,0 +1,13 @@
const_def
const MAPSETUP_00
const MAPSETUP_01
const MAPSETUP_02
const MAPSETUP_03
const MAPSETUP_04
const MAPSETUP_05
const MAPSETUP_06
const MAPSETUP_07
const MAPSETUP_08
const MAPSETUP_09
const MAPSETUP_10
const MAPSETUP_11

View File

@ -156,3 +156,6 @@ const_value = 1
const LINK_TRADECENTER
const LINK_COLOSSEUM
const LINK_MOBILE
HMENURETURN_SCRIPT EQU %10000000
HMENURETURN_ASM EQU %11111111

View File

@ -40,13 +40,28 @@
const PHONE_BUENA
const_def
const ELMCALL_NONE
const ELMCALL_POKERUS
const ELMCALL_ROBBED
const ELMCALL_ASSISTANT
const ELMCALL_WEIRDBROADCAST
const ELMCALL_SSTICKET
const ELMCALL_UNKNOWN
const MOMCALL_WORRIED
const ELMCALL_MASTERBALL
const SPECIALCALL_NONE
const SPECIALCALL_POKERUS
const SPECIALCALL_ROBBED
const SPECIALCALL_ASSISTANT
const SPECIALCALL_WEIRDBROADCAST
const SPECIALCALL_SSTICKET
const SPECIALCALL_BIKESHOP
const SPECIALCALL_WORRIED
const SPECIALCALL_MASTERBALL
const_def
const PHONE_CONTACT_TRAINER_CLASS
const PHONE_CONTACT_TRAINER_NUMBER
const PHONE_CONTACT_MAP_GROUP
const PHONE_CONTACT_MAP_NUMBER
const PHONE_CONTACT_SCRIPT1_TIME
const PHONE_CONTACT_SCRIPT1_BANK
const PHONE_CONTACT_SCRIPT1_ADDR_LO
const PHONE_CONTACT_SCRIPT1_ADDR_HI
const PHONE_CONTACT_SCRIPT2_TIME
const PHONE_CONTACT_SCRIPT2_BANK
const PHONE_CONTACT_SCRIPT2_ADDR_LO
const PHONE_CONTACT_SCRIPT2_ADDR_HI
PHONE_TABLE_WIDTH EQU const_value
CONTACT_LIST_SIZE EQU 10

View File

@ -5,7 +5,7 @@ LAST_TALKED EQU -2
const_def
const VAR_STRINGBUFFER2
const VAR_PARTYCOUNT
const VAR_02
const VAR_BATTLERESULT
const VAR_BATTLETYPE
const VAR_TIMEOFDAY
const VAR_DEXCAUGHT
@ -23,11 +23,15 @@ LAST_TALKED EQU -2
const VAR_CONTESTMINUTES
const VAR_XCOORD
const VAR_YCOORD
const VAR_POKERUS
const VAR_SPECIALPHONECALL
const VAR_15
const VAR_16
const VAR_KURT_APRICORNS
const VAR_CALLERID
const VAR_BLUECARDBALANCE
const VAR_19
const VAR_BUENASPASSWORD
const VAR_KENJI_BREAK
NUM_VARS EQU const_value
RETVAR_STRBUF2 EQU (0 << 6)
RETVAR_ADDR_DE EQU (1 << 6)
RETVAR_EXECUTE EQU (2 << 6)

View File

@ -614,3 +614,33 @@
const EUSINE
NUM_TRAINER_CLASSES EQU __enum__
const_def
const NO_AI
const_value = 0
shift_const AI_BASIC
shift_const AI_SETUP
shift_const AI_TYPES
shift_const AI_OFFENSIVE
shift_const AI_SMART
shift_const AI_OPPORTUNIST
shift_const AI_AGGRESSIVE
shift_const AI_CAUTIOUS
shift_const AI_STATUS
shift_const AI_RISKY
shift_const AI_10
shift_const AI_11
shift_const AI_12
shift_const AI_13
shift_const AI_14
shift_const AI_15
const_def
const TRNATTR_ITEM1
const TRNATTR_ITEM2
const TRNATTR_BASEMONEY
const TRNATTR_AI1
const TRNATTR_AI2
const TRNATTR_AI3
const TRNATTR_AI4
NUM_TRAINER_ATTRIBUTES EQU const_value

View File

@ -785,16 +785,16 @@ Function973a: ; 973a
Function974b: ; 974b
and a
jp nz, Function97f9
ld a, [wd45b]
ld a, [wPlayerSpriteSetupFlags]
bit 2, a
jr nz, .asm_9760
jr nz, .male
ld a, [PlayerGender]
and a
jr z, .asm_9760
jr z, .male
ld hl, KrisPalette
ret
.asm_9760
.male
ld hl, PlayerPalette
ret
; 9764

View File

@ -1,198 +1,200 @@
; All locations are in WRAM bank 1.
engine_flag: MACRO
dwb \1, 1 << \2
ENDM
; location, bit
; pokegear
dwb wPokegearFlags, %00000010 ; radio card ; $0
dwb wPokegearFlags, %00000001 ; map card
dwb wPokegearFlags, %00000100 ; phone card
dwb wPokegearFlags, %00001000 ; expn card
dwb wPokegearFlags, %10000000 ; on/off
engine_flag wPokegearFlags, 1 ; radio card ; $0
engine_flag wPokegearFlags, 0 ; map card
engine_flag wPokegearFlags, 2 ; phone card
engine_flag wPokegearFlags, 3 ; expn card
engine_flag wPokegearFlags, 7 ; on/off
; wDaycareMan, %10000000 ; daycare 1 on
dwb wDaycareMan, %01000000 ; monster 1 and 2 are compatible
; wDaycareMan, %00100000 ; egg is ready
dwb wDaycareMan, %00000001 ; monster 1 in daycare
; wDaycareMan, 7 ; daycare 1 on
engine_flag wDaycareMan, 6 ; monster 1 and 2 are compatible
; wDaycareMan, 5 ; egg is ready
engine_flag wDaycareMan, 0 ; monster 1 in daycare
; wDaycareLady, %10000000 = daycare 2 on
dwb wDaycareLady, %00000001 ; monster 2 in daycare
; wDaycareLady, 7 = daycare 2 on
engine_flag wDaycareLady, 0 ; monster 2 in daycare
dwb wMomSavingMoney, %00000001 ; mom saving money ; $8
dwb wMomSavingMoney, %10000000 ; dst
engine_flag wMomSavingMoney, 0 ; mom saving money ; $8
engine_flag wMomSavingMoney, 7 ; dst
dwb wdc39, %00000001
engine_flag wdc39, 0
dwb StatusFlags, %00000001 ; pokedex
dwb StatusFlags, %00000010 ; unown dex
dwb StatusFlags, %00001000 ; pokerus
dwb StatusFlags, %00010000 ; rocket signal on ch20
dwb StatusFlags, %01000000 ; credits skip
dwb StatusFlags, %10000000 ; bug contest on ; $10
dwb StatusFlags2, %00000100 ; bug contest timer
dwb StatusFlags2, %00000010
dwb StatusFlags2, %00000001 ; rockets in radio tower
dwb StatusFlags2, %00010000 ; bike shop call enabled (1024 bike steps reqd)
dwb StatusFlags2, %00100000 ; give pokerus; berry -> berry juice when trading?
dwb StatusFlags2, %01000000
dwb StatusFlags2, %10000000 ; rockets in mahogany
engine_flag StatusFlags, 0 ; pokedex
engine_flag StatusFlags, 1 ; unown dex
engine_flag StatusFlags, 3 ; pokerus
engine_flag StatusFlags, 4 ; rocket signal on ch20
engine_flag StatusFlags, 6 ; credits skip
engine_flag StatusFlags, 7 ; bug contest on ; $10
engine_flag StatusFlags2, 2 ; bug contest timer
engine_flag StatusFlags2, 1
engine_flag StatusFlags2, 0 ; rockets in radio tower
engine_flag StatusFlags2, 4 ; bike shop call enabled (1024 bike steps reqd)
engine_flag StatusFlags2, 5 ; give pokerus
engine_flag StatusFlags2, 6 ; berry -> berry juice when trading?
engine_flag StatusFlags2, 7 ; rockets in mahogany
dwb BikeFlags, %00000001 ; strength active ; $18
dwb BikeFlags, %00000010 ; always on bike (cant surf)
dwb BikeFlags, %00000100 ; downhill (cycling road)
engine_flag BikeFlags, 0 ; strength active ; $18
engine_flag BikeFlags, 1 ; always on bike (cant surf)
engine_flag BikeFlags, 2 ; downhill (cycling road)
dwb JohtoBadges, %00000001 ; zephyrbadge
dwb JohtoBadges, %00000010 ; hivebadge
dwb JohtoBadges, %00000100 ; plainbadge
dwb JohtoBadges, %00001000 ; fogbadge
dwb JohtoBadges, %00010000 ; mineralbadge
dwb JohtoBadges, %00100000 ; stormbadge ; $20
dwb JohtoBadges, %01000000 ; glacierbadge
dwb JohtoBadges, %10000000 ; risingbadge
engine_flag JohtoBadges, 0 ; zephyrbadge
engine_flag JohtoBadges, 1 ; hivebadge
engine_flag JohtoBadges, 2 ; plainbadge
engine_flag JohtoBadges, 3 ; fogbadge
engine_flag JohtoBadges, 4 ; mineralbadge
engine_flag JohtoBadges, 5 ; stormbadge ; $20
engine_flag JohtoBadges, 6 ; glacierbadge
engine_flag JohtoBadges, 7 ; risingbadge
dwb KantoBadges, %00000001 ; boulderbadge
dwb KantoBadges, %00000010 ; cascadebadge
dwb KantoBadges, %00000100 ; thunderbadge
dwb KantoBadges, %00001000 ; rainbowbadge
dwb KantoBadges, %00010000 ; soulbadge
dwb KantoBadges, %00100000 ; marshbadge ; $28
dwb KantoBadges, %01000000 ; volcanobadge
dwb KantoBadges, %10000000 ; earthbadge
engine_flag KantoBadges, 0 ; boulderbadge
engine_flag KantoBadges, 1 ; cascadebadge
engine_flag KantoBadges, 2 ; thunderbadge
engine_flag KantoBadges, 3 ; rainbowbadge
engine_flag KantoBadges, 4 ; soulbadge
engine_flag KantoBadges, 5 ; marshbadge ; $28
engine_flag KantoBadges, 6 ; volcanobadge
engine_flag KantoBadges, 7 ; earthbadge
; unown sets
dwb UnlockedUnowns, %00000001 ; 1
dwb UnlockedUnowns, %00000010 ; 2
dwb UnlockedUnowns, %00000100 ; 3
dwb UnlockedUnowns, %00001000 ; 4
dwb UnlockedUnowns, %00010000 ; 5
dwb UnlockedUnowns, %00100000 ; 6 ; $30
dwb UnlockedUnowns, %01000000 ; 7
dwb UnlockedUnowns, %10000000 ; 8
engine_flag UnlockedUnowns, 0 ; 1
engine_flag UnlockedUnowns, 1 ; 2
engine_flag UnlockedUnowns, 2 ; 3
engine_flag UnlockedUnowns, 3 ; 4
engine_flag UnlockedUnowns, 4 ; 5
engine_flag UnlockedUnowns, 5 ; 6 ; $30
engine_flag UnlockedUnowns, 6 ; 7
engine_flag UnlockedUnowns, 7 ; 8
; fly
dwb VisitedSpawns, %00000001 ; your house
dwb VisitedSpawns, %00000010 ; viridian pokecenter
dwb VisitedSpawns, %00000100 ; pallet
dwb VisitedSpawns, %00001000 ; viridian
dwb VisitedSpawns, %00010000 ; pewter
dwb VisitedSpawns, %00100000 ; cerulean ; $38
dwb VisitedSpawns, %01000000 ; rock tunnel
dwb VisitedSpawns, %10000000 ; vermilion
dwb VisitedSpawns + 1, %00000001 ; lavender
dwb VisitedSpawns + 1, %00000010 ; saffron
dwb VisitedSpawns + 1, %00000100 ; celadon
dwb VisitedSpawns + 1, %00001000 ; fuchsia
dwb VisitedSpawns + 1, %00010000 ; cinnabar
dwb VisitedSpawns + 1, %00100000 ; indigo plateau ; $40
dwb VisitedSpawns + 1, %01000000 ; new bark
dwb VisitedSpawns + 1, %10000000 ; cherrygrove
dwb VisitedSpawns + 2, %00000001 ; violet
dwb VisitedSpawns + 2, %00000100 ; azalea
dwb VisitedSpawns + 2, %00001000 ; cianwood
dwb VisitedSpawns + 2, %00010000 ; goldenrod
dwb VisitedSpawns + 2, %00100000 ; olivine
dwb VisitedSpawns + 2, %01000000 ; ecruteak ; $48
dwb VisitedSpawns + 2, %10000000 ; mahogany
dwb VisitedSpawns + 3, %00000001 ; lake of rage
dwb VisitedSpawns + 3, %00000010 ; blackthorn
dwb VisitedSpawns + 3, %00000100 ; silver cave
dwb VisitedSpawns + 3, %00010000 ; unused
engine_flag VisitedSpawns, 0 ; your house
engine_flag VisitedSpawns, 1 ; viridian pokecenter
engine_flag VisitedSpawns, 2 ; pallet
engine_flag VisitedSpawns, 3 ; viridian
engine_flag VisitedSpawns, 4 ; pewter
engine_flag VisitedSpawns, 5 ; cerulean ; $38
engine_flag VisitedSpawns, 6 ; rock tunnel
engine_flag VisitedSpawns, 7 ; vermilion
engine_flag VisitedSpawns + 1, 0 ; lavender
engine_flag VisitedSpawns + 1, 1 ; saffron
engine_flag VisitedSpawns + 1, 2 ; celadon
engine_flag VisitedSpawns + 1, 3 ; fuchsia
engine_flag VisitedSpawns + 1, 4 ; cinnabar
engine_flag VisitedSpawns + 1, 5 ; indigo plateau ; $40
engine_flag VisitedSpawns + 1, 6 ; new bark
engine_flag VisitedSpawns + 1, 7 ; cherrygrove
engine_flag VisitedSpawns + 2, 0 ; violet
engine_flag VisitedSpawns + 2, 2 ; azalea
engine_flag VisitedSpawns + 2, 3 ; cianwood
engine_flag VisitedSpawns + 2, 4 ; goldenrod
engine_flag VisitedSpawns + 2, 5 ; olivine
engine_flag VisitedSpawns + 2, 6 ; ecruteak ; $48
engine_flag VisitedSpawns + 2, 7 ; mahogany
engine_flag VisitedSpawns + 3, 0 ; lake of rage
engine_flag VisitedSpawns + 3, 1 ; blackthorn
engine_flag VisitedSpawns + 3, 2 ; silver cave
engine_flag VisitedSpawns + 3, 4 ; unused
dwb wLuckyNumberShowFlag, %00000001 ; lucky number show
dwb StatusFlags2, %00001000
engine_flag wLuckyNumberShowFlag, 0 ; lucky number show
engine_flag StatusFlags2, 3 ; ????
dwb DailyFlags, %00000001 ; kurt making balls ; $50
dwb DailyFlags, %00000010
dwb DailyFlags, %00000100 ; special wilddata?
dwb DailyFlags, %00001000 ; time capsule (24h wait)
dwb DailyFlags, %00010000 ; all fruit trees
dwb DailyFlags, %00100000 ; shuckle given
dwb DailyFlags, %01000000 ; goldenrod underground merchant closed
dwb DailyFlags, %10000000 ; fought in trainer hall today
engine_flag DailyFlags, 0 ; kurt making balls ; $50
engine_flag DailyFlags, 1 ; ????
engine_flag DailyFlags, 2 ; special wilddata?
engine_flag DailyFlags, 3 ; time capsule (24h wait)
engine_flag DailyFlags, 4 ; all fruit trees
engine_flag DailyFlags, 5 ; shuckle given
engine_flag DailyFlags, 6 ; goldenrod underground merchant closed
engine_flag DailyFlags, 7 ; fought in trainer hall today
dwb WeeklyFlags, %00000001 ; mt moon square clefairy ; $58
dwb WeeklyFlags, %00000010 ; union cave lapras
dwb WeeklyFlags, %00000100 ; goldenrod underground haircut used
dwb WeeklyFlags, %00001000 ; goldenrod mall happiness event floor05 person07
dwb WeeklyFlags, %00010000 ; tea in blues house
dwb WeeklyFlags, %00100000 ; indigo plateau rival fight
dwb WeeklyFlags, %01000000 ; move tutor
dwb WeeklyFlags, %10000000 ; buenas password
engine_flag WeeklyFlags, 0 ; mt moon square clefairy ; $58
engine_flag WeeklyFlags, 1 ; union cave lapras
engine_flag WeeklyFlags, 2 ; goldenrod underground haircut used
engine_flag WeeklyFlags, 3 ; goldenrod mall happiness event floor05 person07
engine_flag WeeklyFlags, 4 ; tea in blues house
engine_flag WeeklyFlags, 5 ; indigo plateau rival fight
engine_flag WeeklyFlags, 6 ; move tutor
engine_flag WeeklyFlags, 7 ; buenas password
dwb SwarmFlags, %00000001 ; $60
dwb SwarmFlags, %00000010 ; goldenrod dept store sale is on
engine_flag SwarmFlags, 0 ; $60
engine_flag SwarmFlags, 1 ; goldenrod dept store sale is on
dwb GameTimerPause, %10000000 ; $62
engine_flag GameTimerPause, 7 ; $62
dwb PlayerGender, %00000001 ; player is female
engine_flag PlayerGender, 0 ; player is female
dwb wdbf3, %00000100 ; have gs ball after kurt examined it
engine_flag wCelebiEvent, 2 ; have gs ball after kurt examined it
; rematches
dwb wDailyRematchFlags, %00000001 ; jack
dwb wDailyRematchFlags, %00000010 ; huey
dwb wDailyRematchFlags, %00000100 ; gaven
dwb wDailyRematchFlags, %00001000 ; beth ; $68
dwb wDailyRematchFlags, %00010000 ; jose
dwb wDailyRematchFlags, %00100000 ; reena
dwb wDailyRematchFlags, %01000000 ; joey
dwb wDailyRematchFlags, %10000000 ; wade
dwb wDailyRematchFlags + 1, %00000001 ; ralph
dwb wDailyRematchFlags + 1, %00000010 ; liz
dwb wDailyRematchFlags + 1, %00000100 ; anthony
dwb wDailyRematchFlags + 1, %00001000 ; todd ; $70
dwb wDailyRematchFlags + 1, %00010000 ; gina
dwb wDailyRematchFlags + 1, %00100000 ; arnie
dwb wDailyRematchFlags + 1, %01000000 ; alan
dwb wDailyRematchFlags + 1, %10000000 ; dana
dwb wDailyRematchFlags + 2, %00000001 ; chad
dwb wDailyRematchFlags + 2, %00000010 ; tully
dwb wDailyRematchFlags + 2, %00000100 ; brent
dwb wDailyRematchFlags + 2, %00001000 ; tiffany ; $78
dwb wDailyRematchFlags + 2, %00010000 ; vance
dwb wDailyRematchFlags + 2, %00100000 ; wilton
dwb wDailyRematchFlags + 2, %01000000 ; parry
dwb wDailyRematchFlags + 2, %10000000 ; erin
engine_flag wDailyRematchFlags, 0 ; jack
engine_flag wDailyRematchFlags, 1 ; huey
engine_flag wDailyRematchFlags, 2 ; gaven
engine_flag wDailyRematchFlags, 3 ; beth ; $68
engine_flag wDailyRematchFlags, 4 ; jose
engine_flag wDailyRematchFlags, 5 ; reena
engine_flag wDailyRematchFlags, 6 ; joey
engine_flag wDailyRematchFlags, 7 ; wade
engine_flag wDailyRematchFlags + 1, 0 ; ralph
engine_flag wDailyRematchFlags + 1, 1 ; liz
engine_flag wDailyRematchFlags + 1, 2 ; anthony
engine_flag wDailyRematchFlags + 1, 3 ; todd ; $70
engine_flag wDailyRematchFlags + 1, 4 ; gina
engine_flag wDailyRematchFlags + 1, 5 ; arnie
engine_flag wDailyRematchFlags + 1, 6 ; alan
engine_flag wDailyRematchFlags + 1, 7 ; dana
engine_flag wDailyRematchFlags + 2, 0 ; chad
engine_flag wDailyRematchFlags + 2, 1 ; tully
engine_flag wDailyRematchFlags + 2, 2 ; brent
engine_flag wDailyRematchFlags + 2, 3 ; tiffany ; $78
engine_flag wDailyRematchFlags + 2, 4 ; vance
engine_flag wDailyRematchFlags + 2, 5 ; wilton
engine_flag wDailyRematchFlags + 2, 6 ; parry
engine_flag wDailyRematchFlags + 2, 7 ; erin
dwb wDailyPhoneItemFlags, %00000001 ; beverly has nugget
dwb wDailyPhoneItemFlags, %00000010 ; jose has star piece
dwb wDailyPhoneItemFlags, %00000100 ; wade has item (see bittable1 $032b-e)
dwb wDailyPhoneItemFlags, %00001000 ; gina has leaf stone ; $80
dwb wDailyPhoneItemFlags, %00010000 ; alan has fire stone
dwb wDailyPhoneItemFlags, %00100000 ; liz has thunderstone
dwb wDailyPhoneItemFlags, %01000000 ; derek has nugget
dwb wDailyPhoneItemFlags, %10000000 ; tully has water stone
engine_flag wDailyPhoneItemFlags, 0 ; beverly has nugget
engine_flag wDailyPhoneItemFlags, 1 ; jose has star piece
engine_flag wDailyPhoneItemFlags, 2 ; wade has item (see bittable1 $032b-e)
engine_flag wDailyPhoneItemFlags, 3 ; gina has leaf stone ; $80
engine_flag wDailyPhoneItemFlags, 4 ; alan has fire stone
engine_flag wDailyPhoneItemFlags, 5 ; liz has thunderstone
engine_flag wDailyPhoneItemFlags, 6 ; derek has nugget
engine_flag wDailyPhoneItemFlags, 7 ; tully has water stone
dwb wDailyPhoneItemFlags + 1, %00000001 ; tiffany has pink bow
dwb wDailyPhoneItemFlags + 1, %00000010 ; wilton has item (see bittable1 $032f-31)
engine_flag wDailyPhoneItemFlags + 1, 0 ; tiffany has pink bow
engine_flag wDailyPhoneItemFlags + 1, 1 ; wilton has item (see bittable1 $032f-31)
dwb wDailyPhoneTimeOfDayFlags, %00000001
dwb wDailyPhoneTimeOfDayFlags, %00000010 ; $88
dwb wDailyPhoneTimeOfDayFlags, %00000100
dwb wDailyPhoneTimeOfDayFlags, %00001000
dwb wDailyPhoneTimeOfDayFlags, %00010000
dwb wDailyPhoneTimeOfDayFlags, %00100000
dwb wDailyPhoneTimeOfDayFlags, %01000000
dwb wDailyPhoneTimeOfDayFlags, %10000000
engine_flag wDailyPhoneTimeOfDayFlags, 0
engine_flag wDailyPhoneTimeOfDayFlags, 1 ; $88
engine_flag wDailyPhoneTimeOfDayFlags, 2
engine_flag wDailyPhoneTimeOfDayFlags, 3
engine_flag wDailyPhoneTimeOfDayFlags, 4
engine_flag wDailyPhoneTimeOfDayFlags, 5
engine_flag wDailyPhoneTimeOfDayFlags, 6
engine_flag wDailyPhoneTimeOfDayFlags, 7
dwb wDailyPhoneTimeOfDayFlags + 1, %00000001
dwb wDailyPhoneTimeOfDayFlags + 1, %00000010 ; $90
dwb wDailyPhoneTimeOfDayFlags + 1, %00000100
dwb wDailyPhoneTimeOfDayFlags + 1, %00001000
dwb wDailyPhoneTimeOfDayFlags + 1, %00010000
dwb wDailyPhoneTimeOfDayFlags + 1, %00100000
dwb wDailyPhoneTimeOfDayFlags + 1, %01000000
dwb wDailyPhoneTimeOfDayFlags + 1, %10000000
engine_flag wDailyPhoneTimeOfDayFlags + 1, 0
engine_flag wDailyPhoneTimeOfDayFlags + 1, 1 ; $90
engine_flag wDailyPhoneTimeOfDayFlags + 1, 2
engine_flag wDailyPhoneTimeOfDayFlags + 1, 3
engine_flag wDailyPhoneTimeOfDayFlags + 1, 4
engine_flag wDailyPhoneTimeOfDayFlags + 1, 5
engine_flag wDailyPhoneTimeOfDayFlags + 1, 6
engine_flag wDailyPhoneTimeOfDayFlags + 1, 7
dwb wDailyPhoneTimeOfDayFlags + 2, %00000001
dwb wDailyPhoneTimeOfDayFlags + 2, %00000010 ; $98
dwb wDailyPhoneTimeOfDayFlags + 2, %00000100
dwb wDailyPhoneTimeOfDayFlags + 2, %00001000
dwb wDailyPhoneTimeOfDayFlags + 2, %00010000
dwb wDailyPhoneTimeOfDayFlags + 2, %00100000
dwb wDailyPhoneTimeOfDayFlags + 2, %01000000
dwb wDailyPhoneTimeOfDayFlags + 2, %10000000
engine_flag wDailyPhoneTimeOfDayFlags + 2, 0
engine_flag wDailyPhoneTimeOfDayFlags + 2, 1 ; $98
engine_flag wDailyPhoneTimeOfDayFlags + 2, 2
engine_flag wDailyPhoneTimeOfDayFlags + 2, 3
engine_flag wDailyPhoneTimeOfDayFlags + 2, 4
engine_flag wDailyPhoneTimeOfDayFlags + 2, 5
engine_flag wDailyPhoneTimeOfDayFlags + 2, 6
engine_flag wDailyPhoneTimeOfDayFlags + 2, 7
dwb wd45b, %00000100 ; female player has been transformed into male
engine_flag wPlayerSpriteSetupFlags, 2 ; female player has been transformed into male
dwb SwarmFlags, %00000100 ; dunsparce swarm ; $a0
dwb SwarmFlags, %00001000 ; yanma swarm
engine_flag SwarmFlags, 2 ; dunsparce swarm ; $a0
engine_flag SwarmFlags, 3 ; yanma swarm

View File

@ -123,7 +123,7 @@ StartMap: ; 96724
ld hl, MapStatus
ld bc, $3e ; 62
call ByteFill
callba Function113e5
callba InitCallReceiveDelay
call ClearJoypad
; fallthrough
; 9673e
@ -138,19 +138,19 @@ EnterMap: ; 9673e
call ClearAllScriptFlags3
ld a, [hMapEntryMethod]
cp $f7
cp ($f << 4) + MAPSETUP_07
jr nz, .dontset
call SetAll_ScriptFlags3
.dontset
ld a, [hMapEntryMethod]
cp $f3
cp ($f << 4) + MAPSETUP_03
jr nz, .dontresetpoison
xor a
ld [PoisonStepCount], a
.dontresetpoison
xor a
xor a ; ($0 << 4) + MAPSETUP_00
ld [hMapEntryMethod], a
ld a, 2 ; HandleMap
ld [MapStatus], a
@ -285,12 +285,12 @@ Function96812: ; 96812
PlayerEvents: ; 9681f
xor a
; If there's already a player event, don't interrupt it.
ld a, [ScriptRunning]
and a
ret nz
call Function968e4
call Dummy_CheckScriptFlags3Bit5 ; This is a waste of time
call CheckTrainerBattle3
jr c, .ok
@ -298,13 +298,13 @@ PlayerEvents: ; 9681f
call CheckTileEvent
jr c, .ok
call Function97c30
call RunMemScript
jr c, .ok
call Function968ec
call DoMapTrigger
jr c, .ok
call Function9693a
call CheckTimeEvents
jr c, .ok
call OWPlayerInput
@ -436,11 +436,7 @@ SetUpFiveStepWildEncounterCooldown: ; 968d1
ret
; 968d7
Function968d7: ; 968d7
ret
; 968d8
Function968d8: ; 968d8
SetMinTwoStepWildEncounterCooldown: mobile ; 968d7
ld a, [wWildEncounterCooldown]
cp 2
ret nc
@ -449,14 +445,14 @@ Function968d8: ; 968d8
ret
; 968e4
Function968e4: ; 968e4
Dummy_CheckScriptFlags3Bit5: ; 968e4
call CheckBit5_ScriptFlags3
ret z
call Function2f3e
call ret_2f3e
ret
; 968ec
Function968ec: ; 968ec
DoMapTrigger: ; 968ec
ld a, [wdc07]
and a
jr z, .nope
@ -468,7 +464,7 @@ Function968ec: ; 968ec
ld e, a
ld d, 0
ld hl, wdc07 + 1
ld hl, wdc08
ld a, [hli]
ld h, [hl]
ld l, a
@ -505,23 +501,23 @@ endr
ret
; 9693a
Function9693a: ; 9693a
CheckTimeEvents: ; 9693a
ld a, [wLinkMode]
and a
jr nz, .nothing
ld hl, StatusFlags2
bit 2, [hl]
jr z, .asm_96951
jr z, .do_daily
callba Function114a4
jr c, .elevator
callba CheckBugContestTimer
jr c, .end_bug_contest
xor a
ret
.asm_96951
callba Function11452
callba Function114e7
.do_daily
callba CheckDailyResetTimer
callba CheckPokerusTrick
callba CheckPhoneCall
ret c
@ -529,7 +525,7 @@ Function9693a: ; 9693a
xor a
ret
.elevator
.end_bug_contest
ld a, BANK(BugCatchingContestOverScript)
ld hl, BugCatchingContestOverScript
call CallScript
@ -537,7 +533,7 @@ Function9693a: ; 9693a
ret
; 96970
Function96970: ; 96970
.unused ; 96970
ld a, 8
scf
ret
@ -856,7 +852,7 @@ PlayerMovement: ; 96af0
; 96b10
.seven ; 96b10
call Function968d7 ; empty
call SetMinTwoStepWildEncounterCooldown ; mobile
xor a
ld c, a
ret
@ -898,7 +894,7 @@ PlayerMovement: ; 96af0
CheckMenuOW: ; 96b30
xor a
ld [$ffa0], a
ld [hMenuReturn], a
ld [$ffa1], a
ld a, [hJoyPressed]
@ -940,9 +936,9 @@ SelectMenuScript: ; 96b5f
StartMenuCallback:
SelectMenuCallback: ; 96b66
copybytetovar $ffa0
if_equal %10000000, .Script
if_equal -1, .Asm
copybytetovar hMenuReturn
if_equal HMENURETURN_SCRIPT, .Script
if_equal HMENURETURN_ASM, .Asm
end
; 96b72
@ -957,75 +953,85 @@ SelectMenuCallback: ; 96b66
CountStep: ; 96b79
; Don't count steps in link communication rooms.
ld a, [wLinkMode]
and a
jr nz, .done
callba Function90136
jr c, .setminus1
; If there is a special phone call, don't count the step.
callba CheckSpecialPhoneCall
jr c, .doscript
call Function96bd7
jr c, .setminus1
; If Repel wore off, don't count the step.
call DoRepelStep
jr c, .doscript
; Count the step for poison and total steps
ld hl, PoisonStepCount
inc [hl]
ld hl, StepCount
inc [hl]
jr nz, .asm_96b9c
; Every 256 steps, increase the happiness of all your Pokemon.
jr nz, .skip_happiness
callba StepHappiness
.asm_96b9c
.skip_happiness
; Every 256 steps, offset from the happiness incrementor by 128 steps,
; decrease the hatch counter of all your eggs until you reach the first
; one that is ready to hatch.
ld a, [StepCount]
cp $80
jr nz, .asm_96bab
jr nz, .skip_egg
callba Function16f3e
jr nz, .set8
callba DoEggStep
jr nz, .hatch
.asm_96bab
.skip_egg
; Increase the EXP of (both) DayCare Pokemon by 1.
callba DaycareStep
; Every four steps, deal damage to all Poisoned Pokemon
ld hl, PoisonStepCount
ld a, [hl]
cp 4
jr c, .poisoned
jr c, .skip_poison
ld [hl], 0
callba Function505da
jr c, .setminus1
callba DoPoisonStep
jr c, .doscript
.poisoned
callba Function97db3
.skip_poison
callba DoBikeStep
.done
xor a
ret
.setminus1
.doscript
ld a, -1
scf
ret
.set8
.hatch
ld a, 8
scf
ret
; 96bd3
Function96bd3: ; 96bd3
.unreferenced: ; 96bd3
ld a, 7
scf
ret
; 96bd7
Function96bd7: ; 96bd7
ld a, [wdca1]
DoRepelStep: ; 96bd7
ld a, [wRepelEffect]
and a
ret z
dec a
ld [wdca1], a
ld [wRepelEffect], a
ret nz
ld a, BANK(RepelWoreOffScript)
ld hl, RepelWoreOffScript
@ -1038,7 +1044,7 @@ Function96beb: ; 96beb
ld a, [ScriptRunning]
and a
ret z
cp -1
cp -1 ; run script
ret z
cp 10
ret nc
@ -1059,17 +1065,17 @@ endr
; 96c0c
ScriptPointers96c0c: ; 96c0c
dbw BANK(Invalid_0x96c2d), Invalid_0x96c2d
dbw BANK(SeenByTrainerScript), SeenByTrainerScript
dbw BANK(TalkToTrainerScript), TalkToTrainerScript
dbw BANK(FindItemInBallScript), FindItemInBallScript
dbw BANK(UnknownScript_0x96c4d), UnknownScript_0x96c4d
dbw BANK(WarpToNewMapScript), WarpToNewMapScript
dbw BANK(FallIntoMapScript), FallIntoMapScript
dbw BANK(UnknownScript_0x124c8), UnknownScript_0x124c8
dbw BANK(HatchEggScript), HatchEggScript
dbw BANK(UnknownScript_0x96c4f), UnknownScript_0x96c4f
dbw BANK(Invalid_0x96c2d), Invalid_0x96c2d
dba Invalid_0x96c2d
dba SeenByTrainerScript
dba TalkToTrainerScript
dba FindItemInBallScript
dba UnknownScript_0x96c4d
dba WarpToNewMapScript
dba FallIntoMapScript
dba UnknownScript_0x124c8
dba HatchEggScript
dba UnknownScript_0x96c4f
dba Invalid_0x96c2d
; 96c2d
Invalid_0x96c2d: ; 96c2d
@ -1087,12 +1093,12 @@ HatchEggScript: ; 96c2f
WarpToNewMapScript: ; 96c34
warpsound
newloadmap $f5
newloadmap ($f << 4) + MAPSETUP_05
end
; 96c38
FallIntoMapScript: ; 96c38
newloadmap $f6
newloadmap ($f << 4) + MAPSETUP_06
playsound SFX_KINESIS
applymovement PLAYER, MovementData_0x96c48
playsound SFX_STRENGTH

View File

@ -8,33 +8,39 @@ WarpToSpawnPoint:: ; 97c28
ret
; 97c30
Function97c30:: ; 97c30
ld a, [wd45c]
RunMemScript:: ; 97c30
; If there is no script here, we don't need to be here.
ld a, [wMapReentryScriptQueueFlag]
and a
ret z
ld hl, wd45c + 2
; Execute the script at (wMapReentryScriptBank):(wMapReentryScriptAddress).
ld hl, wMapReentryScriptAddress
ld a, [hli]
ld h, [hl]
ld l, a
ld a, [wd45c + 1]
ld a, [wMapReentryScriptBank]
call CallScript
scf
; Clear the buffer for the next script.
push af
xor a
ld hl, wd45c
ld hl, wMapReentryScriptQueueFlag
ld bc, 8
call ByteFill
pop af
ret
; 97c4f
Function97c4f:: ; 97c4f
ld hl, wd45c
LoadScriptBDE:: ; 97c4f
; If there's already a script here, don't overwrite.
ld hl, wMapReentryScriptQueueFlag
ld a, [hl]
and a
ret nz
; Set the flag
ld [hl], 1
inc hl
; Load the script pointer b:de into (wMapReentryScriptBank):(wMapReentryScriptAddress)
ld [hl], b
inc hl
ld [hl], e
@ -262,46 +268,60 @@ ContestMons: ; 97d87
db -1, VENOMOTH, 30, 40
; 97db3
Function97db3:: ; 97db3
DoBikeStep:: ; 97db3
nop
nop
; fallthrough
; 97db5
Function97db5: ; 97db5
; If the bike shop owner doesn't have our number, or
; if we've already gotten the call, we don't have to
; be here.
ld hl, StatusFlags2
bit 4, [hl]
jr z, .NoCall
; If we're not on the bike, we don't have to be here.
ld a, [PlayerState]
cp 1
cp PLAYER_BIKE
jr nz, .NoCall
; If we're not in an area of phone service, we don't
; have to be here.
call GetMapHeaderPhoneServiceNybble
and a
jr nz, .NoCall
ld hl, wdca1 + 1
; Check the bike step count and check whether we've
; taken 65536 of them yet.
ld hl, wBikeStep
ld a, [hli]
ld d, a
ld e, [hl]
cp -1
jr nz, .asm_97dd8
cp 255
jr nz, .increment
ld a, e
cp -1
jr z, .asm_97ddc
cp 255
jr z, .dont_increment
.asm_97dd8
.increment
inc de
ld [hl], e
dec hl
ld [hl], d
.asm_97ddc
.dont_increment
; If we've taken at least 1024 steps, have the bike
; shop owner try to call us.
ld a, d
cp $4
cp 1024 >> 8
jr c, .NoCall
; If a call has already been queued, don't overwrite
; that call.
ld a, [wSpecialPhoneCallID]
and a
jr nz, .NoCall
ld a, 6
; Queue the call.
ld a, SPECIALCALL_BIKESHOP
ld [wSpecialPhoneCallID], a
xor a
ld [wSpecialPhoneCallID + 1], a
@ -488,7 +508,7 @@ Function97eb7: ; 97eb7
; 97eb8
Function97eb8: ; 97eb8
call Function2f3e
call ret_2f3e
ret
; 97ebc

View File

@ -58,7 +58,7 @@ CheckFruitTree: ; 44055
; 4405f
PickedFruitTree: ; 4405f
callba Function10609b ; empty function
callba MobileFn_10609b ; empty function
ld b, 1
jp GetFruitTreeFlag
; 4406a

View File

@ -2196,7 +2196,7 @@ Function4ecd: ; 4ecd
add hl, bc
ld a, [hl]
ld b, a
callba Function807e
callba CopyDECoordsToMapObject
pop bc
ld hl, OBJECT_FLAGS
add hl, bc
@ -3064,7 +3064,7 @@ Function579d: ; 579d
; 57bc
Function57bc: ; 57bc
ld hl, wd45b
ld hl, wPlayerSpriteSetupFlags
bit 7, [hl]
jr nz, .ok
ret
@ -3076,10 +3076,10 @@ Function57bc: ; 57bc
; 57ca
Function57ca: ; 57ca
ld hl, wd45b
ld hl, wPlayerSpriteSetupFlags
bit 5, [hl]
ret z
ld a, [wd45b]
ld a, [wPlayerSpriteSetupFlags]
and 3
rept 2
add a

View File

@ -31,222 +31,171 @@ MapSetupScripts: ; 15377
dw MapSetupScript12
; 1538f
; Command descriptions from Condensation water's scripting compendium.
const_def
const map_lcd_on ; 00 = Turn LCD on
const map_lcd_off ; 01 = Turn LCD off
const map_sound_off ; 02 = Turn speakers off
const map_music ; 03 = Music check for current map/ special check for bug catcher contest
const map_start_music ; 04 = Start map music anew
const map_fade_music ; 05 = Music check for current map / special check for Bug Contest/ music with FadeOut (old) and FadeIn
const map_fade ; 06 = Fade out music + screen
const map_bike_music ; 07 = If HIRO is on bike = bike music, else play map music
const map_music_force ; 08 = Play map music
const map_max_volume ; 09 = Turn music to highest volume
const map_load_blocks ; 0A = Write map data to MapRAM
const map_connection_blocks ; 0B = Compute maps connection pars and write into MapRAM
const map_save_screen ; 0C = Write current part of map into temporary memory
const map_buffer_screen ; 0D = Write current part of map into read-from memory
const map_load_graphics ; 0E = Write tileset header to ram/ load tileset/ load sprite tiles/ load special tiles
const map_load_tileset_header ; 0F = Write tileset header to ram
const map_time_of_day ; 10 = Compute time of day/ Update screen
const map_palettes ; 11 = Load map palettes
const map_wildmons ; 12 = Load probabilities for wild Pokémon battles
const map_sprites ; 13 = Delete sprite data and draw new sprites
const map_change_callback ; 14 = Check 2nd script header for 05 and 03 callbacks
const map_start_callback ; 15 = Check 2nd script header for 03 callbacks
const map_load_objects ; 16 = Analyze people data anew and check 2nd script header for 02 callbacks
const map_load_spawn ; 17 = Writes arrival data for arrival by flying/Blackout from table 05:5319 to ram
const map_load_connection ; 18 = Writes arrival data for entering a map by connection to ram
const map_load_warp ; 19 = Write warp data to ram when entering warp
const map_attributes ; 1A = Load complete map data (primary, secondary, event, script headers)
const map_attributes_2 ; 1B = Same as 1A, but some settings arent loaded new from the rom, such as hide function of the people events
const map_clear_bg_palettes ; 1C = Fill palette data with FFFF (=white)
const map_fade_out_palettes ; 1D = All BG pallet color are converted to 0|0 (Pal0, Col0), all sprite colors to x|0 (FadeOut)
const map_fade_in_palettes ; 1E = Palette FadeIn
const map_anchor_screen ; 1F = Compute position of upper left-most block visible on screen
const map_warp_face ; 20 = Position computation when HIRO leaves a warp
const map_face_down ; 21 = Set HIROs facing to “down”
const map_spawn_coord ; 22 = Prepare HIRO data for arrival by flight
const map_player_coord ; 23 = Compute HIRO x/y data anew
const map_prolong_sprites ; 24 = Prolong old sprites before removing them
const map_delay_sprites ; 25 = Delay rendering new sprites
const map_update_roam ; 26 = Compute chances to meet Raikou, Entei or Suicune
const map_keep_roam ; 27 = Recover chances to meet Raikou, Entei or Suicune
const map_fade_out_music ; 28 = Temporarily stop music playing
const map_animations_on ; 29 = Activate animations
const map_animations_off ; 2A = Deactivate animations
const map_keep_palettes ; 2B = Recover all palettes
const map_text_scroll_off ; 2C = Turn off text scroll (for town name overlays)
const map_stop_script ; 2D = Deactivate code prolonging
MapSetupScript4: ; 1538f
db map_prolong_sprites
map_prolong_sprites
MapSetupScript12: ; 15390
db map_fade_out_palettes
db map_keep_roam
map_fade_out_palettes
map_keep_roam
MapSetupScript1: ; 15392
db map_lcd_off
db map_sound_off
db map_load_spawn
db map_attributes
db map_change_callback
db map_spawn_coord
db map_player_coord
db map_anchor_screen
db map_load_blocks
db map_buffer_screen
db map_load_graphics
db map_time_of_day
db map_load_objects
db map_lcd_on
db map_palettes
db map_face_down
db map_sprites
db map_bike_music
db map_max_volume
db map_fade_in_palettes
db map_animations_on
db map_wildmons
db -1
map_lcd_off
map_sound_off
map_load_spawn
map_attributes
map_change_callback
map_spawn_coord
map_player_coord
map_anchor_screen
map_load_blocks
map_buffer_screen
map_load_graphics
map_time_of_day
map_load_objects
map_lcd_on
map_palettes
map_face_down
map_sprites
map_bike_music
map_max_volume
map_fade_in_palettes
map_animations_on
map_wildmons
map_end_setup_script
MapSetupScript11: ; 153a9
db map_load_spawn
db map_attributes
db map_change_callback
db map_spawn_coord
db map_player_coord
db map_anchor_screen
db map_load_blocks
db map_buffer_screen
db map_lcd_off
db map_load_graphics
db map_time_of_day
db map_fade_out_music
db map_lcd_on
db map_load_objects
db map_palettes
db map_face_down
db map_sprites
db map_fade_music
db map_fade_in_palettes
db map_animations_on
db map_wildmons
db -1
map_load_spawn
map_attributes
map_change_callback
map_spawn_coord
map_player_coord
map_anchor_screen
map_load_blocks
map_buffer_screen
map_lcd_off
map_load_graphics
map_time_of_day
map_fade_out_music
map_lcd_on
map_load_objects
map_palettes
map_face_down
map_sprites
map_fade_music
map_fade_in_palettes
map_animations_on
map_wildmons
map_end_setup_script
MapSetupScript7: ; 153bf
db map_animations_off
db map_load_connection
db map_attributes
db map_change_callback
db map_player_coord
db map_load_blocks
db map_load_tileset_header
db map_save_screen
db map_load_objects
db map_fade_music
db map_palettes
db map_stop_script
db map_keep_palettes
db map_wildmons
db map_update_roam
db map_animations_on
db -1
map_animations_off
map_load_connection
map_attributes
map_change_callback
map_player_coord
map_load_blocks
map_load_tileset_header
map_save_screen
map_load_objects
map_fade_music
map_palettes
map_stop_script
map_keep_palettes
map_wildmons
map_update_roam
map_animations_on
map_end_setup_script
MapSetupScript6: ; 153d0
db map_prolong_sprites
map_prolong_sprites
MapSetupScript5: ; 153d1
db map_fade_out_palettes
map_fade_out_palettes
MapSetupScript9: ; 153d2
db map_load_warp
db map_attributes
db map_warp_face
db map_change_callback
db map_player_coord
db map_load_blocks
db map_buffer_screen
db map_lcd_off
db map_load_graphics
db map_time_of_day
db map_fade_out_music
db map_lcd_on
db map_load_objects
db map_palettes
db map_sprites
db map_fade_music
db map_fade_in_palettes
db map_animations_on
db map_wildmons
db map_update_roam
db -1
map_load_warp
map_attributes
map_warp_face
map_change_callback
map_player_coord
map_load_blocks
map_buffer_screen
map_lcd_off
map_load_graphics
map_time_of_day
map_fade_out_music
map_lcd_on
map_load_objects
map_palettes
map_sprites
map_fade_music
map_fade_in_palettes
map_animations_on
map_wildmons
map_update_roam
map_end_setup_script
MapSetupScript3: ; 153e7
db map_fade
db map_clear_bg_palettes
db map_lcd_off
db map_sound_off
db map_load_blocks
db map_connection_blocks
db map_load_graphics
db map_time_of_day
db map_lcd_on
db map_palettes
db map_sprites
db map_music_force
db map_fade_in_palettes
db map_animations_on
db map_wildmons
db -1
map_fade
map_clear_bg_palettes
map_lcd_off
map_sound_off
map_load_blocks
map_connection_blocks
map_load_graphics
map_time_of_day
map_lcd_on
map_palettes
map_sprites
map_music_force
map_fade_in_palettes
map_animations_on
map_wildmons
map_end_setup_script
MapSetupScript8: ; 153f7
db map_fade
db map_lcd_off
db map_sound_off
db map_change_callback
db map_load_blocks
db map_buffer_screen
db map_load_graphics
db map_time_of_day
db map_lcd_on
db map_palettes
db map_sprites
db map_bike_music
db map_fade_in_palettes
db map_animations_on
db map_wildmons
db map_text_scroll_off
db -1
map_fade
map_lcd_off
map_sound_off
map_change_callback
map_load_blocks
map_buffer_screen
map_load_graphics
map_time_of_day
map_lcd_on
map_palettes
map_sprites
map_bike_music
map_fade_in_palettes
map_animations_on
map_wildmons
map_text_scroll_off
map_end_setup_script
MapSetupScript2: ; 15408
db map_lcd_off
db map_sound_off
db map_attributes_2
db map_anchor_screen
db map_start_callback
db map_load_blocks
db map_connection_blocks
db map_buffer_screen
db map_load_graphics
db map_time_of_day
db map_lcd_on
db map_palettes
db map_sprites
db map_bike_music
db map_fade_in_palettes
db map_animations_on
db map_wildmons
db -1
map_lcd_off
map_sound_off
map_attributes_2
map_anchor_screen
map_start_callback
map_load_blocks
map_connection_blocks
map_buffer_screen
map_load_graphics
map_time_of_day
map_lcd_on
map_palettes
map_sprites
map_bike_music
map_fade_in_palettes
map_animations_on
map_wildmons
map_end_setup_script
MapSetupScript10: ; 1541a
db map_load_blocks
db map_connection_blocks
db -1
map_load_blocks
map_connection_blocks
map_end_setup_script
ReadMapSetupScript: ; 1541d
@ -374,13 +323,13 @@ Function154ea: ; 154ea
; 154eb
DelayClearingOldSprites: ; 154eb
ld hl, wd45b
ld hl, wPlayerSpriteSetupFlags
set 7, [hl]
ret
; 154f1
DelayLoadingNewSprites: ; 154f1
ld hl, wd45b
ld hl, wPlayerSpriteSetupFlags
set 6, [hl]
ret

View File

@ -1656,5 +1656,5 @@ UnknownScript_0xa0b04:
BikeShopPhoneScript:
farwritetext UnknownText_0x174000
clearflag ENGINE_BIKE_SHOP_CALL_ENABLED
specialphonecall ELMCALL_NONE
specialphonecall SPECIALCALL_NONE
end

View File

@ -54,24 +54,24 @@ Function10046: ; 10046 (4:4046)
Function10056: ; 10056 (4:4056)
xor a
ld [wcf65], a
call Function10a36
call Function109bb
call Function1089a
call ClearPocketList
call DrawPocketName
call WaitBGMap_DrawPackGFX
call Function10866
ret
Function10067: ; 10067 (4:4067)
ld hl, MenuDataHeader_0x10a4f
call CopyMenuDataHeader
ld a, [wd0d9]
ld [wcf88], a
ld a, [wItemsPocketPointerLocation]
ld [wPocketPointerLocationBuffer], a
ld a, [wd0df]
ld [wd0e4], a
call Function350c
ld a, [wd0e4]
ld [wd0df], a
ld a, [wcfa9]
ld [wd0d9], a
ld [wItemsPocketPointerLocation], a
ld b, $7
ld c, $3
call Function108d4
@ -82,24 +82,24 @@ Function10067: ; 10067 (4:4067)
Function10094: ; 10094 (4:4094)
ld a, $2
ld [wcf65], a
call Function10a36
call Function109bb
call Function1089a
call ClearPocketList
call DrawPocketName
call WaitBGMap_DrawPackGFX
call Function10866
ret
Function100a6: ; 100a6 (4:40a6)
ld hl, MenuDataHeader_0x10a7f
call CopyMenuDataHeader
ld a, [wd0da]
ld [wcf88], a
ld a, [wKeyItemsPocketPointerLocation]
ld [wPocketPointerLocationBuffer], a
ld a, [wd0e0]
ld [wd0e4], a
call Function350c
ld a, [wd0e4]
ld [wd0e0], a
ld a, [wcfa9]
ld [wd0da], a
ld [wKeyItemsPocketPointerLocation], a
ld b, $3
ld c, $7
call Function108d4
@ -110,11 +110,11 @@ Function100a6: ; 100a6 (4:40a6)
Function100d3: ; 100d3 (4:40d3)
ld a, $3
ld [wcf65], a
call Function10a36
call Function109bb
call ClearPocketList
call DrawPocketName
xor a
ld [hBGMapMode], a ; $ff00+$d4
call Function1089a
call WaitBGMap_DrawPackGFX
call Function10866
ret
@ -125,7 +125,7 @@ Function100e8: ; 100e8 (4:40e8)
call Function108d4
ret c
callba _CheckTossableItem
ld a, [wd142]
ld a, [wItemAttributeParamBuffer]
and a
jr nz, .asm_1010a
ld hl, MenuDataHeader_0x1013b
@ -205,31 +205,31 @@ Function10159: ; 10159
xor a
ld [hBGMapMode], a ; $ff00+$d4
call Function10955
call Function1089a
call WaitBGMap_DrawPackGFX
call Function10a40
ret
Function10186: ; 10186 (4:4186)
ld a, $1
ld [wcf65], a
call Function10a36
call Function109bb
call Function1089a
call ClearPocketList
call DrawPocketName
call WaitBGMap_DrawPackGFX
call Function10866
ret
Function10198: ; 10198 (4:4198)
ld hl, MenuDataHeader_0x10aaf
call CopyMenuDataHeader
ld a, [wd0db]
ld [wcf88], a
ld a, [wBallsPocketPointerLocation]
ld [wPocketPointerLocationBuffer], a
ld a, [wd0e1]
ld [wd0e4], a
call Function350c
ld a, [wd0e4]
ld [wd0e1], a
ld a, [wcfa9]
ld [wd0db], a
ld [wBallsPocketPointerLocation], a
ld b, $1
ld c, $5
call Function108d4
@ -239,54 +239,62 @@ Function10198: ; 10198 (4:4198)
Function101c5: ; 101c5 (4:41c5)
callba _CheckTossableItem
ld a, [wd142]
ld a, [wItemAttributeParamBuffer]
and a
jr nz, .asm_101f9
jr nz, .tossable
callba CheckSelectableItem
ld a, [wd142]
ld a, [wItemAttributeParamBuffer]
and a
jr nz, .asm_101eb
jr nz, .selectable
callba CheckItemMenu
ld a, [wd142]
ld a, [wItemAttributeParamBuffer]
and a
jr nz, .asm_10207
jr .asm_10227
.asm_101eb
jr nz, .usable
jr .unusable
.selectable
callba CheckItemMenu
ld a, [wd142]
ld a, [wItemAttributeParamBuffer]
and a
jr nz, .asm_1020f
jr .asm_1022f
.asm_101f9
jr nz, .selectable_usable
jr .selectable_unusable
.tossable
callba CheckSelectableItem
ld a, [wd142]
ld a, [wItemAttributeParamBuffer]
and a
jr nz, .asm_10217
jr .asm_1021f
.asm_10207
jr nz, .tossable_selectable
jr .tossable_unselectable
.usable
ld hl, MenuDataHeader_0x10249
ld de, Jumptable_1026a
jr .asm_10235
.asm_1020f
jr .build_menu
.selectable_usable
ld hl, MenuDataHeader_0x10274
ld de, Jumptable_10291
jr .asm_10235
.asm_10217
jr .build_menu
.tossable_selectable
ld hl, MenuDataHeader_0x10299
ld de, Jumptable_102ac
jr .asm_10235
.asm_1021f
jr .build_menu
.tossable_unselectable
ld hl, MenuDataHeader_0x102b0
ld de, Jumptable_102c7
jr .asm_10235
.asm_10227
jr .build_menu
.unusable
ld hl, MenuDataHeader_0x102cd
ld de, Jumptable_102ea
jr .asm_10235
.asm_1022f
jr .build_menu
.selectable_unusable
ld hl, MenuDataHeader_0x102f2
ld de, Jumptable_1030b
.asm_10235
.build_menu
push de
call LoadMenuDataHeader
call InterpretMenu2
@ -350,7 +358,7 @@ Jumptable_10291: ; 10291
; 10299
MenuDataHeader_0x10299: ; 0x10299
db $40 ; flags
db %01000000 ; flags
db 07, 13 ; start coords
db 11, 19 ; end coords
dw MenuData2_0x102a1
@ -370,7 +378,7 @@ Jumptable_102ac: ; 102ac
; 102b0
MenuDataHeader_0x102b0: ; 0x102b0
db $40 ; flags
db %01000000 ; flags
db 05, 13 ; start coords
db 11, 19 ; end coords
dw MenuData2_0x102b8
@ -439,52 +447,52 @@ Jumptable_1030b: ; 1030b
Function10311: ; 10311
callba CheckItemMenu
ld a, [wd142]
ld hl, Jumptable_1031f
ld a, [wItemAttributeParamBuffer]
ld hl, .jumptable
rst JumpTable
ret
; 1031f
Jumptable_1031f: ; 1031f (4:431f)
dw Function1032d
dw Function1032d
dw Function1032d
dw Function1032d
dw Function10334
dw Function10338
dw Function10355
.jumptable: ; 1031f (4:431f)
dw .Oak
dw .Oak
dw .Oak
dw .Oak
dw .Current
dw .Party
dw .Field
; 1035c
Function1032d: ; 1032d (4:432d)
.Oak: ; 1032d (4:432d)
ld hl, UnknownText_0x10af3
call Function10889
ret
Function10334: ; 10334 (4:4334)
.Current: ; 10334 (4:4334)
call DoItemEffect
ret
Function10338: ; 10338 (4:4338)
.Party: ; 10338 (4:4338)
ld a, [PartyCount]
and a
jr z, .asm_1034e
jr z, .NoPokemon
call DoItemEffect
xor a
ld [hBGMapMode], a ; $ff00+$d4
call Function10955
call Function1089a
call WaitBGMap_DrawPackGFX
call Function10a40
ret
.asm_1034e
.NoPokemon
ld hl, UnknownText_0x10af8
call Function10889
ret
Function10355: ; 10355 (4:4355)
.Field: ; 10355 (4:4355)
call DoItemEffect
ld a, [wd0ec]
and a
jr z, Function1032d
jr z, .Oak
ld a, $a
ld [wJumptableEntryIndexBuffer], a
ret
@ -529,26 +537,26 @@ Function1039d: ; 1039d
.asm_103aa
xor a
ld [wd0db], a
ld [wBallsPocketPointerLocation], a
ld [wd0e1], a
ret
.asm_103b2
xor a
ld [wd0d9], a
ld [wItemsPocketPointerLocation], a
ld [wd0df], a
ret
.asm_103ba
xor a
ld [wd0da], a
ld [wKeyItemsPocketPointerLocation], a
ld [wd0e0], a
ret
; 103c2
Function103c2: ; 103c2
callba CheckSelectableItem
ld a, [wd142]
ld a, [wItemAttributeParamBuffer]
and a
jr nz, .asm_103f6
ld a, [wcf65]
@ -625,7 +633,7 @@ Function103fd: ; 103fd
xor a
ld [hBGMapMode], a ; $ff00+$d4
call Function10955
call Function1089a
call WaitBGMap_DrawPackGFX
call Function10a40
ret
@ -701,24 +709,24 @@ Function104d9: ; 104d9 (4:44d9)
Function104e9: ; 104e9 (4:44e9)
xor a
ld [wcf65], a
call Function10a36
call Function109bb
call Function1089a
call ClearPocketList
call DrawPocketName
call WaitBGMap_DrawPackGFX
call Function10866
ret
Function104fa: ; 104fa (4:44fa)
ld hl, MenuDataHeader_0x10a4f
call CopyMenuDataHeader
ld a, [wd0d9]
ld [wcf88], a
ld a, [wItemsPocketPointerLocation]
ld [wPocketPointerLocationBuffer], a
ld a, [wd0df]
ld [wd0e4], a
call Function350c
ld a, [wd0e4]
ld [wd0df], a
ld a, [wcfa9]
ld [wd0d9], a
ld [wItemsPocketPointerLocation], a
ld b, $7
ld c, $3
call Function108d4
@ -729,24 +737,24 @@ Function104fa: ; 104fa (4:44fa)
Function10527: ; 10527 (4:4527)
ld a, $2
ld [wcf65], a
call Function10a36
call Function109bb
call Function1089a
call ClearPocketList
call DrawPocketName
call WaitBGMap_DrawPackGFX
call Function10866
ret
Function10539: ; 10539 (4:4539)
ld hl, MenuDataHeader_0x10a7f
call CopyMenuDataHeader
ld a, [wd0da]
ld [wcf88], a
ld a, [wKeyItemsPocketPointerLocation]
ld [wPocketPointerLocationBuffer], a
ld a, [wd0e0]
ld [wd0e4], a
call Function350c
ld a, [wd0e4]
ld [wd0e0], a
ld a, [wcfa9]
ld [wd0da], a
ld [wKeyItemsPocketPointerLocation], a
ld b, $3
ld c, $7
call Function108d4
@ -757,11 +765,11 @@ Function10539: ; 10539 (4:4539)
Function10566: ; 10566 (4:4566)
ld a, $3
ld [wcf65], a
call Function10a36
call Function109bb
call ClearPocketList
call DrawPocketName
xor a
ld [hBGMapMode], a ; $ff00+$d4
call Function1089a
call WaitBGMap_DrawPackGFX
ld hl, UnknownText_0x10b0c
call Function10889
call Function10866
@ -780,24 +788,24 @@ Function10581: ; 10581 (4:4581)
Function10594: ; 10594 (4:4594)
ld a, $1
ld [wcf65], a
call Function10a36
call Function109bb
call Function1089a
call ClearPocketList
call DrawPocketName
call WaitBGMap_DrawPackGFX
call Function10866
ret
Function105a6: ; 105a6 (4:45a6)
ld hl, MenuDataHeader_0x10aaf
call CopyMenuDataHeader
ld a, [wd0db]
ld [wcf88], a
ld a, [wBallsPocketPointerLocation]
ld [wPocketPointerLocationBuffer], a
ld a, [wd0e1]
ld [wd0e4], a
call Function350c
ld a, [wd0e4]
ld [wd0e1], a
ld a, [wcfa9]
ld [wd0db], a
ld [wBallsPocketPointerLocation], a
ld b, $1
ld c, $5
call Function108d4
@ -807,18 +815,18 @@ Function105a6: ; 105a6 (4:45a6)
Function105d3: ; 105d3 (4:45d3)
callba CheckItemContext
ld a, [wd142]
ld a, [wItemAttributeParamBuffer]
Function105dc: ; 105dc (4:45dc)
and a
jr z, .asm_105e7
ld hl, MenuDataHeader_0x10601
ld de, Jumptable_10614
jr .asm_105ed
.asm_105e7
ld hl, MenuDataHeader_0x10618
ld de, Jumptable_10627
.asm_105ed
jr z, .NoUse
ld hl, .UsableMenuDataHeader
ld de, .UsableJumptable
jr .proceed
.NoUse
ld hl, .UnusableMenuDataHeader
ld de, .UnusableJumptable
.proceed
push de
call LoadMenuDataHeader
call InterpretMenu2
@ -831,106 +839,108 @@ Function105dc: ; 105dc (4:45dc)
jp [hl]
; 10601 (4:4601)
MenuDataHeader_0x10601: ; 0x10601
.UsableMenuDataHeader: ; 0x10601
db $40 ; flags
db 07, 13 ; start coords
db 11, 19 ; end coords
dw MenuData2_0x10609
dw .UsableMenuData2
db 1 ; default option
; 0x10609
MenuData2_0x10609: ; 0x10609
.UsableMenuData2: ; 0x10609
db $c0 ; flags
db 2 ; items
db "USE@"
db "QUIT@"
; 0x10614
Jumptable_10614: ; 10614
dw Function10629
dw Function10689
.UsableJumptable: ; 10614
dw .Use
dw .Quit
; 10618
MenuDataHeader_0x10618: ; 0x10618
.UnusableMenuDataHeader: ; 0x10618
db $40 ; flags
db 09, 13 ; start coords
db 11, 19 ; end coords
dw MenuData2_0x10620
dw .UnusableMenuData2
db 1 ; default option
; 0x10620
MenuData2_0x10620: ; 0x10620
.UnusableMenuData2: ; 0x10620
db $c0 ; flags
db 1 ; items
db "QUIT@"
; 0x10627
Jumptable_10627: ; 10627
dw Function10689
.UnusableJumptable: ; 10627
dw .Quit
; 10629
Function10629: ; 10629
.Use: ; 10629
callba CheckItemContext
ld a, [wd142]
ld hl, Jumptable_10637
ld a, [wItemAttributeParamBuffer]
ld hl, .ItemFunctionJumptable
rst JumpTable
ret
Jumptable_10637: ; 10637 (4:4637)
dw Function10645
dw Function10645
dw Function10645
dw Function10645
dw Function1064c
dw Function10656
dw Function10671
.ItemFunctionJumptable: ; 10637 (4:4637)
dw .Oak
dw .Oak
dw .Oak
dw .Oak
dw .Unused
dw .BattleField
dw .BattleOnly
Function10645: ; 10645 (4:4645)
.Oak: ; 10645 (4:4645)
ld hl, UnknownText_0x10af3
call Function10889
ret
Function1064c: ; 1064c (4:464c)
.Unused: ; 1064c (4:464c)
call DoItemEffect
ld a, [wd0ec]
and a
jr nz, asm_1066c
jr nz, .asm_1066c
ret
Function10656: ; 10656 (4:4656)
.BattleField: ; 10656 (4:4656)
call DoItemEffect
ld a, [wd0ec]
and a
jr nz, asm_1067e
jr nz, .asm_1067e
xor a
ld [hBGMapMode], a ; $ff00+$d4
call Function10955
call Function1089a
call WaitBGMap_DrawPackGFX
call Function10a40
ret
asm_1066c: ; 1066c (4:466c)
call WhiteBGMap
jr asm_1067e
Function10671: ; 10671 (4:4671)
.asm_1066c: ; 1066c (4:466c)
call WhiteBGMap
jr .asm_1067e
.BattleOnly: ; 10671 (4:4671)
call DoItemEffect
ld a, [wd0ec]
and a
jr z, Function10645
jr z, .Oak
cp $2
jr z, asm_10684
asm_1067e: ; 1067e (4:467e)
jr z, .asm_10684
.asm_1067e: ; 1067e (4:467e)
ld a, $a
ld [wJumptableEntryIndexBuffer], a
ret
asm_10684: ; 10684 (4:4684)
.asm_10684: ; 10684 (4:4684)
xor a
ld [wd0ec], a
ret
; 10689 (4:4689)
Function10689: ; 10689
.Quit: ; 10689
ret
; 1068a
@ -982,74 +992,74 @@ Function106c7: ; 106c7
Jumptable_106d1: ; 106d1 (4:46d1)
dw Function106d9
dw Function1073b
dw Function106ff
dw Function10726
dw .ItemsPocket
dw .BallsPocket
dw .KeyItemsPocket
dw .TMHMPocket
Function106d9: ; 106d9 (4:46d9)
.ItemsPocket: ; 106d9 (4:46d9)
xor a
call Function10762
call InitPocket
ld hl, MenuDataHeader_0x10a67
call CopyMenuDataHeader
ld a, [wd0d9]
ld [wcf88], a
ld a, [wItemsPocketPointerLocation]
ld [wPocketPointerLocationBuffer], a
ld a, [wd0df]
ld [wd0e4], a
call Function350c
ld a, [wd0e4]
ld [wd0df], a
ld a, [wcfa9]
ld [wd0d9], a
ld [wItemsPocketPointerLocation], a
ret
Function106ff: ; 106ff (4:46ff)
.KeyItemsPocket: ; 106ff (4:46ff)
ld a, $2
call Function10762
call InitPocket
ld hl, MenuDataHeader_0x10a97
call CopyMenuDataHeader
ld a, [wd0da]
ld [wcf88], a
ld a, [wKeyItemsPocketPointerLocation]
ld [wPocketPointerLocationBuffer], a
ld a, [wd0e0]
ld [wd0e4], a
call Function350c
ld a, [wd0e4]
ld [wd0e0], a
ld a, [wcfa9]
ld [wd0da], a
ld [wKeyItemsPocketPointerLocation], a
ret
Function10726: ; 10726 (4:4726)
.TMHMPocket: ; 10726 (4:4726)
ld a, $3
call Function10762
call Function1089a
call InitPocket
call WaitBGMap_DrawPackGFX
callba Function2c76f
ld a, [CurItem]
ld [CurItem], a
ret
Function1073b: ; 1073b (4:473b)
.BallsPocket: ; 1073b (4:473b)
ld a, $1
call Function10762
call InitPocket
ld hl, MenuDataHeader_0x10ac7
call CopyMenuDataHeader
ld a, [wd0db]
ld [wcf88], a
ld a, [wBallsPocketPointerLocation]
ld [wPocketPointerLocationBuffer], a
ld a, [wd0e1]
ld [wd0e4], a
call Function350c
ld a, [wd0e4]
ld [wd0e1], a
ld a, [wcfa9]
ld [wd0db], a
ld [wBallsPocketPointerLocation], a
ret
Function10762: ; 10762 (4:4762)
InitPocket: ; 10762 (4:4762)
ld [wcf65], a
call Function10a36
call Function109bb
call Function1089a
call ClearPocketList
call DrawPocketName
call WaitBGMap_DrawPackGFX
ret
@ -1188,8 +1198,8 @@ MenuData2_0x10816: ; 0x10816
Function10826: ; 10826 (4:4826)
ld a, $3
call Function10762
call Function1089a
call InitPocket
call WaitBGMap_DrawPackGFX
callba Function2c76f
ld a, [CurItem]
ld [CurItem], a
@ -1221,7 +1231,7 @@ MenuData2_0x1084a: ; 0x1084a
Function1085a: ; 1085a (4:485a)
push hl
call Function10762
call InitPocket
pop hl
call CopyMenuDataHeader
call Function350c
@ -1268,23 +1278,23 @@ Function10889: ; 10889 (4:4889)
ld [Options], a
ret
Function1089a: ; 1089a (4:489a)
WaitBGMap_DrawPackGFX: ; 1089a (4:489a)
call WaitBGMap
Function1089d: ; 1089d
DrawPackGFX: ; 1089d
ld a, [wcf65]
and $3
ld e, a
ld d, $0
ld a, [BattleType]
cp BATTLETYPE_TUTORIAL
jr z, .asm_108b3
jr z, .male_dude
ld a, [PlayerGender]
bit 0, a
jr nz, .asm_108c5
jr nz, .female
.asm_108b3
.male_dude
ld hl, PackGFXPointers
rept 2
add hl, de
@ -1297,8 +1307,8 @@ endr
call Request2bpp
ret
.asm_108c5
callba Function48e81
.female
callba DrawKrisPackGFX
ret
; 108cc
@ -1412,13 +1422,13 @@ Function10955: ; 10955
inc a
dec c
jr nz, .asm_1098a
call Function109bb
call DrawPocketName
call Function109a5
hlcoord 0, 12
lb bc, 4, 18
call TextBox
call EnableLCD
call Function1089d
call DrawPackGFX
ret
; 109a5
@ -1440,7 +1450,7 @@ Function109a5: ; 109a5
ret
; 109bb
Function109bb: ; 109bb
DrawPocketName: ; 109bb
ld a, [wcf65]
; * 15
@ -1450,30 +1460,30 @@ Function109bb: ; 109bb
ld d, 0
ld e, a
ld hl, Tilemap_109e1
ld hl, .tilemap
add hl, de
ld d, h
ld e, l
hlcoord 0, 7
ld c, 3
.asm_109d0
.row
ld b, 5
.asm_109d2
.col
ld a, [de]
inc de
ld [hli], a
dec b
jr nz, .asm_109d2
jr nz, .col
ld a, c
ld c, 15
ld c, SCREEN_WIDTH - 5
add hl, bc
ld c, a
dec c
jr nz, .asm_109d0
jr nz, .row
ret
; 109e1
Tilemap_109e1: ; 109e1
.tilemap: ; 109e1
db $00, $04, $04, $04, $01, $06, $07, $08, $09, $0a, $02, $05, $05, $05, $03
db $00, $04, $04, $04, $01, $15, $16, $17, $18, $19, $02, $05, $05, $05, $03
db $00, $04, $04, $04, $01, $0b, $0c, $0d, $0e, $0f, $02, $05, $05, $05, $03
@ -1491,21 +1501,21 @@ Function10a1d: ; 10a1d
Function10a2a: ; 10a2a
hlcoord 0, 0
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
ld a, $7f
ld a, " "
call ByteFill
ret
; 10a36
Function10a36: ; 10a36 (4:4a36)
ClearPocketList: ; 10a36 (4:4a36)
hlcoord 5, 2
ld bc, $a0f
lb bc, 10, SCREEN_WIDTH - 5
call ClearBox
ret
Function10a40: ; 10a40
call WaitBGMap
ld b, $14
ld b, SCREEN_WIDTH
call GetSGBLayout
call Function32f9
call DelayFrame

884
engine/phone.asm Normal file
View File

@ -0,0 +1,884 @@
AddPhoneNumber:: ; 90000
call _CheckCellNum
jr c, .cant_add
call Phone_FindOpenSlot
jr nc, .cant_add
ld [hl], c
xor a
ret
.cant_add
scf
ret
; 9000f
DelCellNum:: ; 9000f
call _CheckCellNum
jr nc, .not_in_list
xor a
ld [hl], a
ret
.not_in_list
scf
ret
; 90019
CheckCellNum:: ; 90019
jp _CheckCellNum ; wtf
; 9001c
_CheckCellNum: ; 9001c
ld hl, wPhoneList
ld b, CONTACT_LIST_SIZE
.loop
ld a, [hli]
cp c
jr z, .got_it
dec b
jr nz, .loop
xor a
ret
.got_it
dec hl
scf
ret
; 9002d
Phone_FindOpenSlot: ; 9002d
call GetRemainingSpaceInPhoneList
ld b, a
ld hl, wPhoneList
.loop
ld a, [hli]
and a
jr z, .FoundOpenSpace
dec b
jr nz, .loop
xor a
ret
.FoundOpenSpace
dec hl
scf
ret
; 90040
GetRemainingSpaceInPhoneList: ; 90040
xor a
ld [Buffer1], a
ld hl, PermanentNumbers
.loop
ld a, [hli]
cp -1
jr z, .done
cp c
jr z, .elm_or_mom
push bc
push hl
ld c, a
call _CheckCellNum
jr c, .elm_or_mom_in_list
ld hl, Buffer1
inc [hl]
.elm_or_mom_in_list
pop hl
pop bc
.elm_or_mom
jr .loop
.done
ld a, CONTACT_LIST_SIZE
ld hl, Buffer1
sub [hl]
ret
; 90066
PermanentNumbers: ; 90066
db MOM_PHONE, ELM_PHONE, -1
; 90069
FarPlaceString: ; 90069
ld a, [hROMBank]
push af
ld a, b
rst Bankswitch
call PlaceString
pop af
rst Bankswitch
ret
; 90074
CheckPhoneCall:: ; 90074 (24:4074)
; Check if the phone is ringing in the overworld.
call CheckStandingOnEntrance
jr z, .no_call
call .timecheck
nop
jr nc, .no_call
call Random
ld b, a
and 50 percent
cp b
jr nz, .no_call
call GetMapHeaderPhoneServiceNybble
and a
jr nz, .no_call
call GetAvailableCallers
call ChooseRandomCaller
jr nc, .no_call
ld e, a
call LoadCallerScript
ld a, BANK(Script_ReceivePhoneCall)
ld hl, Script_ReceivePhoneCall
call CallScript
scf
ret
.no_call
xor a
ret
.timecheck: ; 900a6 (24:40a6)
callba CheckReceiveCallTimer
ret
CheckPhoneContactTimeOfDay: ; 900ad (24:40ad)
push hl
push bc
push de
push af
callba CheckTime
pop af
and (1 << MORN) + (1 << DAY) + (1 << NITE)
and c
pop de
pop bc
pop hl
ret
ChooseRandomCaller: ; 900bf (24:40bf)
; If no one is available to call, don't return anything.
ld a, [EngineBuffer3]
and a
jr z, .NothingToSample
; Sample a random number between 0 and 31.
ld c, a
call Random
ld a, [hRandomAdd] ; $ff00+$e1
swap a
and $1f
; Compute that number modulo the number of available callers.
call SimpleDivide
; Return the caller ID you just sampled.
ld c, a
ld b, 0
ld hl, EngineBuffer4
add hl, bc
ld a, [hl]
scf
ret
.NothingToSample
xor a
ret
GetAvailableCallers: ; 900de (24:40de)
callba CheckTime
ld a, c
ld [EngineBuffer1], a ; wd03e (aliases: MenuItemsList, CurFruitTree, CurInput)
ld hl, EngineBuffer3
ld bc, 11
xor a
call ByteFill
ld de, wPhoneList
ld a, CONTACT_LIST_SIZE
.loop
ld [EngineBuffer2], a
ld a, [de]
and a
jr z, .not_good_for_call
ld hl, PhoneContacts + PHONE_CONTACT_SCRIPT2_TIME
ld bc, PHONE_TABLE_WIDTH
call AddNTimes
ld a, [EngineBuffer1] ; wd03e (aliases: MenuItemsList, CurFruitTree, CurInput)
and [hl]
jr z, .not_good_for_call
ld bc, PHONE_CONTACT_MAP_GROUP - PHONE_CONTACT_SCRIPT2_TIME
add hl, bc
ld a, [MapGroup]
cp [hl]
jr nz, .different_map
inc hl
ld a, [MapNumber]
cp [hl]
jr z, .not_good_for_call
.different_map
ld a, [EngineBuffer3]
ld c, a
ld b, $0
inc a
ld [EngineBuffer3], a
ld hl, EngineBuffer4
add hl, bc
ld a, [de]
ld [hl], a
.not_good_for_call
inc de
ld a, [EngineBuffer2]
dec a
jr nz, .loop
ret
CheckSpecialPhoneCall:: ; 90136 (24:4136)
ld a, [wSpecialPhoneCallID]
and a
jr z, .NoPhoneCall
dec a
ld c, a
ld b, 0
ld hl, SpecialPhoneCallList
ld a, 6
call AddNTimes
ld a, [hli]
ld h, [hl]
ld l, a
call _hl_
jr nc, .NoPhoneCall
call .DoSpecialPhoneCall
rept 2
inc hl
endr
ld a, [hli]
ld e, a
push hl
call LoadCallerScript
pop hl
ld de, wd048
ld a, [hli]
ld [de], a
inc de
ld a, [hli]
ld [de], a
inc de
ld a, [hli]
ld [de], a
ld a, BANK(.script)
ld hl, .script
call CallScript
scf
ret
.NoPhoneCall
xor a
ret
; 90173 (24:4173)
.script: ; 0x90173
pause 30
jump Script_ReceivePhoneCall
; 0x90178
.DoSpecialPhoneCall: ; 90178 (24:4178)
ld a, [wSpecialPhoneCallID]
dec a
ld c, a
ld b, 0
ld hl, SpecialPhoneCallList
ld a, 6
call AddNTimes
ret
SpecialCallOnlyWhenOutside: ; 90188
ld a, [wPermission]
cp TOWN
jr z, .outside
cp ROUTE
jr z, .outside
xor a
ret
.outside
scf
ret
SpecialCallWhereverYouAre: ; 90197
scf
ret
Function90199: ; 90199 (24:4199)
; Don't do the call if you're in a link communication
ld a, [wLinkMode]
and a
jr nz, .OutOfArea
; If you're in an area without phone service, don't do the call
call GetMapHeaderPhoneServiceNybble
and a
jr nz, .OutOfArea
; If the person can't take a call at that time, don't do the call
ld a, b
ld [wCurrentCaller], a
ld hl, PhoneContacts
ld bc, PHONE_TABLE_WIDTH
call AddNTimes
ld d, h
ld e, l
ld hl, PHONE_CONTACT_SCRIPT1_TIME
add hl, de
ld a, [hl]
call CheckPhoneContactTimeOfDay
jr z, .OutOfArea
; If we're in the same map as the person we're calling,
; use the "Just talk to that person" script.
ld hl, PHONE_CONTACT_MAP_GROUP
add hl, de
ld a, [MapGroup]
cp [hl]
jr nz, .GetPhoneScript
ld hl, PHONE_CONTACT_MAP_NUMBER
add hl, de
ld a, [MapNumber]
cp [hl]
jr nz, .GetPhoneScript
ld b, BANK(PhoneScript_JustTalkToThem)
ld hl, PhoneScript_JustTalkToThem
jr .DoPhoneCall
.GetPhoneScript
ld hl, PHONE_CONTACT_SCRIPT1_BANK
add hl, de
ld b, [hl]
ld hl, PHONE_CONTACT_SCRIPT1_ADDR_LO
add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
jr .DoPhoneCall
.OutOfArea
ld b, BANK(UnknownScript_0x90209)
ld de, UnknownScript_0x90209
call ExecuteCallbackScript
ret
.DoPhoneCall
ld a, b
ld [wd002], a
ld a, l
ld [wd003], a
ld a, h
ld [wd004], a
ld b, BANK(UnknownScript_0x90205)
ld de, UnknownScript_0x90205
call ExecuteCallbackScript
ret
; 90205 (24:4205)
UnknownScript_0x90205: ; 0x90205
ptcall wd002
return
; 0x90209
UnknownScript_0x90209: ; 0x90209
scall UnknownScript_0x90657
return
; 0x9020d
LoadCallerScript: ; 9020d (24:420d)
nop
nop
ld a, e
ld [wCurrentCaller], a
and a
jr nz, .actualcaller
ld a, BANK(WrongNumber)
ld hl, WrongNumber
jr .proceed
.actualcaller
ld hl, PhoneContacts
ld bc, 12
ld a, e
call AddNTimes
ld a, BANK(PhoneContacts)
.proceed
ld de, EngineBuffer2
ld bc, 12
call FarCopyBytes
ret
; 90233 (24:4233)
WrongNumber: ; 90233
db PHONE, PHONE_00
dba .script
.script:
writetext .text
end
.text:
; Huh? Sorry, wrong number!
text_jump UnknownText_0x1c5565
db "@"
; 90241
Script_ReceivePhoneCall: ; 0x90241
refreshscreen $0
callasm RingTwice_StartCall
ptcall wd048
closetext
callasm HangUp
loadmovesprites
callasm InitCallReceiveDelay
end
; 0x90255
Script_SpecialBillCall:: ; 0x90255
callasm Function9025c
jump Script_ReceivePhoneCall
; 0x9025c
Function9025c: ; 9025c
ld e, PHONE_BILL
jp LoadCallerScript
; 90261
UnknownScript_0x90261: ; 0x90261
callasm Function9026a
pause 30
jump Script_ReceivePhoneCall
; 0x9026a
Function9026a: ; 9026a
ld e, PHONE_ELM
jp LoadCallerScript
; 9026f
RingTwice_StartCall: ; 9026f
call .Ring
call .Ring
callba MobileFn_1060d3
ret
; 9027c
.Ring: ; 9027c (24:427c)
call Phone_StartRinging
call Phone_Wait20Frames
call Phone_CallerTextboxWithName
call Phone_Wait20Frames
call Phone_CallerTextbox
call Phone_Wait20Frames
call Phone_CallerTextboxWithName
ret
Phone_CallerTextboxWithName: ; 90292 (24:4292)
ld a, [wCurrentCaller]
ld b, a
call Function90363
ret
PhoneCall:: ; 9029a
ld a, b
ld [PhoneScriptBank], a
ld a, e
ld [PhoneCallerLo], a
ld a, d
ld [PhoneCallerHi], a
call Phone_FirstOfTwoRings
call Phone_FirstOfTwoRings
callba MobileFn_1060d3
ret
; 902b3
Phone_FirstOfTwoRings: ; 902b3
call Phone_StartRinging
call Phone_Wait20Frames
call Phone_CallerTextboxWithName2
call Phone_Wait20Frames
call Phone_CallerTextbox
call Phone_Wait20Frames
call Phone_CallerTextboxWithName2
ret
; 902c9
Phone_CallerTextboxWithName2: ; 902c9
call Phone_CallerTextbox
hlcoord 1, 2
ld [hl], $62
rept 2
inc hl
endr
ld a, [PhoneScriptBank]
ld b, a
ld a, [PhoneCallerLo]
ld e, a
ld a, [PhoneCallerHi]
ld d, a
call FarPlaceString
ret
; 902e3
Phone_NoSignal: ; 902e3 (24:42e3)
ld de, SFX_NO_SIGNAL
call PlaySFX
jr Phone_CallEnd
HangUp:: ; 902eb
call HangUp_Beep
call HangUp_Wait20Frames
Phone_CallEnd:
call HangUp_BoopOn
call HangUp_Wait20Frames
call HangUp_BoopOff
call HangUp_Wait20Frames
call HangUp_BoopOn
call HangUp_Wait20Frames
call HangUp_BoopOff
call HangUp_Wait20Frames
call HangUp_BoopOn
call HangUp_Wait20Frames
call HangUp_BoopOff
call HangUp_Wait20Frames
ret
; 90316
Function90316: ; 90316
ld de, SFX_SHUT_DOWN_PC
call PlaySFX
ret
; 9031d
HangUp_Beep: ; 9031d
ld hl, UnknownText_0x9032a
call PrintText
ld de, SFX_HANG_UP
call PlaySFX
ret
; 9032a
UnknownText_0x9032a: ; 9032a
text_jump UnknownText_0x1c5580
db "@"
; 9032f
HangUp_BoopOn: ; 9032f
ld hl, UnknownText_0x90336
call PrintText
ret
; 90336
UnknownText_0x90336: ; 0x90336
text_jump UnknownText_0x1c5588
db "@"
; 0x9033b
HangUp_BoopOff: ; 9033b
call SpeechTextBox
ret
; 9033f
Phone_StartRinging: ; 9033f
call WaitSFX
ld de, SFX_CALL
call PlaySFX
call Phone_CallerTextbox
call UpdateSprites
callba Function4d188
ret
; 90355
HangUp_Wait20Frames: ; 90355
jr Phone_Wait20Frames
Phone_Wait20Frames
ld c, 20
call DelayFrames
callba Function4d188
ret
; 90363
Function90363: ; 90363 (24:4363)
push bc
call Phone_CallerTextbox
hlcoord 1, 1
ld [hl], $62
rept 2
inc hl
endr
ld d, h
ld e, l
pop bc
call Function90380
ret
Phone_CallerTextbox: ; 90375
hlcoord 0, 0
ld b, 2
ld c, SCREEN_WIDTH - 2
call TextBox
ret
; 90380
Function90380: ; 90380 (24:4380)
ld h, d
ld l, e
ld a, b
call GetCallerTrainerClass
call GetCallerName
ret
Function9038a: ; 9038a (24:438a)
ld a, c
call GetCallerTrainerClass
ld a, c
ret nz
ld a, b
cp $1
ret z
cp $4
ret z
ld c, $1
ret
GetCallerTrainerClass: ; 9039a
push hl
ld hl, PhoneContacts + PHONE_CONTACT_TRAINER_CLASS
ld bc, PHONE_TABLE_WIDTH
call AddNTimes
ld a, [hli]
ld b, [hl]
ld c, a
pop hl
ret
; 903a9
GetCallerName: ; 903a9 (24:43a9)
ld a, c
and a
jr z, .NotTrainer
call Phone_GetTrainerName
push hl
push bc
call PlaceString
ld a, ":"
ld [bc], a
pop bc
pop hl
ld de, SCREEN_WIDTH + 3
add hl, de
call Phone_GetTrainerClassName
call PlaceString
ret
.NotTrainer
push hl
ld c, b
ld b, 0
ld hl, NonTrainerCallerNames
rept 2
add hl, bc
endr
ld a, [hli]
ld e, a
ld d, [hl]
pop hl
call PlaceString
ret
; 903d6 (24:43d6)
NonTrainerCallerNames: ; 903d6
dw .none
dw .mom
dw .bikeshop
dw .bill
dw .elm
dw .buena
.none: db "----------@"
.mom: db "MOM:@"
.bill: db "BILL:@"
.elm: db "PROF.ELM:@"
.bikeshop: db "BIKE SHOP:@"
.buena: db "BUENA:", $22, " DISC JOCKEY@"
; 90423
Phone_GetTrainerName: ; 90423 (24:4423)
push hl
push bc
callba GetTrainerName
pop bc
pop hl
ret
Phone_GetTrainerClassName: ; 9042e (24:442e)
push hl
push bc
callba GetTrainerClassName
pop bc
pop hl
ret
GetCallerLocation: ; 90439
ld a, [wCurrentCaller]
call GetCallerTrainerClass
ld d, c
ld e, b
push de
ld a, [wCurrentCaller]
ld hl, PhoneContacts + PHONE_CONTACT_MAP_GROUP
ld bc, PHONE_TABLE_WIDTH
call AddNTimes
ld b, [hl]
inc hl
ld c, [hl]
push bc
call GetWorldMapLocation
ld e, a
callba GetLandmarkName
pop bc
pop de
ret
; 9045f
PhoneContacts: ; 9045f
phone: MACRO
db \1, \2 ; trainer
map \3 ; map
db \4
dba \5 ; script 1
db \6
dba \7 ; script 2
ENDM
phone PHONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
phone PHONE, MOM_PHONE, KRISS_HOUSE_1F, 7, MomPhoneScript, 0, UnusedPhoneScript
phone PHONE, OAK_PHONE, OAKS_LAB, 0, UnusedPhoneScript, 0, UnusedPhoneScript
phone PHONE, BILL_PHONE, N_A, 7, BillPhoneScript1, 0, BillPhoneScript2
phone PHONE, ELM_PHONE, ELMS_LAB, 7, ElmPhoneScript1, 0, ElmPhoneScript2
phone SCHOOLBOY, JACK1, NATIONAL_PARK, 7, JackPhoneScript1, 7, JackPhoneScript2
phone POKEFANF, BEVERLY1, NATIONAL_PARK, 7, BeverlyPhoneScript1, 7, BeverlyPhoneScript2
phone SAILOR, HUEY1, OLIVINE_LIGHTHOUSE_2F, 7, HueyPhoneScript1, 7, HueyPhoneScript2
phone PHONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
phone PHONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
phone PHONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
phone COOLTRAINERM, GAVEN3, ROUTE_26, 7, GavenPhoneScript1, 7, GavenPhoneScript2
phone COOLTRAINERF, BETH1, ROUTE_26, 7, BethPhoneScript1, 7, BethPhoneScript2
phone BIRD_KEEPER, JOSE2, ROUTE_27, 7, JosePhoneScript1, 7, JosePhoneScript2
phone COOLTRAINERF, REENA1, ROUTE_27, 7, ReenaPhoneScript1, 7, ReenaPhoneScript2
phone YOUNGSTER, JOEY1, ROUTE_30, 7, JoeyPhoneScript1, 7, JoeyPhoneScript2
phone BUG_CATCHER, WADE1, ROUTE_31, 7, WadePhoneScript1, 7, WadePhoneScript2
phone FISHER, RALPH1, ROUTE_32, 7, RalphPhoneScript1, 7, RalphPhoneScript2
phone PICNICKER, LIZ1, ROUTE_32, 7, LizPhoneScript1, 7, LizPhoneScript2
phone HIKER, ANTHONY2, ROUTE_33, 7, AnthonyPhoneScript1, 7, AnthonyPhoneScript2
phone CAMPER, TODD1, ROUTE_34, 7, ToddPhoneScript1, 7, ToddPhoneScript2
phone PICNICKER, GINA1, ROUTE_34, 7, GinaPhoneScript1, 7, GinaPhoneScript2
phone JUGGLER, IRWIN1, ROUTE_35, 7, IrwinPhoneScript1, 7, IrwinPhoneScript2
phone BUG_CATCHER, ARNIE1, ROUTE_35, 7, ArniePhoneScript1, 7, ArniePhoneScript2
phone SCHOOLBOY, ALAN1, ROUTE_36, 7, AlanPhoneScript1, 7, AlanPhoneScript2
phone PHONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
phone LASS, DANA1, ROUTE_38, 7, DanaPhoneScript1, 7, DanaPhoneScript2
phone SCHOOLBOY, CHAD1, ROUTE_38, 7, ChadPhoneScript1, 7, ChadPhoneScript2
phone POKEFANM, DEREK1, ROUTE_39, 7, DerekPhoneScript1, 7, DerekPhoneScript2
phone FISHER, TULLY1, ROUTE_42, 7, TullyPhoneScript1, 7, TullyPhoneScript2
phone POKEMANIAC, BRENT1, ROUTE_43, 7, BrentPhoneScript1, 7, BrentPhoneScript2
phone PICNICKER, TIFFANY3, ROUTE_43, 7, TiffanyPhoneScript1, 7, TiffanyPhoneScript2
phone BIRD_KEEPER, VANCE1, ROUTE_44, 7, VancePhoneScript1, 7, VancePhoneScript2
phone FISHER, WILTON1, ROUTE_44, 7, WiltonPhoneScript1, 7, WiltonPhoneScript2
phone BLACKBELT_T, KENJI3, ROUTE_45, 7, KenjiPhoneScript1, 7, KenjiPhoneScript2
phone HIKER, PARRY1, ROUTE_45, 7, ParryPhoneScript1, 7, ParryPhoneScript2
phone PICNICKER, ERIN1, ROUTE_46, 7, ErinPhoneScript1, 7, ErinPhoneScript2
phone PHONE, BUENA_PHONE, GOLDENROD_DEPT_STORE_ROOF, 7, BuenaPhoneScript1, 7, BuenaPhoneScript2
; 90627
SpecialPhoneCallList: ; 90627
dw SpecialCallOnlyWhenOutside
db PHONE_ELM
dba ElmPhoneScript2
dw SpecialCallOnlyWhenOutside
db PHONE_ELM
dba ElmPhoneScript2
dw SpecialCallOnlyWhenOutside
db PHONE_ELM
dba ElmPhoneScript2
dw SpecialCallOnlyWhenOutside
db PHONE_ELM
dba ElmPhoneScript2
dw SpecialCallWhereverYouAre
db PHONE_ELM
dba ElmPhoneScript2
dw SpecialCallWhereverYouAre
db PHONE_OAK ; ????????
dba BikeShopPhoneScript ; bike shop
dw SpecialCallWhereverYouAre
db PHONE_MOM
dba MomPhoneLectureScript
dw SpecialCallOnlyWhenOutside
db PHONE_ELM
dba ElmPhoneScript2
; 90657
UnknownScript_0x90657: ; 0x90657
writetext UnknownText_0x9065b
end
; 0x9065b
UnknownText_0x9065b: ; 0x9065b
; That number is out of the area.
text_jump UnknownText_0x1c558b
db "@"
; 0x90660
PhoneScript_JustTalkToThem: ; 0x90660
writetext UnknownText_0x90664
end
; 0x90664
UnknownText_0x90664: ; 0x90664
; Just go talk to that person!
text_jump UnknownText_0x1c55ac
db "@"
; 0x90669
UnknownScript_0x90669: ; 0x90669
writetext UnknownText_0x9066d
end
; 0x9066d
UnknownText_0x9066d: ; 0x9066d
; Thank you!
text_jump UnknownText_0x1c55ca
db "@"
; 0x90672

View File

@ -141,7 +141,7 @@ MomPhoneNoGymQuestScript: ; 0xbcfac
MomPhoneLectureScript: ; 0xbcfb1
setevent EVENT_TALKED_TO_MOM_AFTER_MYSTERY_EGG_QUEST
setflag ENGINE_DST
specialphonecall ELMCALL_NONE
specialphonecall SPECIALCALL_NONE
farwritetext MomPhoneLectureText
yesorno
iftrue MomPhoneSaveMoneyScript
@ -194,7 +194,7 @@ BillPhoneScript2: ; 0xbd007
; Elm
ElmPhoneScript1: ; 0xbd00d
checkcode VAR_POKERUS
checkcode VAR_SPECIALPHONECALL
if_equal $1, .pokerus
checkevent EVENT_SHOWED_TOGEPI_TO_ELM
iftrue .discovery
@ -253,46 +253,46 @@ ElmPhoneScript1: ; 0xbd00d
.pokerus ; 0xbd079
farwritetext ElmPhonePokerusText
specialphonecall ELMCALL_NONE
specialphonecall SPECIALCALL_NONE
end
ElmPhoneScript2: ; 0xbd081
checkcode VAR_POKERUS
checkcode VAR_SPECIALPHONECALL
if_equal $2, .disaster
if_equal $3, .assistant
if_equal $4, .rocket
if_equal $5, .gift
if_equal $8, .gift
farwritetext ElmPhonePokerusText
specialphonecall ELMCALL_NONE
specialphonecall SPECIALCALL_NONE
end
.disaster ; 0xbd09f
farwritetext ElmPhoneDisasterText
specialphonecall ELMCALL_NONE
specialphonecall SPECIALCALL_NONE
setevent EVENT_ELM_CALLED_ABOUT_STOLEN_POKEMON
end
.assistant ; 0xbd0aa
farwritetext ElmPhoneEggAssistantText
specialphonecall ELMCALL_NONE
specialphonecall SPECIALCALL_NONE
clearevent EVENT_ELMS_AIDE_IN_VIOLET_POKEMON_CENTER
setevent EVENT_ELMS_AIDE_IN_LAB
end
.rocket ; 0xbd0b8
farwritetext ElmPhoneRocketText
specialphonecall ELMCALL_NONE
specialphonecall SPECIALCALL_NONE
end
.gift ; 0xbd0c0
farwritetext ElmPhoneGiftText
specialphonecall ELMCALL_NONE
specialphonecall SPECIALCALL_NONE
end
.unused ; 0xbd0c8
farwritetext ElmPhoneUnusedText
specialphonecall ELMCALL_NONE
specialphonecall SPECIALCALL_NONE
end
; bd0d0

View File

@ -1707,7 +1707,7 @@ BuenasPassword3: ; b8f47 (2e:4f47)
BuenasPassword4: ; b8f55 (2e:4f55)
call BuenasPasswordCheckMidnight
jp c, BuenasPassword8
ld a, [wdc4a]
ld a, [wBuenasPassword]
; If we already generated the password today, we don't need to generate a new one.
ld hl, WeeklyFlags
bit 7, [hl]
@ -1727,9 +1727,9 @@ BuenasPassword4: ; b8f55 (2e:4f55)
and $3
cp $3
jr nc, .greater_than_three
; The high nybble of wdc4a will now contain the password group index, and the low nybble contains the actual password.
; The high nybble of wBuenasPassword will now contain the password group index, and the low nybble contains the actual password.
add e
ld [wdc4a], a
ld [wBuenasPassword], a
; Set the flag so that we don't generate a new password this week.
ld hl, WeeklyFlags
set 7, [hl]

View File

@ -529,7 +529,7 @@ Script_interpretmenu: ; 0x96f41
ld a, [ScriptBank]
ld hl, InterpretMenu
rst FarCall
ld a, [wcf88]
ld a, [wPocketPointerLocationBuffer]
jr nc, .ok
xor a
.ok
@ -651,7 +651,7 @@ Script_specialsound: ; 0x96fe4
; script command 0x88
callba CheckItemPocket
ld a, [wd142]
ld a, [wItemAttributeParamBuffer]
cp TM_HM
ld de, SFX_GET_TM
jr z, .play
@ -665,7 +665,7 @@ Script_specialsound: ; 0x96fe4
GetPocketName: ; 96ffe
callba CheckItemPocket
ld a, [wd142]
ld a, [wItemAttributeParamBuffer]
dec a
ld hl, .Pockets
and 3
@ -1338,12 +1338,12 @@ Script_moveperson: ; 0x97341
call GetScriptPerson
ld b, a
call GetScriptByte
add $4
add 4
ld d, a
call GetScriptByte
add $4
add 4
ld e, a
callba Function807e
callba CopyDECoordsToMapObject
ret
; 0x9735b
@ -1385,10 +1385,10 @@ Script_loademote: ; 0x97384
; bubble (SingleByteParam)
call GetScriptByte
cp $ff
jr nz, .asm_9738e ; 0x97389 $3
cp -1
jr nz, .not_var_emote ; 0x97389 $3
ld a, [ScriptVar]
.asm_9738e
.not_var_emote
ld c, a
callba Function1442f
ret
@ -1417,7 +1417,7 @@ Script_showemote: ; 0x97396
; 0x973b6
ShowEmoteScript: ; 973b6
loademote $ff
loademote -1
applymovement2 .Show
pause 0
applymovement2 .Hide
@ -1448,12 +1448,12 @@ Script_earthquake: ; 0x973c7
ld [wd003], a
and $3f
ld [wd005], a
ld b, BANK(UnknownScript_0x973e6)
ld de, UnknownScript_0x973e6
ld b, BANK(.script)
ld de, .script
jp ScriptCall
; 0x973e6
UnknownScript_0x973e6: ; 973e6
.script: ; 973e6
applymovement PLAYER, wd002
end
; 973eb
@ -1487,7 +1487,7 @@ Script_battlecheck: ; 0x973fb
Script_loadtrainerdata: ; 0x97400
; script command 0x5c
ld a, $81
ld a, (1 << 7) | 1
ld [wd459], a
ld a, [WalkingDirection]
ld [OtherTrainerClass], a
@ -1502,7 +1502,7 @@ Script_loadpokedata: ; 0x97412
; pokemon (PokemonParam)
; level (DecimalParam)
ld a, $80
ld a, (1 << 7)
ld [wd459], a
call GetScriptByte
ld [TempWildMonSpecies], a
@ -1517,7 +1517,7 @@ Script_loadtrainer: ; 0x97424
; trainer_group (TrainerGroupParam)
; trainer_id (TrainerIdParam)
ld a, $81
ld a, (1 << 7) | 1
ld [wd459], a
call GetScriptByte
ld [OtherTrainerClass], a
@ -1531,7 +1531,7 @@ Script_startbattle: ; 0x97436
call BufferScreen
predef StartBattle
ld a, [wd0ee]
ld a, [wBattleResult]
and $3f
ld [ScriptVar], a
ret
@ -1555,7 +1555,7 @@ Script_returnafterbattle: ; 0x97459
ld hl, wd459
ld d, [hl]
ld [hl], $0
ld a, [wd0ee]
ld a, [wBattleResult]
and $3f
cp $1
jr nz, .notblackedout ; 0x97466 $8
@ -1565,17 +1565,17 @@ Script_returnafterbattle: ; 0x97459
.notblackedout
bit 0, d
jr z, .asm_9747c ; 0x97472 $8
jr z, .was_wild ; 0x97472 $8
callba MomTriesToBuySomething
jr .done ; 0x9747a $12
.asm_9747c
ld a, [wd0ee]
.was_wild
ld a, [wBattleResult]
bit 7, a
jr z, .done ; 0x97481 $b
ld b, BANK(Script_SpecialBillCall)
ld de, Script_SpecialBillCall
callba Function97c4f
callba LoadScriptBDE
.done
jp Script_reloadmap
; 0x97491
@ -1585,7 +1585,7 @@ Script_reloadmap: ; 0x97491
xor a
ld [wd459], a
ld a, $f3
ld a, ($f << 4) + MAPSETUP_03
ld [hMapEntryMethod], a
ld a, $1
call LoadMapStatus
@ -2813,10 +2813,10 @@ Script_warpfacing: ; 0x97a0e
call GetScriptByte
and $3
ld c, a
ld a, [wd45b]
ld a, [wPlayerSpriteSetupFlags]
set 5, a
or c
ld [wd45b], a
ld [wPlayerSpriteSetupFlags], a
; fall through
Script_warp: ; 0x97a1d
@ -2840,7 +2840,7 @@ Script_warp: ; 0x97a1d
ld [YCoord], a
ld a, -1
ld [wd001], a
ld a, -15
ld a, ($f << 4) + MAPSETUP_01
ld [hMapEntryMethod], a
ld a, 1
call LoadMapStatus
@ -2852,7 +2852,7 @@ Script_warp: ; 0x97a1d
call GetScriptByte
ld a, -1
ld [wd001], a
ld a, -5
ld a, ($f << 4) + MAPSETUP_11
ld [hMapEntryMethod], a
ld a, 1
call LoadMapStatus
@ -2968,7 +2968,7 @@ Script_reloadmappart:: ; 0x97ae3
; script command 0x7c
xor a
ld [$ffd4], a
ld [hBGMapMode], a
call Function2173
call Function2914
callba Function104061
@ -3046,7 +3046,7 @@ Script_loadmovesprites: ; 0x97b2f
; script command 0x49
call Function2e20
call Function2dcf
call LoadMoveSprites
ret
; 0x97b36

View File

@ -88,7 +88,7 @@ SpecialsPointers:: ; c029
add_special Special_FindAtLeastThatHappy
add_special Special_FindThatSpecies
add_special Special_FindThatSpeciesYourTrainerID
add_special Functionc3ef ; unreferenced
add_special Special_CheckUnusedTwoDayTimer ; unreferenced
add_special Special_DayCareMon1
add_special Special_DayCareMon2
add_special Special_SelectRandomBugContestContestants
@ -169,7 +169,7 @@ SpecialsPointers:: ; c029
add_special SpecialBuenasPassword
add_special SpecialBuenaPrize
add_special SpecialDratini
add_special Function11485
add_special Special_SampleKenjiBreakCountdown
add_special SpecialBeastsCheck
add_special SpecialMonCheck
add_special Functionc225
@ -482,9 +482,9 @@ ScriptReturnCarry: ; c3e2
ret
; c3ef
Functionc3ef: ; c3ef
callba Function1150c
ld a, [wdc3a]
Special_CheckUnusedTwoDayTimer: ; c3ef
callba CheckUnusedTwoDayTimer
ld a, [wUnusedTwoDayTimer]
ld [ScriptVar], a
ret
; c3fc
@ -523,7 +523,7 @@ SpecialCheckPokerus: ; c419
; c422
Special_ResetLuckyNumberShowFlag: ; c422
callba Function1152b
callba RestartLuckyNumberCountdown
ld hl, wLuckyNumberShowFlag
res 0, [hl]
callba LoadOrRegenerateLuckyIDNumber

View File

@ -159,7 +159,7 @@ PokeCenterNurseScript:
.pokerus_done
setflag ENGINE_POKERUS
specialphonecall ELMCALL_POKERUS
specialphonecall SPECIALCALL_POKERUS
end
DifficultBookshelfScript:
@ -297,7 +297,7 @@ RadioTowerRocketsScript:
clearevent EVENT_RADIO_TOWER_ROCKET_TAKEOVER
clearevent EVENT_USED_THE_CARD_KEY_IN_THE_RADIO_TOWER
setevent EVENT_MAHOGANY_TOWN_POKEFAN_M_BLOCKS_EAST
specialphonecall ELMCALL_WEIRDBROADCAST
specialphonecall SPECIALCALL_WEIRDBROADCAST
domaptrigger MAHOGANY_TOWN, $1
end

View File

@ -1,103 +1,103 @@
Function113d6: ; 113d6
call Function114dd
_InitializeStartDay: ; 113d6
call InitializeStartDay
ret
; 113da
Function113da: ; 113da
ClearDailyTimers: ; 113da
xor a
ld [wLuckyNumberDayBuffer], a
ld [wdc3a], a
ld [wdc1c], a
ld [wUnusedTwoDayTimer], a
ld [wDailyResetTimer], a
ret
; 113e5
Function113e5:: ; 113e5
InitCallReceiveDelay:: ; 113e5
xor a
ld [wd464], a
ld [wTimeCyclesSinceLastCall], a
Function113e9: ; 113e9
ld a, [wd464]
NextCallReceiveDelay: ; 113e9
ld a, [wTimeCyclesSinceLastCall]
cp 3
jr c, .asm_113f2
jr c, .okay
ld a, 3
.asm_113f2
.okay
ld e, a
ld d, 0
ld hl, .data_113fd
ld hl, .ReceiveCallDelays
add hl, de
ld a, [hl]
jp Function1142e
jp RestartReceiveCallDelay
; 113fd
.data_113fd
.ReceiveCallDelays
db 20, 10, 5, 3
; 11401
Function11401: ; 11401
call Function1143c
CheckReceiveCallTimer: ; 11401
call CheckReceiveCallDelay ; check timer
ret nc
ld hl, wd464
ld hl, wTimeCyclesSinceLastCall
ld a, [hl]
cp 3
jr nc, .asm_1140e
jr nc, .ok
inc [hl]
.asm_1140e
call Function113e9
.ok
call NextCallReceiveDelay ; restart timer
scf
ret
; 11413
Function11413: ; 11413
InitOneDayCountdown: ; 11413
ld a, 1
Function11415: ; 11415
InitNDaysCountdown: ; 11415
ld [hl], a
push hl
call UpdateTime
pop hl
inc hl
call Function11621
call CopyDayToHL
ret
; 11420
CheckDayDependentEventHL: ; 11420
inc hl
push hl
call Function115cf
call Function115c8
call CalcDaysSince
call GetDaysSince
pop hl
dec hl
call Function11586
call UpdateTimeRemaining
ret
; 1142e
Function1142e: ; 1142e
ld hl, wd465
RestartReceiveCallDelay: ; 1142e
ld hl, wReceiveCallDelay_MinsRemaining
ld [hl], a
call UpdateTime
ld hl, wd466
call Function1162e
ld hl, wReceiveCallDelay_StartTime
call CopyDayHourMinToHL
ret
; 1143c
Function1143c: ; 1143c
ld hl, wd466
call Function115d6
call Function115ae
ld hl, wd465
call Function11586
CheckReceiveCallDelay: ; 1143c
ld hl, wReceiveCallDelay_StartTime
call CalcMinsHoursDaysSince
call GetMinutesSinceIfLessThan60
ld hl, wReceiveCallDelay_MinsRemaining
call UpdateTimeRemaining
ret
; 1144c
Function1144c: ; 1144c
ld hl, wdc1c
jp Function11413
RestartDailyResetTimer: ; 1144c
ld hl, wDailyResetTimer
jp InitOneDayCountdown
; 11452
Function11452:: ; 11452
ld hl, wdc1c
CheckDailyResetTimer:: ; 11452
ld hl, wDailyResetTimer
call CheckDayDependentEventHL
ret nc
xor a
@ -121,18 +121,19 @@ endr
ld hl, wdc58
ld a, [hl]
and a
jr z, .asm_11480
jr z, .RestartKenjiBreakCountdown
dec [hl]
jr nz, .asm_11483
jr nz, .DontRestartKenjiBreakCountdown
.asm_11480
call Function11485
.RestartKenjiBreakCountdown
call Special_SampleKenjiBreakCountdown
.asm_11483
jr Function1144c
.DontRestartKenjiBreakCountdown
jr RestartDailyResetTimer
; 11485
Function11485: ; 11485
Special_SampleKenjiBreakCountdown: ; 11485
; Generate a random number between 3 and 5
call Random
and 3
add 3
@ -140,99 +141,101 @@ Function11485: ; 11485
ret
; 11490
Function11490: ; 11490
ld a, $14
ld [wd46c], a
ld a, $0
ld [wd46d], a
StartBugContestTimer: ; 11490
ld a, 20
ld [wBugContestMinsRemaining], a
ld a, 0
ld [wBugContestSecsRemaining], a
call UpdateTime
ld hl, wdc35
call Function11613
ld hl, wBugContestStartTime
call CopyDayHourMinSecToHL
ret
; 114a4
Function114a4:: ; 114a4 (4:54a4)
ld hl, wdc35
call Function115db
ld a, [wcfd7]
CheckBugContestTimer:: ; 114a4 (4:54a4)
ld hl, wBugContestStartTime
call CalcSecsMinsHoursDaysSince
ld a, [wDaysSince]
and a
jr nz, .asm_114d4
ld a, [wcfd6]
jr nz, .timed_out
ld a, [wHoursSince]
and a
jr nz, .asm_114d4
ld a, [wcfd4]
jr nz, .timed_out
ld a, [wSecondsSince]
ld b, a
ld a, [wd46d]
ld a, [wBugContestSecsRemaining]
sub b
jr nc, .asm_114c2
add $3c
.asm_114c2
ld [wd46d], a
ld a, [wcfd5]
jr nc, .okay
add 60
.okay
ld [wBugContestSecsRemaining], a
ld a, [wMinutesSince]
ld b, a
ld a, [wd46c]
ld a, [wBugContestMinsRemaining]
sbc b
ld [wd46c], a
jr c, .asm_114d4
ld [wBugContestMinsRemaining], a
jr c, .timed_out
and a
ret
.asm_114d4
.timed_out
xor a
ld [wd46c], a
ld [wd46d], a
ld [wBugContestMinsRemaining], a
ld [wBugContestSecsRemaining], a
scf
ret
Function114dd: ; 114dd
InitializeStartDay: ; 114dd
call UpdateTime
ld hl, wdc23
call Function11621
ld hl, wStartDay
call CopyDayToHL
ret
; 114e7
Function114e7:: ; 114e7
ld hl, wdc23
call Function115cf
call Function115c8
CheckPokerusTrick:: ; 114e7
ld hl, wStartDay
call CalcDaysSince
call GetDaysSince
and a
jr z, .asm_114fa
jr z, .done
ld b, a
callba ApplyPokerusTick
.asm_114fa
.done
xor a
ret
; 114fc
Function114fc: ; 114fc
ld a, $2
ld hl, wdc3a
SetUnusedTwoDayTimer: ; 114fc
ld a, 2
ld hl, wUnusedTwoDayTimer
ld [hl], a
call UpdateTime
ld hl, wdc3b
call Function11621
ld hl, wUnusedTwoDayTimerStartDate
call CopyDayToHL
ret
; 1150c
Function1150c: ; Specific version of CheckDayDependentEventHL when hl = $dc3a
ld hl, wdc3b
call Function115cf
call Function115c8
ld hl, wdc3a
call Function11586
CheckUnusedTwoDayTimer: ; 1150c
ld hl, wUnusedTwoDayTimerStartDate
call CalcDaysSince
call GetDaysSince
ld hl, wUnusedTwoDayTimer
call UpdateTimeRemaining
ret
; 1151c
Function1151c: ; 1151c
Function1151c: ; unreferenced
ld hl, DailyFlags
set 2, [hl]
ret
; 11522
Function11522: ; 11522
Function11522: ; unreferenced
and a
ld hl, DailyFlags
bit 2, [hl]
@ -241,10 +244,10 @@ Function11522: ; 11522
ret
; 1152b
Function1152b: ; 1152b
RestartLuckyNumberCountdown: ; 1152b
call .GetDaysUntilNextFriday
ld hl, wLuckyNumberDayBuffer
jp Function11415
jp InitNDaysCountdown
; 11534
.GetDaysUntilNextFriday: ; 11534
@ -267,167 +270,170 @@ CheckLuckyNumberShowFlag: ; 11542
jp CheckDayDependentEventHL
; 11548
Function11548: ; 11548
ld a, BANK(s0_abfa)
DoMysteryGiftIfDayHasPassed: ; 11548
ld a, BANK(sMysteryGiftTimer)
call GetSRAMBank
ld hl, s0_abfa
ld hl, sMysteryGiftTimer
ld a, [hli]
ld [Buffer1], a
ld a, [hl]
ld [Buffer2], a
call CloseSRAM
ld hl, Buffer1
call CheckDayDependentEventHL
jr nc, .asm_11572
jr nc, .not_timed_out
ld hl, Buffer1
call Function11413
call InitOneDayCountdown
call CloseSRAM
callba Function1050c8
.asm_11572
ld a, BANK(s0_abfa)
.not_timed_out
ld a, BANK(sMysteryGiftTimer)
call GetSRAMBank
ld hl, Buffer1
ld a, [hli]
ld [s0_abfa], a
ld [sMysteryGiftTimer], a
ld a, [hl]
ld [s0_abfa + 1], a
ld [sMysteryGiftTimer + 1], a
call CloseSRAM
ret
; 11586
Function11586: ; 11586
UpdateTimeRemaining: ; 11586
; If the amount of time elapsed exceeds the capacity of its
; unit, skip this part.
cp -1
jr z, .skip
jr z, .set_carry
ld c, a
ld a, [hl]
ld a, [hl] ; time remaining
sub c
jr nc, .ok
xor a
.ok
ld [hl], a
jr z, .skip
jr z, .set_carry
xor a
ret
.skip
.set_carry
xor a
ld [hl], a
scf
ret
; 11599
Function11599: ; 11599
ld a, [wcfd7]
GetSecondsSinceIfLessThan60: ; 11599
ld a, [wDaysSince]
and a
jr nz, Function115cc
ld a, [wcfd6]
jr nz, GetTimeElapsed_ExceedsUnitLimit
ld a, [wHoursSince]
and a
jr nz, Function115cc
ld a, [wcfd5]
jr nz, Function115cc
ld a, [wcfd4]
jr nz, GetTimeElapsed_ExceedsUnitLimit
ld a, [wMinutesSince]
jr nz, GetTimeElapsed_ExceedsUnitLimit
ld a, [wSecondsSince]
ret
; 115ae
Function115ae: ; 115ae
ld a, [wcfd7]
GetMinutesSinceIfLessThan60: ; 115ae
ld a, [wDaysSince]
and a
jr nz, Function115cc
ld a, [wcfd6]
jr nz, GetTimeElapsed_ExceedsUnitLimit
ld a, [wHoursSince]
and a
jr nz, Function115cc
ld a, [wcfd5]
jr nz, GetTimeElapsed_ExceedsUnitLimit
ld a, [wMinutesSince]
ret
; 115be
Function115be: ; 115be
ld a, [wcfd7]
GetHoursSinceIfLessThan24: ; 115be
ld a, [wDaysSince]
and a
jr nz, Function115cc
ld a, [wcfd6]
jr nz, GetTimeElapsed_ExceedsUnitLimit
ld a, [wHoursSince]
ret
; 115c8
Function115c8: ; 115c8
ld a, [wcfd7]
GetDaysSince: ; 115c8
ld a, [wDaysSince]
ret
; 115cc
Function115cc: ; 115cc
ld a, $ff
GetTimeElapsed_ExceedsUnitLimit: ; 115cc
ld a, -1
ret
; 115cf
Function115cf: ; 115cf
CalcDaysSince: ; 115cf
xor a
jr Function11605
jr _CalcDaysSince
; 115d2
Function115d2: ; 115d2
CalcHoursDaysSince: ; 115d2
inc hl
xor a
jr Function115f8
jr _CalcHoursDaysSince
; 115d6
Function115d6: ; 115d6
CalcMinsHoursDaysSince: ; 115d6
rept 2
inc hl
endr
xor a
jr Function115eb
jr _CalcMinsHoursDaysSince
; 115db
Function115db: ; 115db
CalcSecsMinsHoursDaysSince: ; 115db
rept 3
inc hl
endr
ld a, [hSeconds]
ld c, a
sub [hl]
jr nc, .asm_115e6
jr nc, .skip
add 60
.asm_115e6
ld [hl], c
.skip
ld [hl], c ; current seconds
dec hl
ld [wcfd4], a
ld [wSecondsSince], a ; seconds since
Function115eb: ; 115eb
_CalcMinsHoursDaysSince: ; 115eb
ld a, [hMinutes]
ld c, a
sbc [hl]
jr nc, .asm_115f3
jr nc, .skip
add 60
.asm_115f3
ld [hl], c
.skip
ld [hl], c ; current minutes
dec hl
ld [wcfd5], a
ld [wMinutesSince], a ; minutes since
Function115f8: ; 115f8
_CalcHoursDaysSince: ; 115f8
ld a, [hHours]
ld c, a
sbc [hl]
jr nc, .asm_11600
jr nc, .skip
add 24
.asm_11600
ld [hl], c
.skip
ld [hl], c ; current hours
dec hl
ld [wcfd6], a
ld [wHoursSince], a ; hours since
Function11605
_CalcDaysSince:
ld a, [CurDay]
ld c, a
sbc [hl]
jr nc, .skip
add 20 * 7
.skip
ld [hl], c
ld [wcfd7], a
ld [hl], c ; current days
ld [wDaysSince], a ; days since
ret
; 11613
Function11613: ; 11613
CopyDayHourMinSecToHL: ; 11613
ld a, [CurDay]
ld [hli], a
ld a, [hHours]
@ -439,13 +445,13 @@ Function11613: ; 11613
ret
; 11621
Function11621: ; 11621
CopyDayToHL: ; 11621
ld a, [CurDay]
ld [hl], a
ret
; 11626
Function11626: ; 11626
CopyDayHourToHL: ; 11626
ld a, [CurDay]
ld [hli], a
ld a, [hHours]
@ -453,7 +459,7 @@ Function11626: ; 11626
ret
; 1162e
Function1162e: ; 1162e
CopyDayHourMinToHL: ; 1162e
ld a, [CurDay]
ld [hli], a
ld a, [hHours]

414
engine/timeofdaypals.asm Normal file
View File

@ -0,0 +1,414 @@
Function8c001:: ; 8c001
call UpdateTime
ld a, [TimeOfDay]
ld [CurTimeOfDay], a
call GetTimePalette
ld [TimeOfDayPal], a
ret
; 8c011
_TimeOfDayPals:: ; 8c011
; return carry if pals are changed
; forced pals?
ld hl, wd846
bit 7, [hl]
jr nz, .dontchange
; do we need to bother updating?
ld a, [TimeOfDay]
ld hl, CurTimeOfDay
cp [hl]
jr z, .dontchange
; if so, the time of day has changed
ld a, [TimeOfDay]
ld [CurTimeOfDay], a
; get palette id
call GetTimePalette
; same palette as before?
ld hl, TimeOfDayPal
cp [hl]
jr z, .dontchange
; update palette id
ld [TimeOfDayPal], a
; save bg palette 8
ld hl, Unkn1Pals + 8 * 7 ; Unkn1Pals + 7 pals
; save wram bank
ld a, [rSVBK]
ld b, a
; wram bank 5
ld a, 5
ld [rSVBK], a
; push palette
ld c, 4 ; NUM_PAL_COLORS
.push
ld d, [hl]
inc hl
ld e, [hl]
inc hl
push de
dec c
jr nz, .push
; restore wram bank
ld a, b
ld [rSVBK], a
; update sgb pals
ld b, $9
call GetSGBLayout
; restore bg palette 8
ld hl, Unkn2Pals - 1 ; last byte in Unkn1Pals
; save wram bank
ld a, [rSVBK]
ld d, a
; wram bank 5
ld a, 5
ld [rSVBK], a
; pop palette
ld e, 4 ; NUM_PAL_COLORS
.pop
pop bc
ld [hl], c
dec hl
ld [hl], b
dec hl
dec e
jr nz, .pop
; restore wram bank
ld a, d
ld [rSVBK], a
; update palettes
call _UpdateTimePals
call DelayFrame
; successful change
scf
ret
.dontchange
; no change occurred
and a
ret
; 8c070
_UpdateTimePals:: ; 8c070
ld c, $9 ; normal
call GetTimePalFade
call DmgToCgbTimePals
ret
; 8c079
FadeInBGMap:: ; 8c079
ld c, $12
call GetTimePalFade
ld b, $4
call ConvertTimePalsDecHL
ret
; 8c084
FadeBlackBGMap:: ; 8c084
call Function8c0c1
ld c, $9
call GetTimePalFade
ld b, $4
call ConvertTimePalsIncHL
ret
; 8c092
Special_BattleTowerFade: ; 8c092
call Function8c0c1
ld c, $9
call GetTimePalFade
ld b, $4
.asm_8c09c
call DmgToCgbTimePals
rept 3
inc hl
endr
ld c, $7
call DelayFrames
dec b
jr nz, .asm_8c09c
ret
; 8c0ab
Special_FadeInQuickly: ; 8c0ab
ld c, $0
call GetTimePalFade
ld b, $4
call ConvertTimePalsIncHL
ret
; 8c0b6
Special_FadeBlackQuickly: ; 8c0b6
ld c, $9
call GetTimePalFade
ld b, $4
call ConvertTimePalsDecHL
ret
; 8c0c1
Function8c0c1: ; 8c0c1
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
ld hl, Unkn1Pals
ld a, [hli]
ld e, a
ld a, [hli]
ld d, a
ld hl, Unkn1Pals + 8
ld c, $6
.asm_8c0d4
ld a, e
ld [hli], a
ld a, d
ld [hli], a
rept 6
inc hl
endr
dec c
jr nz, .asm_8c0d4
pop af
ld [rSVBK], a
ret
; 8c0e5
brightlevel: MACRO
db (\1 << 6) | (\2 << 4) | (\3 << 2) | \4
ENDM
Function8c0e5: ; 8c0e5
ld hl, .BrightnessLevels
ld a, [wc2d0]
cp $4 ; Dark cave, needs Flash
jr z, .DarkCave
and $7
add l
ld l, a
ld a, $0
adc h
ld h, a
ld a, [hl]
ld [wd847], a
ret
.DarkCave
ld a, [StatusFlags]
bit 2, a
jr nz, .UsedFlash
ld a, $ff ; 3, 3, 3, 3
ld [wd847], a
ret
.UsedFlash
ld a, $aa ; 2, 2, 2, 2
ld [wd847], a
ret
; 8c10f (23:410f)
.BrightnessLevels: ; 8c10f
brightlevel 3, 2, 1, 0
brightlevel 1, 1, 1, 1
brightlevel 2, 2, 2, 2
brightlevel 0, 0, 0, 0
brightlevel 3, 3, 3, 3
brightlevel 3, 2, 1, 0
brightlevel 3, 2, 1, 0
brightlevel 3, 2, 1, 0
; 8c117
GetTimePalette: ; 8c117
ld a, [TimeOfDay]
ld e, a
ld d, 0
ld hl, .TimePalettes
rept 2
add hl, de
endr
ld a, [hli]
ld h, [hl]
ld l, a
jp [hl]
; 8c126
.TimePalettes
dw .MorningPalette
dw .DayPalette
dw .NitePalette
dw .DarknessPalette
.MorningPalette
ld a, [wd847]
and %00000011 ; 0
ret
.DayPalette
ld a, [wd847]
and %00001100 ; 1
srl a
srl a
ret
.NitePalette
ld a, [wd847]
and %00110000 ; 2
swap a
ret
.DarknessPalette
ld a, [wd847]
and %11000000 ; 3
rlca
rlca
ret
; 8c14e
DmgToCgbTimePals: ; 8c14e
push hl
push de
ld a, [hli]
call DmgToCgbBGPals
ld a, [hli]
ld e, a
ld a, [hli]
ld d, a
call DmgToCgbObjPals
pop de
pop hl
ret
; 8c15e
ConvertTimePalsIncHL: ; 8c15e
.loop
call DmgToCgbTimePals
rept 3
inc hl
endr
ld c, $2
call DelayFrames
dec b
jr nz, .loop
ret
; 8c16d
ConvertTimePalsDecHL: ; 8c16d
.loop
call DmgToCgbTimePals
rept 3
dec hl
endr
ld c, $2
call DelayFrames
dec b
jr nz, .loop
ret
; 8c17c
GetTimePalFade: ; 8c17c
; check cgb
ld a, [hCGB]
and a
jr nz, .cgb
; else: dmg
; index
ld a, [TimeOfDayPal]
and %11
; get fade table
push bc
ld c, a
ld b, $0
ld hl, .dmgfades
rept 2
add hl, bc
endr
ld a, [hli]
ld h, [hl]
ld l, a
pop bc
; get place in fade table
ld b, $0
add hl, bc
ret
.cgb
ld hl, .cgbfade
ld b, $0
add hl, bc
ret
.dmgfades
dw .morn
dw .day
dw .nite
dw .darkness
.morn
db %11111111, %11111111, %11111111
db %11111110, %11111110, %11111110
db %11111001, %11100100, %11100100
db %11100100, %11010000, %11010000
db %10010000, %10000000, %10000000
db %01000000, %01000000, %01000000
db %00000000, %00000000, %00000000
.day
db %11111111, %11111111, %11111111
db %11111110, %11111110, %11111110
db %11111001, %11100100, %11100100
db %11100100, %11010000, %11010000
db %10010000, %10000000, %10000000
db %01000000, %01000000, %01000000
db %00000000, %00000000, %00000000
.nite
db %11111111, %11111111, %11111111
db %11111110, %11111110, %11111110
db %11111001, %11100100, %11100100
db %11101001, %11010000, %11010000
db %10010000, %10000000, %10000000
db %01000000, %01000000, %01000000
db %00000000, %00000000, %00000000
.darkness
db %11111111, %11111111, %11111111
db %11111110, %11111110, %11111111
db %11111110, %11100100, %11111111
db %11111101, %11010000, %11111111
db %11111101, %10000000, %11111111
db %00000000, %01000000, %00000000
db %00000000, %00000000, %00000000
.cgbfade
db %11111111, %11111111, %11111111
db %11111110, %11111110, %11111110
db %11111001, %11111001, %11111001
db %11100100, %11100100, %11100100
db %10010000, %10010000, %10010000
db %01000000, %01000000, %01000000
db %00000000, %00000000, %00000000
; 8c20f

View File

@ -3,20 +3,20 @@ SpecialBuenasPassword: ; 8af6b
ld [wcf76], a
ld hl, MenuDataHeader_0x8afa9
call CopyMenuDataHeader
ld a, [wdc4a]
ld a, [wBuenasPassword]
ld c, a
callba GetBuenasPassword
ld a, [wcf83]
ld a, [wMenuBorderLeftCoord]
add c
add $2
ld [wcf85], a
call Function1c00
ld [wMenuBorderRightCoord], a
call BackUpTiles
call Function1e5d
callba Function4ae5e
ld b, $0
ld a, [MenuSelection]
ld c, a
ld a, [wdc4a]
ld a, [wBuenasPassword]
and $3
cp c
jr nz, .asm_8afa4
@ -52,7 +52,7 @@ Unknown_8afb8: ; 8afb8
Function8afbd: ; 8afbd
push de
ld a, [wdc4a]
ld a, [wBuenasPassword]
and $f0
ld c, a
ld a, [MenuSelection]
@ -94,14 +94,16 @@ SpecialBuenaPrize: ; 8afd4
call Function105a
call YesNoBox
jr c, .asm_8afeb
ld a, [wcf75]
call Buena_getprize
inc hl
ld a, [hld]
ld c, a
ld a, [wdc4b]
ld a, [wBlueCardBalance]
cp c
jr c, .asm_8b047
jr c, .InsufficientBalance
ld a, [hli]
push hl
ld [CurItem], a
@ -113,13 +115,13 @@ SpecialBuenaPrize: ; 8afd4
jr nc, .asm_8b04c
ld a, [hl]
ld c, a
ld a, [wdc4b]
ld a, [wBlueCardBalance]
sub c
ld [wdc4b], a
ld [wBlueCardBalance], a
call Function8b097
jr .asm_8b051
.asm_8b047
.InsufficientBalance
ld hl, UnknownText_0x8b081
jr .asm_8b05a
@ -189,7 +191,7 @@ Function8b090: ; 8b090
; 8b097
Function8b097: ; 8b097
ld de, wdc4b
ld de, wBlueCardBalance
call Function8b09e
ret
; 8b09e
@ -245,7 +247,7 @@ Function8b0e2: ; 8b0e2
ld hl, .MenuDataHeader
call CopyMenuDataHeader
ld a, [MenuSelection]
ld [wcf88], a
ld [wPocketPointerLocationBuffer], a
xor a
ld [wcf76], a
ld [hBGMapMode], a

View File

@ -27,7 +27,7 @@ Special_SelectApricornForKurt: ; 88018
ld c, $1
xor a
ld [wd0e4], a
ld [wdca4], a
ld [wKurtApricornQuantity], a
.loop
push bc
call Kurt_PrintTextWhichApricorn
@ -48,7 +48,7 @@ Special_SelectApricornForKurt: ; 88018
pop bc
jr nc, .loop
ld a, [wd10c]
ld [wdca4], a
ld [wKurtApricornQuantity], a
call Kurt_GiveUpSelectedQuantityOfSelectedApricorn
.done
@ -62,7 +62,7 @@ Kurt_SelectApricorn: ; 88055
ld hl, .MenuDataHeader
call CopyMenuDataHeader
ld a, [MenuSelection]
ld [wcf88], a
ld [wPocketPointerLocationBuffer], a
xor a
ld [hBGMapMode], a
call Function352f

Binary file not shown.

Before

Width:  |  Height:  |  Size: 139 B

After

Width:  |  Height:  |  Size: 153 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 348 B

After

Width:  |  Height:  |  Size: 388 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 180 B

After

Width:  |  Height:  |  Size: 195 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 282 B

After

Width:  |  Height:  |  Size: 373 B

View File

@ -95,7 +95,7 @@ Function2ecb:: ; 2ecb
; 2ed3
Function2ed3:: ; 0x2ed3
DisableSpriteUpdates:: ; 0x2ed3
; disables overworld sprite updating?
xor a
ld [$ffde], a
@ -107,7 +107,7 @@ Function2ed3:: ; 0x2ed3
ret
; 0x2ee4
Function2ee4:: ; 2ee4
EnableSpriteUpdates:: ; 2ee4
ld a, $1
ld [wc2ce], a
ld a, [VramState]
@ -157,7 +157,7 @@ IsInJohto:: ; 2f17
; 2f3e
Function2f3e:: ; 2f3e
ret_2f3e:: ; 2f3e
ret
; 2f3f
@ -605,10 +605,12 @@ Function3246:: ; 3246
push af
xor a
ld [hBGMapMode], a
ld a, [$ffde]
push af
xor a
ld [$ffde], a
.wait
ld a, [rLY]
cp $7f
@ -623,6 +625,7 @@ Function3246:: ; 3246
ld [rVBK], a
hlcoord 0, 0
call Function327b
.wait2
ld a, [rLY]
cp $7f
@ -637,30 +640,33 @@ Function3246:: ; 3246
; 327b
Function327b:: ; 327b
; Copy all tiles to VBGMap
ld [hSPBuffer], sp
ld sp, hl
ld a, [hBGMapAddress + 1]
ld h, a
ld l, 0
ld a, 18
ld a, SCREEN_HEIGHT
ld [$ffd3], a
ld b, 1 << 1 ; not in v/hblank
ld c, rSTAT % $100
.loop
rept 20 / 2
rept SCREEN_WIDTH / 2
pop de
; if in v/hblank, wait until not in v/hblank
.loop\@
ld a, [$ff00+c]
and b
jr nz, .loop\@
; load BGMap0
ld [hl], e
inc l
ld [hl], d
inc l
endr
ld de, 32 - 20
ld de, $20 - SCREEN_WIDTH
add hl, de
ld a, [$ffd3]
dec a
@ -1163,16 +1169,16 @@ Function3524:: ; 3524
; 352f
Function352f:: ; 352f
ld a, [wcf82]
ld a, [wMenuBorderTopCoord]
dec a
ld b, a
ld a, [wcf84]
ld a, [wMenuBorderBottomCoord]
sub b
ld d, a
ld a, [wcf83]
ld a, [wMenuBorderLeftCoord]
dec a
ld c, a
ld a, [wcf85]
ld a, [wMenuBorderRightCoord]
sub c
ld e, a
push de
@ -1599,7 +1605,7 @@ Function3718:: ; 3718
jr .ok
.canlose
ld a, [wd0ee]
ld a, [wBattleResult]
ld hl, WalkingTile
and $f
jr z, .ok
@ -2221,7 +2227,7 @@ Function3f6e:: ; 3f6e
Function3f7c:: ; 3f7c
call GetMemTileCoord
call Function1c53
call GetMenuBoxDims
dec b
dec c
call Function3eea

View File

@ -224,19 +224,19 @@ Request2bpp:: ; eba
ld a, [$ffd3]
push af
ld a, $8
ld [$ffd3], a
ld a, [wLinkMode]
cp $4
jr nz, .okay
ld a, [$ffe9]
cp LINK_MOBILE
jr nz, .NotMobile
ld a, [hMobile]
and a
jr nz, .okay
jr nz, .NotMobile
ld a, $6
ld [$ffd3], a
.okay
.NotMobile
ld a, e
ld [Requested2bppSource], a
ld a, d
@ -245,7 +245,6 @@ Request2bpp:: ; eba
ld [Requested2bppDest], a
ld a, h
ld [Requested2bppDest + 1], a
.loop
ld a, c
ld hl, $ffd3
@ -272,11 +271,13 @@ Request2bpp:: ; eba
.iterate
ld a, [$ffd3]
ld [Requested2bpp], a
.wait2
call DelayFrame
ld a, [Requested2bpp]
and a
jr nz, .wait2
ld a, c
ld hl, $ffd3
sub [hl]
@ -302,9 +303,9 @@ Request1bpp:: ; f1e
ld a, $8
ld [$ffd3], a
ld a, [wLinkMode]
cp $4
cp LINK_MOBILE
jr nz, .NotMobile
ld a, [$ffe9]
ld a, [hMobile]
and a
jr nz, .NotMobile
ld a, $6

View File

@ -508,17 +508,18 @@ GetMapConnection:: ; 23a3
Function23ac:: ; 23ac
ld a, [hli]
ld a, [hli] ; trigger count
ld c, a
ld [wdc07], a
ld [wdc07], a ; current map trigger count
ld a, l
ld [wdc07 + 1], a
ld [wdc08], a ; map trigger pointer
ld a, h
ld [wdc09], a
ld a, c
and a
ret z
ld bc, $0004
ld bc, 4 ; size of a map trigger header entry
call AddNTimes
ret
; 23c3
@ -534,7 +535,8 @@ Function23c3:: ; 23c3
ld a, c
and a
ret z
ld bc, $0003
ld bc, 3
call AddNTimes
ret
; 23da
@ -1958,7 +1960,7 @@ FadeToMenu:: ; 2b29
call Function1d6e
callba FadeBlackBGMap
call ClearSprites
call Function2ed3
call DisableSpriteUpdates
ret
; 2b3c
@ -1986,7 +1988,7 @@ Function2b5c:: ; 2b5c
callba Function49409
call Function3200
callba FadeInBGMap
call Function2ee4
call EnableSpriteUpdates
ret
; 2b74

View File

@ -1,14 +1,14 @@
; Functions used in displaying and handling menus.
LoadMenuDataHeader:: ; 0x1d35
LoadMenuDataHeader::
call CopyMenuDataHeader
call Function1c00
call BackUpTiles
ret
CopyMenuDataHeader:: ; 0x1d3c
CopyMenuDataHeader::
ld de, wcf81
ld bc, $0010
ld bc, 16
call CopyBytes
ld a, [hROMBank]
ld [wcf8a], a
@ -16,7 +16,7 @@ CopyMenuDataHeader:: ; 0x1d3c
; 0x1d4b
Function1d4b:: ; 1d4b
ld [wcf88], a
ld [wPocketPointerLocationBuffer], a
ret
; 1d4f
@ -71,7 +71,7 @@ Function1d7d:: ; 1d7d
ret
; 1d81
InterpretMenu2:: ; 0x1d81
InterpretMenu2::
xor a
ld [hBGMapMode], a
call Function1cbb
@ -81,12 +81,12 @@ InterpretMenu2:: ; 0x1d81
call Function1c66
ld a, [wcf91]
bit 7, a
jr z, .cancel ; 0x1d98 $d
jr z, .cancel
call Function1c10
call Function1bc9
call Function1ff8
bit 1, a
jr z, .okay ; 0x1da5 $2
jr z, .okay
.cancel
scf
ret
@ -103,7 +103,7 @@ GetMenu2:: ; 1dab
ret
; 1db8
Function1db8:: ; 0x1db8
Function1db8::
push hl
push bc
push af
@ -151,14 +151,14 @@ _YesNoBox:: ; 1dd9
.okay
ld a, b
ld [wcf83], a
ld [wMenuBorderLeftCoord], a
add $5
ld [wcf85], a
ld [wMenuBorderRightCoord], a
ld a, c
ld [wcf82], a
ld [wMenuBorderTopCoord], a
add $4
ld [wcf84], a
call Function1c00
ld [wMenuBorderBottomCoord], a
call BackUpTiles
InterpretTwoOptionMenu:: ; 1dfe
call InterpretMenu2
@ -198,7 +198,7 @@ YesNoMenuData2:: ; 1e25
Function1e2e:: ; 1e2e
call Function1e35
call Function1c00
call BackUpTiles
ret
; 1e35
@ -206,24 +206,24 @@ Function1e35:: ; 1e35
push de
call CopyMenuDataHeader
pop de
ld a, [wcf83]
ld a, [wMenuBorderLeftCoord]
ld h, a
ld a, [wcf85]
ld a, [wMenuBorderRightCoord]
sub h
ld h, a
ld a, d
ld [wcf83], a
ld [wMenuBorderLeftCoord], a
add h
ld [wcf85], a
ld a, [wcf82]
ld [wMenuBorderRightCoord], a
ld a, [wMenuBorderTopCoord]
ld l, a
ld a, [wcf84]
ld a, [wMenuBorderBottomCoord]
sub l
ld l, a
ld a, e
ld [wcf82], a
ld [wMenuBorderTopCoord], a
add l
ld [wcf84], a
ld [wMenuBorderBottomCoord], a
ret
; 1e5d
@ -245,14 +245,14 @@ SetUpMenu:: ; 1e70
set 7, [hl]
ret
MenuFunc_1e7f:: ; 0x1e7f
MenuFunc_1e7f::
call Function1c66
call Function1ebd
call Function1ea6
call Function1cbb
ret
MenuWriteText:: ; 0x1e8c
MenuWriteText::
xor a
ld [hBGMapMode], a
call Function1ebd ; sort out the text
@ -269,18 +269,18 @@ MenuWriteText:: ; 0x1e8c
; 0x1ea6
Function1ea6:: ; 1ea6
ld a, [wcf83]
ld a, [wMenuBorderLeftCoord]
ld c, a
ld a, [wcf85]
ld a, [wMenuBorderRightCoord]
sub c
ld c, a
ld a, [wcf92]
add a
inc a
ld b, a
ld a, [wcf82]
ld a, [wMenuBorderTopCoord]
add b
ld [wcf84], a
ld [wMenuBorderBottomCoord], a
ret
; 1ebd
@ -410,7 +410,7 @@ Function1f2a:: ; 1f2a
ld a, [hl]
ld [MenuSelection], a
ld a, [wcfa9]
ld [wcf88], a
ld [wPocketPointerLocationBuffer], a
and a
ret
@ -571,7 +571,7 @@ InterpretMenu:: ; 202a
ld a, [hROMBank]
ld [wcf94], a
callba Function2400e
ld a, [wcf88]
ld a, [wPocketPointerLocationBuffer]
ret
; 2039
@ -579,7 +579,7 @@ Function2039:: ; 2039
ld a, [hROMBank]
ld [wcf94], a
callba Function24022
ld a, [wcf88]
ld a, [wPocketPointerLocationBuffer]
ret
; 2048
@ -587,7 +587,7 @@ Function2048:: ; 2048
ld a, [hROMBank]
ld [wcf94], a
callba Function2403c
ld a, [wcf88]
ld a, [wPocketPointerLocationBuffer]
ret
; 2057

View File

@ -74,9 +74,9 @@ Timer:: ; 3e93
push de
push hl
ld a, [$ffe9]
ld a, [hMobile]
and a
jr z, .asm_3ed2
jr z, .pop_ret
xor a
ld [rTAC], a
@ -88,15 +88,15 @@ Timer:: ; 3e93
ld a, [$c86a]
or a
jr z, .asm_3ed2
jr z, .pop_ret
ld a, [$c822]
bit 1, a
jr nz, .asm_3eca
jr nz, .skip_Function1118de
ld a, [rSC]
and 1 << rSC_ON
jr nz, .asm_3eca
jr nz, .skip_Function1118de
ld a, [hROMBank]
push af
@ -111,14 +111,14 @@ Timer:: ; 3e93
ld [$c981], a
rst Bankswitch
.asm_3eca
.skip_Function1118de
ld a, [rTMA]
ld [rTIMA], a
ld a, 1 << rTAC_ON | rTAC_65536_HZ
ld [rTAC], a
.asm_3ed2
.pop_ret
pop hl
pop de
pop bc

View File

@ -190,33 +190,3 @@ Function1bf7:: ; 1bf7
ret
; 1c00
Function1c00:: ; 1c00
callab Function24374
ret
; 1c07
ExitMenu:: ; 0x1c07
push af
callab Function243e8
pop af
ret
Function1c10:: ; 0x1c10
callab Function2446d
ret
WriteBackup:: ; 0x1c17
push af
call ExitMenu
call Function321c
call UpdateSprites
pop af
ret
Function1c23:: ; 0x1c23
call GetMemTileCoord
call Function1c30
call Function1d19
call Function1c30
ret
; 0x1c30

View File

@ -1,44 +1,79 @@
Function1c30:: ; 0x1c30
call Function1c53
BackUpTiles:: ; 1c00
callab _BackUpTiles
ret
; 1c07
ExitMenu:: ; 0x1c07
push af
callab Function243e8
pop af
ret
Function1c10:: ; 0x1c10
callab Function2446d
ret
WriteBackup:: ; 0x1c17
push af
call ExitMenu
call Function321c
call UpdateSprites
pop af
ret
RestoreTileBackup:: ; 0x1c23
call GetMemTileCoord
call .copy
call GetMemAttrCoord
call .copy
ret
; 0x1c30
.copy: ; 0x1c30
call GetMenuBoxDims
inc b
inc c
.asm_1c35
.row
push bc
push hl
.asm_1c37
.col
ld a, [de]
ld [hli], a
dec de
dec c
jr nz, .asm_1c37 ; 0x1c3b $fa
jr nz, .col ; 0x1c3b $fa
pop hl
ld bc, $0014
ld bc, SCREEN_WIDTH
add hl, bc
pop bc
dec b
jr nz, .asm_1c35 ; 0x1c44 $ef
jr nz, .row ; 0x1c44 $ef
ret
Function1c47:: ; 0x1c47
ld b, $10
ld de, wcf81
.asm_1c4c
.loop
ld a, [hld]
ld [de], a
inc de
dec b
jr nz, .asm_1c4c ; 0x1c50 $fa
jr nz, .loop ; 0x1c50 $fa
ret
Function1c53:: ; 0x1c53
ld a, [wcf82]
GetMenuBoxDims:: ; 0x1c53
ld a, [wMenuBorderTopCoord] ; top
ld b, a
ld a, [wcf84]
ld a, [wMenuBorderBottomCoord] ; bottom
sub b
ld b, a
ld a, [wcf83]
ld a, [wMenuBorderLeftCoord] ; left
ld c, a
ld a, [wcf85]
ld a, [wMenuBorderRightCoord] ; right
sub c
ld c, a
ret
@ -110,17 +145,17 @@ Function1c89:: ; 1c89
Function1cbb:: ; 1cbb
call GetMemTileCoord
call Function1c53
call GetMenuBoxDims
dec b
dec c
jp TextBox
; 1cc6
Function1cc6:: ; 1cc6
ld a, [wcf82]
ld a, [wMenuBorderTopCoord]
ld b, a
inc b
ld a, [wcf83]
ld a, [wMenuBorderLeftCoord]
ld c, a
inc c
ld a, [wcf91]
@ -142,7 +177,7 @@ Function1ce1:: ; 1ce1
call GetMemTileCoord
ld bc, $0015
add hl, bc
call Function1c53
call GetMenuBoxDims
dec b
dec c
call ClearBox
@ -151,7 +186,7 @@ Function1ce1:: ; 1ce1
Function1cf1:: ; 1cf1
call GetMemTileCoord
call Function1c53
call GetMenuBoxDims
inc c
inc b
call ClearBox
@ -160,9 +195,9 @@ Function1cf1:: ; 1cf1
GetMemTileCoord:: ; 1cfd
ld a, [wcf83]
ld a, [wMenuBorderLeftCoord]
ld c, a
ld a, [wcf82]
ld a, [wMenuBorderTopCoord]
ld b, a
; 1d05
@ -191,10 +226,10 @@ endr
ret
; 1d19
Function1d19:: ; 1d19
ld a, [wcf83]
GetMemAttrCoord:: ; 1d19
ld a, [wMenuBorderLeftCoord]
ld c, a
ld a, [wcf82]
ld a, [wMenuBorderTopCoord]
ld b, a
GetAttrCoord:: ; 1d21

View File

@ -3,7 +3,7 @@
AskTimer:: ; 591
push af
ld a, [$ffe9]
ld a, [hMobile]
and a
jr z, .asm_59a
call Timer

View File

@ -16,12 +16,14 @@ ResetWindow:: ; 2dba
; 2dcf
Function2dcf:: ; 2dcf
LoadMoveSprites:: ; 2dcf
ld a, [hOAMUpdate]
push af
ld a, $1
ld [hOAMUpdate], a
call Function2de2
pop af
ld [hOAMUpdate], a
ld hl, VramState

View File

@ -20,6 +20,7 @@ hVBlankCounter EQU $ff9b
hROMBank EQU $ff9d
hVBlank EQU $ff9e
hMapEntryMethod EQU $ff9f
hMenuReturn EQU $ffa0
hJoypadReleased EQU $ffa2
hJoypadPressed EQU $ffa3
@ -91,3 +92,4 @@ hCGBPalUpdate EQU $ffe5
hCGB EQU $ffe6
hSGB EQU $ffe7
hDMATransfer EQU $ffe8
hMobile EQU $ffe9

File diff suppressed because it is too large Load Diff

View File

@ -512,7 +512,7 @@ endr
cp BATTLETYPE_TUTORIAL
jp z, .asm_ebd9
callba Function10607f
callba MobileFn_10607f
ld hl, UnknownText_0xedc9
call PrintText
@ -550,7 +550,7 @@ endr
jp z, .asm_ebd1
cp BATTLETYPE_CELEBI
jr nz, .asm_eac8
ld hl, wd0ee
ld hl, wBattleResult
set 6, [hl]
.asm_eac8
@ -628,7 +628,7 @@ endr
ld a, [sBoxCount]
cp MONS_PER_BOX
jr nz, .asm_eb5b
ld hl, wd0ee
ld hl, wBattleResult
set 7, [hl]
.asm_eb5b
ld a, [CurItem]
@ -2254,12 +2254,12 @@ Repel: ; f46a
; f46c
Function_0xf46c: ; f46c
ld a, [wdca1]
ld a, [wRepelEffect]
and a
ld hl, UnknownText_0xf47d
jp nz, PrintText
ld a, b
ld [wdca1], a
ld [wRepelEffect], a
jp Functionf789
; f47d
@ -2285,10 +2285,10 @@ PokeDoll: ; f48f
jr nz, .asm_f4a6
inc a
ld [wd232], a
ld a, [wd0ee]
ld a, [wBattleResult]
and 3 << 6
or $2
ld [wd0ee], a
ld [wBattleResult], a
jp Functionf789
.asm_f4a6

View File

@ -14,6 +14,7 @@ INCLUDE "macros/predef.asm"
INCLUDE "macros/rst.asm"
INCLUDE "macros/mobile.asm"
INCLUDE "macros/trainer.asm"
INCLUDE "macros/map_setup.asm"
@ -90,12 +91,16 @@ lb: MACRO ; r, hi, lo
ld \1, (\2) << 8 + (\3)
ENDM
ln: MACRO ; r, hi, lo
ld \1, (\2) << 4 + (\3)
ENDM
bccoord equs "coord bc,"
decoord equs "coord de,"
hlcoord equs "coord hl,"
coord: MACRO
; register, x, y[, origin]
if _NARG < 4
ld \1, TileMap + SCREEN_WIDTH * (\3) + (\2)
else
@ -165,16 +170,4 @@ bcd: MACRO
endr
ENDM
ln: MACRO
if _NARG == 5
lb \1, \2 << 4 + \3, \4 << 4 + \5
else
if _NARG == 3
ld \1, \2 << 4 + \3
else
fail "incorrect number of arguments for ln"
endc
endc
ENDM
tile EQUS "+ $10 *"

View File

@ -18,8 +18,8 @@ ENDM
person_event: macro
db \1 ; sprite
db \2 ; y
db \3 ; x
db \2 + 4 ; y
db \3 + 4 ; x
db \4 ; movement function
dn \5, \6 ; radius: y, x
db \7 ; clock_hour

236
macros/map_setup.asm Normal file
View File

@ -0,0 +1,236 @@
; Command descriptions from Condensation water's scripting compendium. enum_start
enum_start
enum map_lcd_on_command
map_lcd_on: MACRO ; 00 = Turn LCD on
db map_lcd_on_command
ENDM
enum map_lcd_off_command
map_lcd_off: MACRO ; 01 = Turn LCD off
db map_lcd_off_command
ENDM
enum map_sound_off_command
map_sound_off: MACRO ; 02 = Turn speakers off
db map_sound_off_command
ENDM
enum map_music_command
map_music: MACRO ; 03 = Music check for current map/ special check for bug catcher contest
db map_music_command
ENDM
enum map_start_music_command
map_start_music: MACRO ; 04 = Start map music anew
db map_start_music_command
ENDM
enum map_fade_music_command
map_fade_music: MACRO ; 05 = Music check for current map / special check for Bug Contest/ music with FadeOut (old) and FadeIn
db map_fade_music_command
ENDM
enum map_fade_command
map_fade: MACRO ; 06 = Fade out music + screen
db map_fade_command
ENDM
enum map_bike_music_command
map_bike_music: MACRO ; 07 = If HIRO is on bike = bike music, else play map music
db map_bike_music_command
ENDM
enum map_music_force_command
map_music_force: MACRO ; 08 = Play map music
db map_music_force_command
ENDM
enum map_max_volume_command
map_max_volume: MACRO ; 09 = Turn music to highest volume
db map_max_volume_command
ENDM
enum map_load_blocks_command
map_load_blocks: MACRO ; 0A = Write map data to MapRAM
db map_load_blocks_command
ENDM
enum map_connection_blocks_command
map_connection_blocks: MACRO ; 0B = Compute maps connection pars and write into MapRAM
db map_connection_blocks_command
ENDM
enum map_save_screen_command
map_save_screen: MACRO ; 0C = Write current part of map into temporary memory
db map_save_screen_command
ENDM
enum map_buffer_screen_command
map_buffer_screen: MACRO ; 0D = Write current part of map into read-from memory
db map_buffer_screen_command
ENDM
enum map_load_graphics_command
map_load_graphics: MACRO ; 0E = Write tileset header to ram/ load tileset/ load sprite tiles/ load special tiles
db map_load_graphics_command
ENDM
enum map_load_tileset_header_command
map_load_tileset_header: MACRO ; 0F = Write tileset header to ram
db map_load_tileset_header_command
ENDM
enum map_time_of_day_command
map_time_of_day: MACRO ; 10 = Compute time of day/ Update screen
db map_time_of_day_command
ENDM
enum map_palettes_command
map_palettes: MACRO ; 11 = Load map palettes
db map_palettes_command
ENDM
enum map_wildmons_command
map_wildmons: MACRO ; 12 = Load probabilities for wild Pokémon battles
db map_wildmons_command
ENDM
enum map_sprites_command
map_sprites: MACRO ; 13 = Delete sprite data and draw new sprites
db map_sprites_command
ENDM
enum map_change_callback_command
map_change_callback: MACRO ; 14 = Check 2nd script header for 05 and 03 callbacks
db map_change_callback_command
ENDM
enum map_start_callback_command
map_start_callback: MACRO ; 15 = Check 2nd script header for 03 callbacks
db map_start_callback_command
ENDM
enum map_load_objects_command
map_load_objects: MACRO ; 16 = Analyze people data anew and check 2nd script header for 02 callbacks
db map_load_objects_command
ENDM
enum map_load_spawn_command
map_load_spawn: MACRO ; 17 = Writes arrival data for arrival by flying/Blackout from table 05:5319 to ram
db map_load_spawn_command
ENDM
enum map_load_connection_command
map_load_connection: MACRO ; 18 = Writes arrival data for entering a map by connection to ram
db map_load_connection_command
ENDM
enum map_load_warp_command
map_load_warp: MACRO ; 19 = Write warp data to ram when entering warp
db map_load_warp_command
ENDM
enum map_attributes_command
map_attributes: MACRO ; 1A = Load complete map data (primary, secondary, event, script headers)
db map_attributes_command
ENDM
enum map_attributes_2_command
map_attributes_2: MACRO ; 1B = Same as 1A, but some settings arent loaded new from the rom, such as hide function of the people events
db map_attributes_2_command
ENDM
enum map_clear_bg_palettes_command
map_clear_bg_palettes: MACRO ; 1C = Fill palette data with FFFF (=white)
db map_clear_bg_palettes_command
ENDM
enum map_fade_out_palettes_command
map_fade_out_palettes: MACRO ; 1D = All BG pallet color are converted to 0|0 (Pal0, Col0), all sprite colors to x|0 (FadeOut)
db map_fade_out_palettes_command
ENDM
enum map_fade_in_palettes_command
map_fade_in_palettes: MACRO ; 1E = Palette FadeIn
db map_fade_in_palettes_command
ENDM
enum map_anchor_screen_command
map_anchor_screen: MACRO ; 1F = Compute position of upper left-most block visible on screen
db map_anchor_screen_command
ENDM
enum map_warp_face_command
map_warp_face: MACRO ; 20 = Position computation when HIRO leaves a warp
db map_warp_face_command
ENDM
enum map_face_down_command
map_face_down: MACRO ; 21 = Set HIROs facing to “down”
db map_face_down_command
ENDM
enum map_spawn_coord_command
map_spawn_coord: MACRO ; 22 = Prepare HIRO data for arrival by flight
db map_spawn_coord_command
ENDM
enum map_player_coord_command
map_player_coord: MACRO ; 23 = Compute HIRO x/y data anew
db map_player_coord_command
ENDM
enum map_prolong_sprites_command
map_prolong_sprites: MACRO ; 24 = Prolong old sprites before removing them
db map_prolong_sprites_command
ENDM
enum map_delay_sprites_command
map_delay_sprites: MACRO ; 25 = Delay rendering new sprites
db map_delay_sprites_command
ENDM
enum map_update_roam_command
map_update_roam: MACRO ; 26 = Compute chances to meet Raikou, Entei or Suicune
db map_update_roam_command
ENDM
enum map_keep_roam_command
map_keep_roam: MACRO ; 27 = Recover chances to meet Raikou, Entei or Suicune
db map_keep_roam_command
ENDM
enum map_fade_out_music_command
map_fade_out_music: MACRO ; 28 = Temporarily stop music playing
db map_fade_out_music_command
ENDM
enum map_animations_on_command
map_animations_on: MACRO ; 29 = Activate animations
db map_animations_on_command
ENDM
enum map_animations_off_command
map_animations_off: MACRO ; 2A = Deactivate animations
db map_animations_off_command
ENDM
enum map_keep_palettes_command
map_keep_palettes: MACRO ; 2B = Recover all palettes
db map_keep_palettes_command
ENDM
enum map_text_scroll_off_command
map_text_scroll_off: MACRO ; 2C = Turn off text scroll (for town name overlays)
db map_text_scroll_off_command
ENDM
enum map_stop_script_command
map_stop_script: MACRO ; 2D = Deactivate code prolonging
db map_stop_script_command
ENDM
map_end_setup_script: MACRO
db -1
ENDM

1620
main.asm

File diff suppressed because it is too large Load Diff

View File

@ -371,10 +371,10 @@ AzaleaGym_MapEventHeader:
.PersonEvents:
db 7
person_event SPRITE_BUGSY, 7 + 4, 5 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BugsyScript_0x18ec1e, -1
person_event SPRITE_BUG_CATCHER, 3 + 4, 5 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerBug_catcherBug_catcher_benny, -1
person_event SPRITE_BUG_CATCHER, 8 + 4, 8 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBug_catcherAl, -1
person_event SPRITE_BUG_CATCHER, 2 + 4, 0 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBug_catcherJosh, -1
person_event SPRITE_TWIN, 10 + 4, 4 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsAmyandmay1, -1
person_event SPRITE_TWIN, 10 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsAmyandmay2, -1
person_event SPRITE_GYM_GUY, 13 + 4, 7 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, AzaleaGymGuyScript, -1
person_event SPRITE_BUGSY, 7, 5, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BugsyScript_0x18ec1e, -1
person_event SPRITE_BUG_CATCHER, 3, 5, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerBug_catcherBug_catcher_benny, -1
person_event SPRITE_BUG_CATCHER, 8, 8, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBug_catcherAl, -1
person_event SPRITE_BUG_CATCHER, 2, 0, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBug_catcherJosh, -1
person_event SPRITE_TWIN, 10, 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsAmyandmay1, -1
person_event SPRITE_TWIN, 10, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsAmyandmay2, -1
person_event SPRITE_GYM_GUY, 13, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, AzaleaGymGuyScript, -1

View File

@ -57,6 +57,6 @@ AzaleaMart_MapEventHeader:
.PersonEvents:
db 3
person_event SPRITE_CLERK, 3 + 4, 1 + 4, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x18e040, -1
person_event SPRITE_COOLTRAINER_M, 5 + 4, 2 + 4, $7, 0, 0, -1, -1, 0, 0, 0, CooltrainerMScript_0x18e047, -1
person_event SPRITE_BUG_CATCHER, 2 + 4, 7 + 4, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, BugCatcherScript_0x18e04a, -1
person_event SPRITE_CLERK, 3, 1, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x18e040, -1
person_event SPRITE_COOLTRAINER_M, 5, 2, $7, 0, 0, -1, -1, 0, 0, 0, CooltrainerMScript_0x18e047, -1
person_event SPRITE_BUG_CATCHER, 2, 7, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, BugCatcherScript_0x18e04a, -1

View File

@ -90,7 +90,7 @@ AzaleaPokeCenter1F_MapEventHeader:
.PersonEvents:
db 4
person_event SPRITE_NURSE, 1 + 4, 3 + 4, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x18db28, -1
person_event SPRITE_GENTLEMAN, 6 + 4, 9 + 4, $4, 1, 0, -1, -1, 0, 0, 0, GentlemanScript_0x18db2b, -1
person_event SPRITE_FISHING_GURU, 1 + 4, 6 + 4, $6, 0, 0, -1, -1, 0, 0, 0, FishingGuruScript_0x18db2e, -1
person_event SPRITE_POKEFAN_F, 4 + 4, 1 + 4, $2, 2, 1, -1, -1, 0, 0, 0, PokefanFScript_0x18db31, -1
person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x18db28, -1
person_event SPRITE_GENTLEMAN, 6, 9, $4, 1, 0, -1, -1, 0, 0, 0, GentlemanScript_0x18db2b, -1
person_event SPRITE_FISHING_GURU, 1, 6, $6, 0, 0, -1, -1, 0, 0, 0, FishingGuruScript_0x18db2e, -1
person_event SPRITE_POKEFAN_F, 4, 1, $2, 2, 1, -1, -1, 0, 0, 0, PokefanFScript_0x18db31, -1

View File

@ -481,15 +481,15 @@ AzaleaTown_MapEventHeader:
.PersonEvents:
db 12
person_event SPRITE_AZALEA_ROCKET, 9 + 4, 31 + 4, $6, 0, 0, -1, -1, 0, 0, 0, AzaleaRocketScript_0x1980ab, EVENT_AZALEA_TOWN_SLOWPOKETAIL_ROCKET
person_event SPRITE_GRAMPS, 9 + 4, 21 + 4, $2, 2, 1, -1, -1, 0, 0, 0, GrampsScript_0x1980b1, -1
person_event SPRITE_TEACHER, 13 + 4, 15 + 4, $4, 2, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x1980c5, -1
person_event SPRITE_YOUNGSTER, 9 + 4, 7 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x1980c8, -1
person_event SPRITE_SLOWPOKE, 17 + 4, 8 + 4, $1, 0, 0, -1, -1, 0, 0, 0, SlowpokeScript_0x1980cb, EVENT_AZALEA_TOWN_SLOWPOKES
person_event SPRITE_SLOWPOKE, 9 + 4, 18 + 4, $1, 0, 0, -1, -1, 0, 0, 0, SlowpokeScript_0x1980cb, EVENT_AZALEA_TOWN_SLOWPOKES
person_event SPRITE_SLOWPOKE, 9 + 4, 29 + 4, $1, 0, 0, -1, -1, 0, 0, 0, SlowpokeScript_0x1980cb, EVENT_AZALEA_TOWN_SLOWPOKES
person_event SPRITE_SLOWPOKE, 15 + 4, 15 + 4, $1, 0, 0, -1, -1, 0, 0, 0, SlowpokeScript_0x1980cb, EVENT_AZALEA_TOWN_SLOWPOKES
person_event SPRITE_FRUIT_TREE, 2 + 4, 8 + 4, $1, 0, 0, -1, -1, 0, 0, 0, WhiteApricornTree, -1
person_event SPRITE_AZALEA_ROCKET, 10 + 4, 11 + 4, $8, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_AZALEA_TOWN
person_event SPRITE_AZALEA_ROCKET, 16 + 4, 10 + 4, $6, 0, 0, -1, -1, 0, 0, 0, AzaleaRocketScript_0x1980ae, EVENT_SLOWPOKE_WELL_ROCKETS
person_event SPRITE_KURT_OUTSIDE, 5 + 4, 6 + 4, $8, 0, 0, -1, -1, 0, 0, 0, KurtOutsideScript_0x19810c, EVENT_AZALEA_TOWN_KURT
person_event SPRITE_AZALEA_ROCKET, 9, 31, $6, 0, 0, -1, -1, 0, 0, 0, AzaleaRocketScript_0x1980ab, EVENT_AZALEA_TOWN_SLOWPOKETAIL_ROCKET
person_event SPRITE_GRAMPS, 9, 21, $2, 2, 1, -1, -1, 0, 0, 0, GrampsScript_0x1980b1, -1
person_event SPRITE_TEACHER, 13, 15, $4, 2, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x1980c5, -1
person_event SPRITE_YOUNGSTER, 9, 7, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x1980c8, -1
person_event SPRITE_SLOWPOKE, 17, 8, $1, 0, 0, -1, -1, 0, 0, 0, SlowpokeScript_0x1980cb, EVENT_AZALEA_TOWN_SLOWPOKES
person_event SPRITE_SLOWPOKE, 9, 18, $1, 0, 0, -1, -1, 0, 0, 0, SlowpokeScript_0x1980cb, EVENT_AZALEA_TOWN_SLOWPOKES
person_event SPRITE_SLOWPOKE, 9, 29, $1, 0, 0, -1, -1, 0, 0, 0, SlowpokeScript_0x1980cb, EVENT_AZALEA_TOWN_SLOWPOKES
person_event SPRITE_SLOWPOKE, 15, 15, $1, 0, 0, -1, -1, 0, 0, 0, SlowpokeScript_0x1980cb, EVENT_AZALEA_TOWN_SLOWPOKES
person_event SPRITE_FRUIT_TREE, 2, 8, $1, 0, 0, -1, -1, 0, 0, 0, WhiteApricornTree, -1
person_event SPRITE_AZALEA_ROCKET, 10, 11, $8, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_AZALEA_TOWN
person_event SPRITE_AZALEA_ROCKET, 16, 10, $6, 0, 0, -1, -1, 0, 0, 0, AzaleaRocketScript_0x1980ae, EVENT_SLOWPOKE_WELL_ROCKETS
person_event SPRITE_KURT_OUTSIDE, 5, 6, $8, 0, 0, -1, -1, 0, 0, 0, KurtOutsideScript_0x19810c, EVENT_AZALEA_TOWN_KURT

View File

@ -810,8 +810,8 @@ BattleTower1F_MapEventHeader:
.PersonEvents:
db 5
person_event SPRITE_RECEPTIONIST, 6 + 4, 7 + 4, $6, 0, 0, -1, -1, 0, 0, 0, ReceptionistScript_0x9e3e2, -1
person_event SPRITE_YOUNGSTER, 9 + 4, 14 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, YoungsterScript_0x9e55d, -1
person_event SPRITE_COOLTRAINER_F, 9 + 4, 4 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x9e568, -1
person_event SPRITE_BUG_CATCHER, 3 + 4, 1 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, BugCatcherScript_0x9e56b, -1
person_event SPRITE_GRANNY, 3 + 4, 14 + 4, $4, 1, 0, -1, -1, 0, 0, 0, GrannyScript_0x9e56e, -1
person_event SPRITE_RECEPTIONIST, 6, 7, $6, 0, 0, -1, -1, 0, 0, 0, ReceptionistScript_0x9e3e2, -1
person_event SPRITE_YOUNGSTER, 9, 14, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, YoungsterScript_0x9e55d, -1
person_event SPRITE_COOLTRAINER_F, 9, 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x9e568, -1
person_event SPRITE_BUG_CATCHER, 3, 1, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, BugCatcherScript_0x9e56b, -1
person_event SPRITE_GRANNY, 3, 14, $4, 1, 0, -1, -1, 0, 0, 0, GrannyScript_0x9e56e, -1

View File

@ -155,5 +155,5 @@ BattleTowerBattleRoom_MapEventHeader:
.PersonEvents:
db 2
person_event SPRITE_YOUNGSTER, 0 + 4, 4 + 4, $6, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_BATTLE_TOWER_BATTLE_ROOM_YOUNGSTER
person_event SPRITE_RECEPTIONIST, 6 + 4, 1 + 4, $9, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, -1
person_event SPRITE_YOUNGSTER, 0, 4, $6, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_BATTLE_TOWER_BATTLE_ROOM_YOUNGSTER
person_event SPRITE_RECEPTIONIST, 6, 1, $9, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, -1

View File

@ -60,4 +60,4 @@ BattleTowerElevator_MapEventHeader:
.PersonEvents:
db 1
person_event SPRITE_RECEPTIONIST, 2 + 4, 1 + 4, $9, 0, 0, -1, -1, 0, 0, 0, MovementData_0x9f58f, -1
person_event SPRITE_RECEPTIONIST, 2, 1, $9, 0, 0, -1, -1, 0, 0, 0, MovementData_0x9f58f, -1

View File

@ -98,4 +98,4 @@ BattleTowerHallway_MapEventHeader:
.PersonEvents:
db 1
person_event SPRITE_RECEPTIONIST, 2 + 4, 11 + 4, $6, 0, 0, -1, -1, 0, 0, 0, BattleTowerHallway_MapEventHeader, -1
person_event SPRITE_RECEPTIONIST, 2, 11, $6, 0, 0, -1, -1, 0, 0, 0, BattleTowerHallway_MapEventHeader, -1

View File

@ -142,7 +142,7 @@ BattleTowerOutside_MapEventHeader:
.PersonEvents:
db 4
person_event SPRITE_STANDING_YOUNGSTER, 12 + 4, 6 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, StandingYoungsterScript_0x9f85f, -1
person_event SPRITE_BUENA, 11 + 4, 13 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BuenaScript_0x9f862, -1
person_event SPRITE_SAILOR, 18 + 4, 12 + 4, $5, 0, 1, -1, -1, 0, 0, 0, SailorScript_0x9f865, EVENT_BATTLE_TOWER_OUTSIDE_SAILOR
person_event SPRITE_LASS, 24 + 4, 12 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ObjectEvent, -1
person_event SPRITE_STANDING_YOUNGSTER, 12, 6, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, StandingYoungsterScript_0x9f85f, -1
person_event SPRITE_BUENA, 11, 13, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BuenaScript_0x9f862, -1
person_event SPRITE_SAILOR, 18, 12, $5, 0, 1, -1, -1, 0, 0, 0, SailorScript_0x9f865, EVENT_BATTLE_TOWER_OUTSIDE_SAILOR
person_event SPRITE_LASS, 24, 12, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ObjectEvent, -1

View File

@ -367,4 +367,4 @@ BillsHouse_MapEventHeader:
.PersonEvents:
db 1
person_event SPRITE_GRAMPS, 3 + 4, 2 + 4, $7, 2, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrampsScript_0x189538, -1
person_event SPRITE_GRAMPS, 3, 2, $7, 2, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrampsScript_0x189538, -1

View File

@ -333,12 +333,12 @@ BlackthornCity_MapEventHeader:
.PersonEvents:
db 9
person_event SPRITE_SUPER_NERD, 12 + 4, 18 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x1a46e8, EVENT_BLACKTHORN_CITY_SUPER_NERD_BLOCKS_GYM
person_event SPRITE_SUPER_NERD, 12 + 4, 19 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x1a46e8, EVENT_BLACKTHORN_CITY_SUPER_NERD_DOES_NOT_BLOCK_GYM
person_event SPRITE_GRAMPS, 2 + 4, 20 + 4, $6, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x1a4708, EVENT_BLACKTHORN_CITY_GRAMPS_BLOCKS_DRAGONS_DEN
person_event SPRITE_GRAMPS, 2 + 4, 21 + 4, $8, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x1a470b, EVENT_BLACKTHORN_CITY_GRAMPS_NOT_BLOCKING_DRAGONS_DEN
person_event SPRITE_BLACK_BELT, 31 + 4, 24 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, BlackBeltScript_0x1a470e, -1
person_event SPRITE_COOLTRAINER_F, 25 + 4, 9 + 4, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x1a4722, -1
person_event SPRITE_YOUNGSTER, 15 + 4, 13 + 4, $5, 0, 1, -1, -1, 0, 0, 0, YoungsterScript_0x1a4725, -1
person_event SPRITE_YOUNGSTER, 20 + 4, 22 + 4, $6, 0, 0, -1, -1, 0, 0, 0, SantosScript, EVENT_BLACKTHORN_CITY_SANTOS_OF_SATURDAY
person_event SPRITE_COOLTRAINER_F, 19 + 4, 35 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x1a4728, -1
person_event SPRITE_SUPER_NERD, 12, 18, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x1a46e8, EVENT_BLACKTHORN_CITY_SUPER_NERD_BLOCKS_GYM
person_event SPRITE_SUPER_NERD, 12, 19, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x1a46e8, EVENT_BLACKTHORN_CITY_SUPER_NERD_DOES_NOT_BLOCK_GYM
person_event SPRITE_GRAMPS, 2, 20, $6, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x1a4708, EVENT_BLACKTHORN_CITY_GRAMPS_BLOCKS_DRAGONS_DEN
person_event SPRITE_GRAMPS, 2, 21, $8, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x1a470b, EVENT_BLACKTHORN_CITY_GRAMPS_NOT_BLOCKING_DRAGONS_DEN
person_event SPRITE_BLACK_BELT, 31, 24, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, BlackBeltScript_0x1a470e, -1
person_event SPRITE_COOLTRAINER_F, 25, 9, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x1a4722, -1
person_event SPRITE_YOUNGSTER, 15, 13, $5, 0, 1, -1, -1, 0, 0, 0, YoungsterScript_0x1a4725, -1
person_event SPRITE_YOUNGSTER, 20, 22, $6, 0, 0, -1, -1, 0, 0, 0, SantosScript, EVENT_BLACKTHORN_CITY_SANTOS_OF_SATURDAY
person_event SPRITE_COOLTRAINER_F, 19, 35, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x1a4728, -1

View File

@ -35,4 +35,4 @@ BlackthornDodrioTradeHouse_MapEventHeader:
.PersonEvents:
db 1
person_event SPRITE_LASS, 3 + 4, 2 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, Emy, -1
person_event SPRITE_LASS, 3, 2, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, Emy, -1

View File

@ -58,5 +58,5 @@ BlackthornDragonSpeechHouse_MapEventHeader:
.PersonEvents:
db 2
person_event SPRITE_GRANNY, 3 + 4, 2 + 4, $3, 0, 0, -1, -1, 0, 0, 0, GrannyScript_0x195949, -1
person_event SPRITE_EKANS, 5 + 4, 5 + 4, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, EkansScript_0x19594c, -1
person_event SPRITE_GRANNY, 3, 2, $3, 0, 0, -1, -1, 0, 0, 0, GrannyScript_0x195949, -1
person_event SPRITE_EKANS, 5, 5, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, EkansScript_0x19594c, -1

View File

@ -404,8 +404,8 @@ BlackthornGym1F_MapEventHeader:
.PersonEvents:
db 5
person_event SPRITE_CLAIR, 3 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClairScript_0x194e24, -1
person_event SPRITE_COOLTRAINER_M, 6 + 4, 6 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainermMike, -1
person_event SPRITE_COOLTRAINER_M, 14 + 4, 1 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainermPaul, -1
person_event SPRITE_COOLTRAINER_F, 2 + 4, 9 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerCooltrainerfLola, -1
person_event SPRITE_GYM_GUY, 15 + 4, 7 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, BlackthornGymGuyScript, -1
person_event SPRITE_CLAIR, 3, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClairScript_0x194e24, -1
person_event SPRITE_COOLTRAINER_M, 6, 6, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainermMike, -1
person_event SPRITE_COOLTRAINER_M, 14, 1, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainermPaul, -1
person_event SPRITE_COOLTRAINER_F, 2, 9, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerCooltrainerfLola, -1
person_event SPRITE_GYM_GUY, 15, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, BlackthornGymGuyScript, -1

View File

@ -145,11 +145,11 @@ BlackthornGym2F_MapEventHeader:
.PersonEvents:
db 8
person_event SPRITE_COOLTRAINER_M, 1 + 4, 4 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerCooltrainermCody, -1
person_event SPRITE_COOLTRAINER_F, 11 + 4, 4 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerCooltrainerfFran, -1
person_event SPRITE_BOULDER, 2 + 4, 8 + 4, $19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, EVENT_BOULDER_IN_BLACKTHORN_GYM_1
person_event SPRITE_BOULDER, 3 + 4, 2 + 4, $19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, EVENT_BOULDER_IN_BLACKTHORN_GYM_2
person_event SPRITE_BOULDER, 16 + 4, 6 + 4, $19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, EVENT_BOULDER_IN_BLACKTHORN_GYM_3
person_event SPRITE_BOULDER, 3 + 4, 3 + 4, $19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, -1
person_event SPRITE_BOULDER, 1 + 4, 6 + 4, $19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, -1
person_event SPRITE_BOULDER, 14 + 4, 8 + 4, $19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, -1
person_event SPRITE_COOLTRAINER_M, 1, 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerCooltrainermCody, -1
person_event SPRITE_COOLTRAINER_F, 11, 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerCooltrainerfFran, -1
person_event SPRITE_BOULDER, 2, 8, $19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, EVENT_BOULDER_IN_BLACKTHORN_GYM_1
person_event SPRITE_BOULDER, 3, 2, $19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, EVENT_BOULDER_IN_BLACKTHORN_GYM_2
person_event SPRITE_BOULDER, 16, 6, $19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, EVENT_BOULDER_IN_BLACKTHORN_GYM_3
person_event SPRITE_BOULDER, 3, 3, $19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, -1
person_event SPRITE_BOULDER, 1, 6, $19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, -1
person_event SPRITE_BOULDER, 14, 8, $19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, -1

View File

@ -58,6 +58,6 @@ BlackthornMart_MapEventHeader:
.PersonEvents:
db 3
person_event SPRITE_CLERK, 3 + 4, 1 + 4, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x195a5d, -1
person_event SPRITE_COOLTRAINER_M, 6 + 4, 7 + 4, $5, 0, 2, -1, -1, 0, 0, 0, CooltrainerMScript_0x195a64, -1
person_event SPRITE_BLACK_BELT, 2 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BlackBeltScript_0x195a67, -1
person_event SPRITE_CLERK, 3, 1, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x195a5d, -1
person_event SPRITE_COOLTRAINER_M, 6, 7, $5, 0, 2, -1, -1, 0, 0, 0, CooltrainerMScript_0x195a64, -1
person_event SPRITE_BLACK_BELT, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BlackBeltScript_0x195a67, -1

View File

@ -61,7 +61,7 @@ BlackthornPokeCenter1F_MapEventHeader:
.PersonEvents:
db 4
person_event SPRITE_NURSE, 1 + 4, 3 + 4, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x195b79, -1
person_event SPRITE_GENTLEMAN, 3 + 4, 5 + 4, $6, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x195b7c, -1
person_event SPRITE_TWIN, 4 + 4, 1 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TwinScript_0x195b7f, -1
person_event SPRITE_COOLTRAINER_M, 6 + 4, 7 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x195b82, -1
person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x195b79, -1
person_event SPRITE_GENTLEMAN, 3, 5, $6, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x195b7c, -1
person_event SPRITE_TWIN, 4, 1, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TwinScript_0x195b7f, -1
person_event SPRITE_COOLTRAINER_M, 6, 7, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x195b82, -1

View File

@ -158,4 +158,4 @@ BluesHouse_MapEventHeader:
.PersonEvents:
db 1
person_event SPRITE_DAISY, 3 + 4, 2 + 4, $3, 0, 0, -1, -1, 0, 0, 0, DaisyScript_0x19b0d0, -1
person_event SPRITE_DAISY, 3, 2, $3, 0, 0, -1, -1, 0, 0, 0, DaisyScript_0x19b0d0, -1

View File

@ -145,4 +145,4 @@ BrunosRoom_MapEventHeader:
.PersonEvents:
db 1
person_event SPRITE_BRUNO, 7 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, BrunoScript_0x1809c5, -1
person_event SPRITE_BRUNO, 7, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, BrunoScript_0x1809c5, -1

View File

@ -309,8 +309,8 @@ BurnedTower1F_MapEventHeader:
.PersonEvents:
db 5
person_event SPRITE_ROCK, 4 + 4, 15 + 4, $18, 0, 0, -1, -1, 0, 0, 0, BurnedTower1FRock, -1
person_event SPRITE_SUPER_NERD, 12 + 4, 12 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x185cbc, EVENT_BURNED_TOWER_1F_EUSINE
person_event SPRITE_SILVER, 9 + 4, 8 + 4, $8, 0, 0, -1, -1, 0, 2, 3, ObjectEvent, EVENT_RIVAL_BURNED_TOWER
person_event SPRITE_MORTY, 14 + 4, 14 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, MortyScript_0x185cbf, EVENT_BURNED_TOWER_MORTY
person_event SPRITE_POKE_BALL, 2 + 4, 14 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185ccb, EVENT_BURNED_TOWER_1F_HP_UP
person_event SPRITE_ROCK, 4, 15, $18, 0, 0, -1, -1, 0, 0, 0, BurnedTower1FRock, -1
person_event SPRITE_SUPER_NERD, 12, 12, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x185cbc, EVENT_BURNED_TOWER_1F_EUSINE
person_event SPRITE_SILVER, 9, 8, $8, 0, 0, -1, -1, 0, 2, 3, ObjectEvent, EVENT_RIVAL_BURNED_TOWER
person_event SPRITE_MORTY, 14, 14, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, MortyScript_0x185cbf, EVENT_BURNED_TOWER_MORTY
person_event SPRITE_POKE_BALL, 2, 14, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185ccb, EVENT_BURNED_TOWER_1F_HP_UP

View File

@ -251,12 +251,12 @@ BurnedTowerB1F_MapEventHeader:
.PersonEvents:
db 9
person_event SPRITE_BOULDER, 8 + 4, 17 + 4, $19, 0, 0, -1, -1, 0, 0, 0, BurnedTowerB1FBoulder, -1
person_event SPRITE_RAIKOU, 3 + 4, 7 + 4, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_1
person_event SPRITE_ENTEI, 3 + 4, 12 + 4, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_1
person_event SPRITE_SUICUNE, 4 + 4, 10 + 4, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_1
person_event SPRITE_RAIKOU, 3 + 4, 7 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_SILVER, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_2
person_event SPRITE_ENTEI, 3 + 4, 12 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_SILVER, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_2
person_event SPRITE_SUICUNE, 4 + 4, 10 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_SILVER, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_2
person_event SPRITE_POKE_BALL, 4 + 4, 16 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x186231, EVENT_BURNED_TOWER_B1F_TM_ENDURE
person_event SPRITE_SUPER_NERD, 12 + 4, 10 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x186212, EVENT_EUSINE_IN_BURNED_TOWER
person_event SPRITE_BOULDER, 8, 17, $19, 0, 0, -1, -1, 0, 0, 0, BurnedTowerB1FBoulder, -1
person_event SPRITE_RAIKOU, 3, 7, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_1
person_event SPRITE_ENTEI, 3, 12, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_1
person_event SPRITE_SUICUNE, 4, 10, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_1
person_event SPRITE_RAIKOU, 3, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_SILVER, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_2
person_event SPRITE_ENTEI, 3, 12, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_SILVER, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_2
person_event SPRITE_SUICUNE, 4, 10, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_SILVER, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_2
person_event SPRITE_POKE_BALL, 4, 16, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x186231, EVENT_BURNED_TOWER_B1F_TM_ENDURE
person_event SPRITE_SUPER_NERD, 12, 10, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x186212, EVENT_EUSINE_IN_BURNED_TOWER

View File

@ -219,8 +219,8 @@ CeladonCafe_MapEventHeader:
.PersonEvents:
db 5
person_event SPRITE_SUPER_NERD, 3 + 4, 9 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, SuperNerdScript_0x73049, -1
person_event SPRITE_FISHER, 6 + 4, 4 + 4, $8, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x73051, -1
person_event SPRITE_FISHER, 7 + 4, 1 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x73062, -1
person_event SPRITE_FISHER, 2 + 4, 1 + 4, $9, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x73073, -1
person_event SPRITE_TEACHER, 3 + 4, 4 + 4, $8, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x73084, -1
person_event SPRITE_SUPER_NERD, 3, 9, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, SuperNerdScript_0x73049, -1
person_event SPRITE_FISHER, 6, 4, $8, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x73051, -1
person_event SPRITE_FISHER, 7, 1, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x73062, -1
person_event SPRITE_FISHER, 2, 1, $9, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x73073, -1
person_event SPRITE_TEACHER, 3, 4, $8, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x73084, -1

View File

@ -257,12 +257,12 @@ CeladonCity_MapEventHeader:
.PersonEvents:
db 9
person_event SPRITE_FISHER, 11 + 4, 26 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x1a9f43, -1
person_event SPRITE_POLIWAG, 11 + 4, 27 + 4, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CeladonCityPoliwrath, -1
person_event SPRITE_TEACHER, 24 + 4, 20 + 4, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, TeacherScript_0x1a9f50, -1
person_event SPRITE_GRAMPS, 16 + 4, 14 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, GrampsScript_0x1a9f53, -1
person_event SPRITE_GRAMPS, 31 + 4, 8 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GrampsScript_0x1a9f56, -1
person_event SPRITE_YOUNGSTER, 13 + 4, 18 + 4, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, YoungsterScript_0x1a9f59, -1
person_event SPRITE_YOUNGSTER, 33 + 4, 24 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x1a9f5c, -1
person_event SPRITE_TEACHER, 14 + 4, 6 + 4, $2, 2, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x1a9f5f, -1
person_event SPRITE_LASS, 22 + 4, 7 + 4, $4, 2, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, LassScript_0x1a9f62, -1
person_event SPRITE_FISHER, 11, 26, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x1a9f43, -1
person_event SPRITE_POLIWAG, 11, 27, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CeladonCityPoliwrath, -1
person_event SPRITE_TEACHER, 24, 20, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, TeacherScript_0x1a9f50, -1
person_event SPRITE_GRAMPS, 16, 14, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, GrampsScript_0x1a9f53, -1
person_event SPRITE_GRAMPS, 31, 8, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GrampsScript_0x1a9f56, -1
person_event SPRITE_YOUNGSTER, 13, 18, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, YoungsterScript_0x1a9f59, -1
person_event SPRITE_YOUNGSTER, 33, 24, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x1a9f5c, -1
person_event SPRITE_TEACHER, 14, 6, $2, 2, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x1a9f5f, -1
person_event SPRITE_LASS, 22, 7, $4, 2, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, LassScript_0x1a9f62, -1

View File

@ -89,6 +89,6 @@ CeladonDeptStore1F_MapEventHeader:
.PersonEvents:
db 3
person_event SPRITE_RECEPTIONIST, 1 + 4, 10 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ReceptionistScript_0x709e0, -1
person_event SPRITE_GENTLEMAN, 4 + 4, 11 + 4, $2, 1, 1, -1, -1, 0, 0, 0, GentlemanScript_0x709e3, -1
person_event SPRITE_TEACHER, 3 + 4, 5 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x709e6, -1
person_event SPRITE_RECEPTIONIST, 1, 10, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ReceptionistScript_0x709e0, -1
person_event SPRITE_GENTLEMAN, 4, 11, $2, 1, 1, -1, -1, 0, 0, 0, GentlemanScript_0x709e3, -1
person_event SPRITE_TEACHER, 3, 5, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x709e6, -1

View File

@ -82,7 +82,7 @@ CeladonDeptStore2F_MapEventHeader:
.PersonEvents:
db 4
person_event SPRITE_CLERK, 5 + 4, 13 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x70bad, -1
person_event SPRITE_CLERK, 5 + 4, 14 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x70bb5, -1
person_event SPRITE_POKEFAN_M, 2 + 4, 5 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x70bbd, -1
person_event SPRITE_YOUNGSTER, 2 + 4, 6 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x70bc0, -1
person_event SPRITE_CLERK, 5, 13, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x70bad, -1
person_event SPRITE_CLERK, 5, 14, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x70bb5, -1
person_event SPRITE_POKEFAN_M, 2, 5, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x70bbd, -1
person_event SPRITE_YOUNGSTER, 2, 6, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x70bc0, -1

View File

@ -107,8 +107,8 @@ CeladonDeptStore3F_MapEventHeader:
.PersonEvents:
db 5
person_event SPRITE_CLERK, 1 + 4, 7 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x70d29, -1
person_event SPRITE_YOUNGSTER, 4 + 4, 6 + 4, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x70d31, -1
person_event SPRITE_GAMEBOY_KID, 1 + 4, 9 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GameboyKidScript_0x70d34, -1
person_event SPRITE_GAMEBOY_KID, 1 + 4, 10 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GameboyKidScript_0x70d3f, -1
person_event SPRITE_SUPER_NERD, 4 + 4, 13 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x70d4a, -1
person_event SPRITE_CLERK, 1, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x70d29, -1
person_event SPRITE_YOUNGSTER, 4, 6, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x70d31, -1
person_event SPRITE_GAMEBOY_KID, 1, 9, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GameboyKidScript_0x70d34, -1
person_event SPRITE_GAMEBOY_KID, 1, 10, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GameboyKidScript_0x70d3f, -1
person_event SPRITE_SUPER_NERD, 4, 13, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x70d4a, -1

View File

@ -65,6 +65,6 @@ CeladonDeptStore4F_MapEventHeader:
.PersonEvents:
db 3
person_event SPRITE_CLERK, 5 + 4, 13 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x70f0d, -1
person_event SPRITE_SUPER_NERD, 6 + 4, 7 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x70f15, -1
person_event SPRITE_YOUNGSTER, 2 + 4, 8 + 4, $7, 0, 0, -1, -1, 0, 0, 0, YoungsterScript_0x70f18, -1
person_event SPRITE_CLERK, 5, 13, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x70f0d, -1
person_event SPRITE_SUPER_NERD, 6, 7, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x70f15, -1
person_event SPRITE_YOUNGSTER, 2, 8, $7, 0, 0, -1, -1, 0, 0, 0, YoungsterScript_0x70f18, -1

View File

@ -84,8 +84,8 @@ CeladonDeptStore5F_MapEventHeader:
.PersonEvents:
db 5
person_event SPRITE_CLERK, 5 + 4, 7 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x71004, -1
person_event SPRITE_CLERK, 5 + 4, 8 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x7100c, -1
person_event SPRITE_GENTLEMAN, 5 + 4, 13 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GentlemanScript_0x71014, -1
person_event SPRITE_SAILOR, 4 + 4, 3 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SailorScript_0x71017, -1
person_event SPRITE_TEACHER, 7 + 4, 1 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x7101a, -1
person_event SPRITE_CLERK, 5, 7, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x71004, -1
person_event SPRITE_CLERK, 5, 8, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x7100c, -1
person_event SPRITE_GENTLEMAN, 5, 13, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GentlemanScript_0x71014, -1
person_event SPRITE_SAILOR, 4, 3, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SailorScript_0x71017, -1
person_event SPRITE_TEACHER, 7, 1, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x7101a, -1

View File

@ -168,5 +168,5 @@ CeladonDeptStore6F_MapEventHeader:
.PersonEvents:
db 2
person_event SPRITE_SUPER_NERD, 2 + 4, 9 + 4, $7, 0, 0, -1, -1, 0, 0, 0, SuperNerdScript_0x7117a, -1
person_event SPRITE_YOUNGSTER, 5 + 4, 12 + 4, $2, 1, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x7117d, -1
person_event SPRITE_SUPER_NERD, 2, 9, $7, 0, 0, -1, -1, 0, 0, 0, SuperNerdScript_0x7117a, -1
person_event SPRITE_YOUNGSTER, 5, 12, $2, 1, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x7117d, -1

View File

@ -325,12 +325,12 @@ CeladonGameCorner_MapEventHeader:
.PersonEvents:
db 9
person_event SPRITE_CLERK, 2 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ClerkScript_0x7211d, -1
person_event SPRITE_RECEPTIONIST, 2 + 4, 3 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ReceptionistScript_0x72120, -1
person_event SPRITE_POKEFAN_M, 10 + 4, 14 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x72123, -1
person_event SPRITE_TEACHER, 7 + 4, 17 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x7212e, -1
person_event SPRITE_FISHING_GURU, 7 + 4, 11 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FishingGuruScript_0x72139, -1
person_event SPRITE_FISHER, 10 + 4, 8 + 4, $8, 0, 0, -1, 2, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x72144, -1
person_event SPRITE_FISHER, 10 + 4, 8 + 4, $8, 0, 0, -1, 4, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x72144, -1
person_event SPRITE_GYM_GUY, 3 + 4, 11 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CeladonGymGuyScript, -1
person_event SPRITE_GRAMPS, 8 + 4, 2 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GrampsScript_0x72190, -1
person_event SPRITE_CLERK, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ClerkScript_0x7211d, -1
person_event SPRITE_RECEPTIONIST, 2, 3, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ReceptionistScript_0x72120, -1
person_event SPRITE_POKEFAN_M, 10, 14, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x72123, -1
person_event SPRITE_TEACHER, 7, 17, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x7212e, -1
person_event SPRITE_FISHING_GURU, 7, 11, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FishingGuruScript_0x72139, -1
person_event SPRITE_FISHER, 10, 8, $8, 0, 0, -1, 2, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x72144, -1
person_event SPRITE_FISHER, 10, 8, $8, 0, 0, -1, 4, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x72144, -1
person_event SPRITE_GYM_GUY, 3, 11, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CeladonGymGuyScript, -1
person_event SPRITE_GRAMPS, 8, 2, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GrampsScript_0x72190, -1

View File

@ -284,5 +284,5 @@ CeladonGameCornerPrizeRoom_MapEventHeader:
.PersonEvents:
db 2
person_event SPRITE_GENTLEMAN, 2 + 4, 0 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GentlemanScript_0x726e9, -1
person_event SPRITE_PHARMACIST, 4 + 4, 4 + 4, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, PharmacistScript_0x726ec, -1
person_event SPRITE_GENTLEMAN, 2, 0, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GentlemanScript_0x726e9, -1
person_event SPRITE_PHARMACIST, 4, 4, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, PharmacistScript_0x726ec, -1

View File

@ -278,9 +278,9 @@ CeladonGym_MapEventHeader:
.PersonEvents:
db 6
person_event SPRITE_ERIKA, 3 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ErikaScript_0x72a6a, -1
person_event SPRITE_LASS, 8 + 4, 7 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerLassMichelle, -1
person_event SPRITE_LASS, 8 + 4, 2 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerPicnickerTanya, -1
person_event SPRITE_BUENA, 5 + 4, 3 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerBeautyJulia, -1
person_event SPRITE_TWIN, 10 + 4, 4 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsJoandzoe1, -1
person_event SPRITE_TWIN, 10 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsJoandzoe2, -1
person_event SPRITE_ERIKA, 3, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ErikaScript_0x72a6a, -1
person_event SPRITE_LASS, 8, 7, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerLassMichelle, -1
person_event SPRITE_LASS, 8, 2, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerPicnickerTanya, -1
person_event SPRITE_BUENA, 5, 3, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerBeautyJulia, -1
person_event SPRITE_TWIN, 10, 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsJoandzoe1, -1
person_event SPRITE_TWIN, 10, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsJoandzoe2, -1

View File

@ -91,7 +91,7 @@ CeladonMansion1F_MapEventHeader:
.PersonEvents:
db 4
person_event SPRITE_GRANNY, 5 + 4, 1 + 4, $3, 0, 0, -1, -1, 0, 0, 0, CeladonMansionManager, -1
person_event SPRITE_GROWLITHE, 6 + 4, 2 + 4, $16, 0, 0, -1, -1, 0, 0, 0, CeladonMansion1FMeowth, -1
person_event SPRITE_CLEFAIRY, 4 + 4, 3 + 4, $16, 0, 0, -1, -1, 0, 0, 0, CeladonMansion1FClefairy, -1
person_event SPRITE_GROWLITHE, 4 + 4, 4 + 4, $16, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CeladonMansion1FNidoranF, -1
person_event SPRITE_GRANNY, 5, 1, $3, 0, 0, -1, -1, 0, 0, 0, CeladonMansionManager, -1
person_event SPRITE_GROWLITHE, 6, 2, $16, 0, 0, -1, -1, 0, 0, 0, CeladonMansion1FMeowth, -1
person_event SPRITE_CLEFAIRY, 4, 3, $16, 0, 0, -1, -1, 0, 0, 0, CeladonMansion1FClefairy, -1
person_event SPRITE_GROWLITHE, 4, 4, $16, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CeladonMansion1FNidoranF, -1

View File

@ -206,7 +206,7 @@ CeladonMansion3F_MapEventHeader:
.PersonEvents:
db 4
person_event SPRITE_COOLTRAINER_M, 6 + 4, 3 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x71670, -1
person_event SPRITE_GYM_GUY, 4 + 4, 3 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GymGuyScript_0x71696, -1
person_event SPRITE_SUPER_NERD, 7 + 4, 0 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x716bc, -1
person_event SPRITE_FISHER, 4 + 4, 0 + 4, $7, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x716bf, -1
person_event SPRITE_COOLTRAINER_M, 6, 3, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x71670, -1
person_event SPRITE_GYM_GUY, 4, 3, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GymGuyScript_0x71696, -1
person_event SPRITE_SUPER_NERD, 7, 0, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x716bc, -1
person_event SPRITE_FISHER, 4, 0, $7, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x716bf, -1

View File

@ -49,4 +49,4 @@ CeladonMansionRoof_MapEventHeader:
.PersonEvents:
db 1
person_event SPRITE_FISHER, 5 + 4, 7 + 4, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FisherScript_0x71a39, -1
person_event SPRITE_FISHER, 5, 7, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FisherScript_0x71a39, -1

View File

@ -130,4 +130,4 @@ CeladonMansionRoofHouse_MapEventHeader:
.PersonEvents:
db 1
person_event SPRITE_PHARMACIST, 2 + 4, 3 + 4, $6, 2, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, PharmacistScript_0x71afd, -1
person_event SPRITE_PHARMACIST, 2, 3, $6, 2, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, PharmacistScript_0x71afd, -1

View File

@ -156,8 +156,8 @@ CeladonPokeCenter1F_MapEventHeader:
.PersonEvents:
db 5
person_event SPRITE_NURSE, 1 + 4, 3 + 4, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x71e22, -1
person_event SPRITE_GENTLEMAN, 5 + 4, 1 + 4, $5, 0, 1, -1, -1, 0, 0, 0, GentlemanScript_0x71e25, -1
person_event SPRITE_PHARMACIST, 3 + 4, 0 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PharmacistScript_0x71e2b, -1
person_event SPRITE_COOLTRAINER_F, 6 + 4, 8 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x71e28, -1
person_event SPRITE_SUPER_NERD, 3 + 4, 4 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x71e2e, EVENT_SET_WHEN_FOUGHT_HO_OH
person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x71e22, -1
person_event SPRITE_GENTLEMAN, 5, 1, $5, 0, 1, -1, -1, 0, 0, 0, GentlemanScript_0x71e25, -1
person_event SPRITE_PHARMACIST, 3, 0, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PharmacistScript_0x71e2b, -1
person_event SPRITE_COOLTRAINER_F, 6, 8, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x71e28, -1
person_event SPRITE_SUPER_NERD, 3, 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x71e2e, EVENT_SET_WHEN_FOUGHT_HO_OH

View File

@ -299,9 +299,9 @@ CeruleanCity_MapEventHeader:
.PersonEvents:
db 6
person_event SPRITE_COOLTRAINER_M, 23 + 4, 15 + 4, $2, 2, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CooltrainerMScript_0x184009, -1
person_event SPRITE_SUPER_NERD, 15 + 4, 23 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x18401d, -1
person_event SPRITE_SLOWPOKE, 24 + 4, 20 + 4, $1, 0, 0, -1, -1, 0, 0, 0, CeruleanCitySlowbro, -1
person_event SPRITE_COOLTRAINER_F, 24 + 4, 21 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x18402a, -1
person_event SPRITE_FISHER, 26 + 4, 30 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x18404a, -1
person_event SPRITE_YOUNGSTER, 12 + 4, 6 + 4, $3, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x184064, -1
person_event SPRITE_COOLTRAINER_M, 23, 15, $2, 2, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CooltrainerMScript_0x184009, -1
person_event SPRITE_SUPER_NERD, 15, 23, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x18401d, -1
person_event SPRITE_SLOWPOKE, 24, 20, $1, 0, 0, -1, -1, 0, 0, 0, CeruleanCitySlowbro, -1
person_event SPRITE_COOLTRAINER_F, 24, 21, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x18402a, -1
person_event SPRITE_FISHER, 26, 30, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x18404a, -1
person_event SPRITE_YOUNGSTER, 12, 6, $3, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x184064, -1

View File

@ -377,9 +377,9 @@ CeruleanGym_MapEventHeader:
.PersonEvents:
db 6
person_event SPRITE_ROCKET, 10 + 4, 4 + 4, $6, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_CERULEAN_GYM_ROCKET
person_event SPRITE_MISTY, 3 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, MistyScript_0x188432, EVENT_TRAINERS_IN_CERULEAN_GYM
person_event SPRITE_SWIMMER_GIRL, 6 + 4, 4 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfDiana, EVENT_TRAINERS_IN_CERULEAN_GYM
person_event SPRITE_SWIMMER_GIRL, 9 + 4, 1 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerSwimmerfBriana, EVENT_TRAINERS_IN_CERULEAN_GYM
person_event SPRITE_SWIMMER_GUY, 9 + 4, 8 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermParker, EVENT_TRAINERS_IN_CERULEAN_GYM
person_event SPRITE_GYM_GUY, 13 + 4, 7 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CeruleanGymGuyScript, EVENT_TRAINERS_IN_CERULEAN_GYM
person_event SPRITE_ROCKET, 10, 4, $6, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_CERULEAN_GYM_ROCKET
person_event SPRITE_MISTY, 3, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, MistyScript_0x188432, EVENT_TRAINERS_IN_CERULEAN_GYM
person_event SPRITE_SWIMMER_GIRL, 6, 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfDiana, EVENT_TRAINERS_IN_CERULEAN_GYM
person_event SPRITE_SWIMMER_GIRL, 9, 1, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerSwimmerfBriana, EVENT_TRAINERS_IN_CERULEAN_GYM
person_event SPRITE_SWIMMER_GUY, 9, 8, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermParker, EVENT_TRAINERS_IN_CERULEAN_GYM
person_event SPRITE_GYM_GUY, 13, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CeruleanGymGuyScript, EVENT_TRAINERS_IN_CERULEAN_GYM

View File

@ -30,4 +30,4 @@ CeruleanGymBadgeSpeechHouse_MapEventHeader:
.PersonEvents:
db 1
person_event SPRITE_POKEFAN_M, 3 + 4, 2 + 4, $9, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x188002, -1
person_event SPRITE_POKEFAN_M, 3, 2, $9, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x188002, -1

View File

@ -57,6 +57,6 @@ CeruleanMart_MapEventHeader:
.PersonEvents:
db 3
person_event SPRITE_CLERK, 3 + 4, 1 + 4, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x188ac0, -1
person_event SPRITE_COOLTRAINER_M, 6 + 4, 1 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerMScript_0x188ac7, -1
person_event SPRITE_COOLTRAINER_F, 2 + 4, 7 + 4, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x188aca, -1
person_event SPRITE_CLERK, 3, 1, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x188ac0, -1
person_event SPRITE_COOLTRAINER_M, 6, 1, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerMScript_0x188ac7, -1
person_event SPRITE_COOLTRAINER_F, 2, 7, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x188aca, -1

View File

@ -75,6 +75,6 @@ CeruleanPokeCenter1F_MapEventHeader:
.PersonEvents:
db 3
person_event SPRITE_NURSE, 1 + 4, 3 + 4, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x18820f, -1
person_event SPRITE_SUPER_NERD, 4 + 4, 8 + 4, $5, 0, 1, -1, -1, 0, 0, 0, SuperNerdScript_0x188212, -1
person_event SPRITE_GYM_GUY, 5 + 4, 1 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GymGuyScript_0x18821e, -1
person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x18820f, -1
person_event SPRITE_SUPER_NERD, 4, 8, $5, 0, 1, -1, -1, 0, 0, 0, SuperNerdScript_0x188212, -1
person_event SPRITE_GYM_GUY, 5, 1, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GymGuyScript_0x18821e, -1

View File

@ -55,6 +55,6 @@ CeruleanPoliceStation_MapEventHeader:
.PersonEvents:
db 3
person_event SPRITE_FISHING_GURU, 1 + 4, 5 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FishingGuruScript_0x18804a, -1
person_event SPRITE_POKEFAN_F, 4 + 4, 5 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, PokefanFScript_0x18804d, -1
person_event SPRITE_DIGLETT, 5 + 4, 3 + 4, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, DiglettScript_0x188050, -1
person_event SPRITE_FISHING_GURU, 1, 5, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FishingGuruScript_0x18804a, -1
person_event SPRITE_POKEFAN_F, 4, 5, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, PokefanFScript_0x18804d, -1
person_event SPRITE_DIGLETT, 5, 3, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, DiglettScript_0x188050, -1

View File

@ -64,7 +64,7 @@ CeruleanTradeSpeechHouse_MapEventHeader:
.PersonEvents:
db 4
person_event SPRITE_GRANNY, 4 + 4, 2 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrannyScript_0x188133, -1
person_event SPRITE_GRAMPS, 2 + 4, 1 + 4, $2, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GrampsScript_0x188136, -1
person_event SPRITE_RHYDON, 2 + 4, 5 + 4, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, RhydonScript_0x188139, -1
person_event SPRITE_ZUBAT, 6 + 4, 5 + 4, $16, 0, 0, -1, -1, 0, 0, 0, ZubatScript_0x188143, -1
person_event SPRITE_GRANNY, 4, 2, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrannyScript_0x188133, -1
person_event SPRITE_GRAMPS, 2, 1, $2, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GrampsScript_0x188136, -1
person_event SPRITE_RHYDON, 2, 5, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, RhydonScript_0x188139, -1
person_event SPRITE_ZUBAT, 6, 5, $16, 0, 0, -1, -1, 0, 0, 0, ZubatScript_0x188143, -1

View File

@ -163,6 +163,6 @@ CharcoalKiln_MapEventHeader:
.PersonEvents:
db 3
person_event SPRITE_BLACK_BELT, 3 + 4, 2 + 4, $3, 0, 0, -1, -1, 0, 0, 0, CharcoalKilnBoss, EVENT_CHARCOAL_KILN_BOSS
person_event SPRITE_YOUNGSTER, 3 + 4, 5 + 4, $2, 1, 1, -1, -1, 0, 0, 0, CharcoalKilnApprentice, EVENT_CHARCOAL_KILN_APPRENTICE
person_event SPRITE_MOLTRES, 6 + 4, 5 + 4, $16, 2, 2, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, CharcoalKilnFarfetchd, EVENT_CHARCOAL_KILN_FARFETCH_D
person_event SPRITE_BLACK_BELT, 3, 2, $3, 0, 0, -1, -1, 0, 0, 0, CharcoalKilnBoss, EVENT_CHARCOAL_KILN_BOSS
person_event SPRITE_YOUNGSTER, 3, 5, $2, 1, 1, -1, -1, 0, 0, 0, CharcoalKilnApprentice, EVENT_CHARCOAL_KILN_APPRENTICE
person_event SPRITE_MOLTRES, 6, 5, $16, 2, 2, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, CharcoalKilnFarfetchd, EVENT_CHARCOAL_KILN_FARFETCH_D

View File

@ -570,8 +570,8 @@ CherrygroveCity_MapEventHeader:
.PersonEvents:
db 5
person_event SPRITE_GRAMPS, 6 + 4, 32 + 4, $6, 0, 0, -1, -1, 0, 0, 0, CherrygroveCityGuideGent, EVENT_GUIDE_GENT_IN_HIS_HOUSE
person_event SPRITE_SILVER, 6 + 4, 39 + 4, $3, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_CHERRYGROVE_CITY
person_event SPRITE_TEACHER, 12 + 4, 27 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x19c146, -1
person_event SPRITE_YOUNGSTER, 7 + 4, 23 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x19c15a, -1
person_event SPRITE_FISHER, 12 + 4, 7 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, MysticWaterGuy, -1
person_event SPRITE_GRAMPS, 6, 32, $6, 0, 0, -1, -1, 0, 0, 0, CherrygroveCityGuideGent, EVENT_GUIDE_GENT_IN_HIS_HOUSE
person_event SPRITE_SILVER, 6, 39, $3, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_CHERRYGROVE_CITY
person_event SPRITE_TEACHER, 12, 27, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x19c146, -1
person_event SPRITE_YOUNGSTER, 7, 23, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x19c15a, -1
person_event SPRITE_FISHER, 12, 7, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, MysticWaterGuy, -1

View File

@ -56,5 +56,5 @@ CherrygroveEvolutionSpeechHouse_MapEventHeader:
.PersonEvents:
db 2
person_event SPRITE_LASS, 5 + 4, 3 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x196cb9, -1
person_event SPRITE_YOUNGSTER, 5 + 4, 2 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x196cb2, -1
person_event SPRITE_LASS, 5, 3, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x196cb9, -1
person_event SPRITE_YOUNGSTER, 5, 2, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x196cb2, -1

View File

@ -59,5 +59,5 @@ CherrygroveGymSpeechHouse_MapEventHeader:
.PersonEvents:
db 2
person_event SPRITE_POKEFAN_M, 3 + 4, 2 + 4, $6, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x196ae1, -1
person_event SPRITE_BUG_CATCHER, 5 + 4, 5 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, BugCatcherScript_0x196ae4, -1
person_event SPRITE_POKEFAN_M, 3, 2, $6, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x196ae1, -1
person_event SPRITE_BUG_CATCHER, 5, 5, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, BugCatcherScript_0x196ae4, -1

View File

@ -83,6 +83,6 @@ CherrygroveMart_MapEventHeader:
.PersonEvents:
db 3
person_event SPRITE_CLERK, 3 + 4, 1 + 4, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x19680a, -1
person_event SPRITE_COOLTRAINER_M, 6 + 4, 7 + 4, $5, 0, 2, -1, -1, 0, 0, 0, CooltrainerMScript_0x19681d, -1
person_event SPRITE_YOUNGSTER, 5 + 4, 2 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x196831, -1
person_event SPRITE_CLERK, 3, 1, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x19680a, -1
person_event SPRITE_COOLTRAINER_M, 6, 7, $5, 0, 2, -1, -1, 0, 0, 0, CooltrainerMScript_0x19681d, -1
person_event SPRITE_YOUNGSTER, 5, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x196831, -1

View File

@ -80,7 +80,7 @@ CherrygrovePokeCenter1F_MapEventHeader:
.PersonEvents:
db 4
person_event SPRITE_NURSE, 1 + 4, 3 + 4, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x19696d, -1
person_event SPRITE_FISHER, 3 + 4, 2 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x196970, -1
person_event SPRITE_GENTLEMAN, 6 + 4, 8 + 4, $7, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x196973, -1
person_event SPRITE_TEACHER, 6 + 4, 1 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x196976, -1
person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x19696d, -1
person_event SPRITE_FISHER, 3, 2, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x196970, -1
person_event SPRITE_GENTLEMAN, 6, 8, $7, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x196973, -1
person_event SPRITE_TEACHER, 6, 1, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x196976, -1

View File

@ -401,15 +401,15 @@ CianwoodCity_MapEventHeader:
.PersonEvents:
db 12
person_event SPRITE_STANDING_YOUNGSTER, 37 + 4, 21 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, StandingYoungsterScript_0x1a00b3, -1
person_event SPRITE_POKEFAN_M, 33 + 4, 17 + 4, $5, 0, 1, -1, -1, 0, 0, 0, PokefanMScript_0x1a00b6, -1
person_event SPRITE_LASS, 42 + 4, 14 + 4, $4, 2, 0, -1, -1, 0, 0, 0, LassScript_0x1a00b9, -1
person_event SPRITE_ROCK, 16 + 4, 8 + 4, $18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
person_event SPRITE_ROCK, 17 + 4, 9 + 4, $18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
person_event SPRITE_ROCK, 25 + 4, 4 + 4, $18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
person_event SPRITE_ROCK, 29 + 4, 5 + 4, $18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
person_event SPRITE_ROCK, 27 + 4, 10 + 4, $18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
person_event SPRITE_ROCK, 19 + 4, 4 + 4, $18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
person_event SPRITE_POKEFAN_F, 46 + 4, 10 + 4, $5, 0, 1, -1, -1, 0, 0, 0, PokefanFScript_0x1a0084, -1
person_event SPRITE_SUPER_NERD, 21 + 4, 11 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_CIANWOOD_CITY_EUSINE
person_event SPRITE_SUICUNE, 14 + 4, 10 + 4, $1, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_SAW_SUICUNE_AT_CIANWOOD_CITY
person_event SPRITE_STANDING_YOUNGSTER, 37, 21, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, StandingYoungsterScript_0x1a00b3, -1
person_event SPRITE_POKEFAN_M, 33, 17, $5, 0, 1, -1, -1, 0, 0, 0, PokefanMScript_0x1a00b6, -1
person_event SPRITE_LASS, 42, 14, $4, 2, 0, -1, -1, 0, 0, 0, LassScript_0x1a00b9, -1
person_event SPRITE_ROCK, 16, 8, $18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
person_event SPRITE_ROCK, 17, 9, $18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
person_event SPRITE_ROCK, 25, 4, $18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
person_event SPRITE_ROCK, 29, 5, $18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
person_event SPRITE_ROCK, 27, 10, $18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
person_event SPRITE_ROCK, 19, 4, $18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
person_event SPRITE_POKEFAN_F, 46, 10, $5, 0, 1, -1, -1, 0, 0, 0, PokefanFScript_0x1a0084, -1
person_event SPRITE_SUPER_NERD, 21, 11, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_CIANWOOD_CITY_EUSINE
person_event SPRITE_SUICUNE, 14, 10, $1, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_SAW_SUICUNE_AT_CIANWOOD_CITY

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