First Commit

Upload literally everything from the pokecrystal16 expand-move-ID branch
This commit is contained in:
Zeta_Null 2023-09-10 12:35:35 -04:00
commit 2f8a41f833
4618 changed files with 480386 additions and 0 deletions

View file

@ -0,0 +1,13 @@
BugCatchingContestantEventFlagTable:
table_width 2, BugCatchingContestantEventFlagTable
dw EVENT_BUG_CATCHING_CONTESTANT_1A
dw EVENT_BUG_CATCHING_CONTESTANT_2A
dw EVENT_BUG_CATCHING_CONTESTANT_3A
dw EVENT_BUG_CATCHING_CONTESTANT_4A
dw EVENT_BUG_CATCHING_CONTESTANT_5A
dw EVENT_BUG_CATCHING_CONTESTANT_6A
dw EVENT_BUG_CATCHING_CONTESTANT_7A
dw EVENT_BUG_CATCHING_CONTESTANT_8A
dw EVENT_BUG_CATCHING_CONTESTANT_9A
dw EVENT_BUG_CATCHING_CONTESTANT_10A
assert_table_length NUM_BUG_CONTESTANTS

View file

@ -0,0 +1,80 @@
BugContestantPointers:
table_width 2, BugContestantPointers
dw BugContestant_BugCatcherDon ; this reverts back to the player
dw BugContestant_BugCatcherDon
dw BugContestant_BugCatcherEd
dw BugContestant_CooltrainerMNick
dw BugContestant_PokefanMWilliam
dw BugContestant_BugCatcherBenny
dw BugContestant_CamperBarry
dw BugContestant_PicnickerCindy
dw BugContestant_BugCatcherJosh
dw BugContestant_YoungsterSamuel
dw BugContestant_SchoolboyKipp
assert_table_length NUM_BUG_CONTESTANTS + 1
; contestant format:
; db class, id
; dw 1st-place mon, score
; dw 2nd-place mon, score
; dw 3rd-place mon, score
BugContestant_BugCatcherDon:
db BUG_CATCHER, DON
dw KAKUNA, 300
dw METAPOD, 285
dw CATERPIE, 226
BugContestant_BugCatcherEd:
db BUG_CATCHER, ED
dw BUTTERFREE, 286
dw BUTTERFREE, 251
dw CATERPIE, 237
BugContestant_CooltrainerMNick:
db COOLTRAINERM, NICK
dw SCYTHER, 357
dw BUTTERFREE, 349
dw PINSIR, 368
BugContestant_PokefanMWilliam:
db POKEFANM, WILLIAM
dw PINSIR, 332
dw BUTTERFREE, 324
dw VENONAT, 321
BugContestant_BugCatcherBenny:
db BUG_CATCHER, BUG_CATCHER_BENNY
dw BUTTERFREE, 318
dw WEEDLE, 295
dw CATERPIE, 285
BugContestant_CamperBarry:
db CAMPER, BARRY
dw PINSIR, 366
dw VENONAT, 329
dw KAKUNA, 314
BugContestant_PicnickerCindy:
db PICNICKER, CINDY
dw BUTTERFREE, 341
dw METAPOD, 301
dw CATERPIE, 264
BugContestant_BugCatcherJosh:
db BUG_CATCHER, JOSH
dw SCYTHER, 326
dw BUTTERFREE, 292
dw METAPOD, 282
BugContestant_YoungsterSamuel:
db YOUNGSTER, SAMUEL
dw WEEDLE, 270
dw PINSIR, 282
dw CATERPIE, 251
BugContestant_SchoolboyKipp:
db SCHOOLBOY, KIPP
dw VENONAT, 267
dw PARAS, 254
dw KAKUNA, 259

View file

@ -0,0 +1,37 @@
ElevatorFloorNames:
; entries correspond to FLOOR_* constants
table_width 2, ElevatorFloorNames
dw .B4F
dw .B3F
dw .B2F
dw .B1F
dw ._1F
dw ._2F
dw ._3F
dw ._4F
dw ._5F
dw ._6F
dw ._7F
dw ._8F
dw ._9F
dw ._10F
dw ._11F
dw .ROOF
assert_table_length NUM_FLOORS
.B4F: db "B4F@"
.B3F: db "B3F@"
.B2F: db "B2F@"
.B1F: db "B1F@"
._1F: db "1F@"
._2F: db "2F@"
._3F: db "3F@"
._4F: db "4F@"
._5F: db "5F@"
._6F: db "6F@"
._7F: db "7F@"
._8F: db "8F@"
._9F: db "9F@"
._10F: db "10F@"
._11F: db "11F@"
.ROOF: db "ROOF@"

View file

@ -0,0 +1,202 @@
MACRO engine_flag
; location, bit
; (all locations are in WRAM bank 1)
dwb \1 + (\2 / 8), 1 << (\2 % 8)
ENDM
EngineFlags:
; entries correspond to ENGINE_* constants
table_width 3, EngineFlags
; pokegear
engine_flag wPokegearFlags, POKEGEAR_RADIO_CARD_F
engine_flag wPokegearFlags, POKEGEAR_MAP_CARD_F
engine_flag wPokegearFlags, POKEGEAR_PHONE_CARD_F
engine_flag wPokegearFlags, POKEGEAR_EXPN_CARD_F
engine_flag wPokegearFlags, POKEGEAR_OBTAINED_F
; day-care
engine_flag wDayCareMan, DAYCAREMAN_HAS_EGG_F
engine_flag wDayCareMan, DAYCAREMAN_HAS_MON_F
engine_flag wDayCareLady, DAYCARELADY_HAS_MON_F
engine_flag wMomSavingMoney, MOM_SAVING_SOME_MONEY_F
engine_flag wMomSavingMoney, MOM_ACTIVE_F
engine_flag wUnusedTwoDayTimerOn, 0 ; unused, possibly related to a 2-day timer
engine_flag wStatusFlags, STATUSFLAGS_POKEDEX_F
engine_flag wStatusFlags, STATUSFLAGS_UNOWN_DEX_F
engine_flag wStatusFlags, STATUSFLAGS_CAUGHT_POKERUS_F
engine_flag wStatusFlags, STATUSFLAGS_ROCKET_SIGNAL_F
engine_flag wStatusFlags, STATUSFLAGS_HALL_OF_FAME_F
engine_flag wStatusFlags, STATUSFLAGS_MAIN_MENU_MOBILE_CHOICES_F
engine_flag wStatusFlags2, STATUSFLAGS2_BUG_CONTEST_TIMER_F
engine_flag wStatusFlags2, STATUSFLAGS2_SAFARI_GAME_F
engine_flag wStatusFlags2, STATUSFLAGS2_ROCKETS_IN_RADIO_TOWER_F
engine_flag wStatusFlags2, STATUSFLAGS2_BIKE_SHOP_CALL_F
engine_flag wStatusFlags2, STATUSFLAGS2_UNUSED_5_F
engine_flag wStatusFlags2, STATUSFLAGS2_REACHED_GOLDENROD_F
engine_flag wStatusFlags2, STATUSFLAGS2_ROCKETS_IN_MAHOGANY_F
engine_flag wBikeFlags, BIKEFLAGS_STRENGTH_ACTIVE_F
engine_flag wBikeFlags, BIKEFLAGS_ALWAYS_ON_BIKE_F
engine_flag wBikeFlags, BIKEFLAGS_DOWNHILL_F
engine_flag wJohtoBadges, ZEPHYRBADGE
engine_flag wJohtoBadges, HIVEBADGE
engine_flag wJohtoBadges, PLAINBADGE
engine_flag wJohtoBadges, FOGBADGE
engine_flag wJohtoBadges, MINERALBADGE
engine_flag wJohtoBadges, STORMBADGE
engine_flag wJohtoBadges, GLACIERBADGE
engine_flag wJohtoBadges, RISINGBADGE
engine_flag wKantoBadges, BOULDERBADGE
engine_flag wKantoBadges, CASCADEBADGE
engine_flag wKantoBadges, THUNDERBADGE
engine_flag wKantoBadges, RAINBOWBADGE
engine_flag wKantoBadges, SOULBADGE
engine_flag wKantoBadges, MARSHBADGE
engine_flag wKantoBadges, VOLCANOBADGE
engine_flag wKantoBadges, EARTHBADGE
; unown sets (see data/wild/unlocked_unowns.asm)
engine_flag wUnlockedUnowns, UNLOCKED_UNOWNS_A_TO_K_F
engine_flag wUnlockedUnowns, UNLOCKED_UNOWNS_L_TO_R_F
engine_flag wUnlockedUnowns, UNLOCKED_UNOWNS_S_TO_W_F
engine_flag wUnlockedUnowns, UNLOCKED_UNOWNS_X_TO_Z_F
engine_flag wUnlockedUnowns, 4 ; unused
engine_flag wUnlockedUnowns, 5 ; unused
engine_flag wUnlockedUnowns, 6 ; unused
engine_flag wUnlockedUnowns, 7 ; unused
; fly
engine_flag wVisitedSpawns, SPAWN_HOME
engine_flag wVisitedSpawns, SPAWN_DEBUG
engine_flag wVisitedSpawns, SPAWN_PALLET
engine_flag wVisitedSpawns, SPAWN_VIRIDIAN
engine_flag wVisitedSpawns, SPAWN_PEWTER
engine_flag wVisitedSpawns, SPAWN_CERULEAN
engine_flag wVisitedSpawns, SPAWN_ROCK_TUNNEL
engine_flag wVisitedSpawns, SPAWN_VERMILION
engine_flag wVisitedSpawns, SPAWN_LAVENDER
engine_flag wVisitedSpawns, SPAWN_SAFFRON
engine_flag wVisitedSpawns, SPAWN_CELADON
engine_flag wVisitedSpawns, SPAWN_FUCHSIA
engine_flag wVisitedSpawns, SPAWN_CINNABAR
engine_flag wVisitedSpawns, SPAWN_INDIGO
engine_flag wVisitedSpawns, SPAWN_NEW_BARK
engine_flag wVisitedSpawns, SPAWN_CHERRYGROVE
engine_flag wVisitedSpawns, SPAWN_VIOLET
engine_flag wVisitedSpawns, SPAWN_AZALEA
engine_flag wVisitedSpawns, SPAWN_CIANWOOD
engine_flag wVisitedSpawns, SPAWN_GOLDENROD
engine_flag wVisitedSpawns, SPAWN_OLIVINE
engine_flag wVisitedSpawns, SPAWN_ECRUTEAK
engine_flag wVisitedSpawns, SPAWN_MAHOGANY
engine_flag wVisitedSpawns, SPAWN_LAKE_OF_RAGE
engine_flag wVisitedSpawns, SPAWN_BLACKTHORN
engine_flag wVisitedSpawns, SPAWN_MT_SILVER
engine_flag wVisitedSpawns, NUM_SPAWNS ; unused
engine_flag wLuckyNumberShowFlag, LUCKYNUMBERSHOW_GAME_OVER_F
engine_flag wStatusFlags2, STATUSFLAGS2_UNUSED_3_F
engine_flag wDailyFlags1, DAILYFLAGS1_KURT_MAKING_BALLS_F
engine_flag wDailyFlags1, DAILYFLAGS1_BUG_CONTEST_F
engine_flag wDailyFlags1, DAILYFLAGS1_FISH_SWARM_F
engine_flag wDailyFlags1, DAILYFLAGS1_TIME_CAPSULE_F
engine_flag wDailyFlags1, DAILYFLAGS1_ALL_FRUIT_TREES_F
engine_flag wDailyFlags1, DAILYFLAGS1_GOT_SHUCKIE_TODAY_F
engine_flag wDailyFlags1, DAILYFLAGS1_GOLDENROD_UNDERGROUND_BARGAIN_F
engine_flag wDailyFlags1, DAILYFLAGS1_TRAINER_HOUSE_F
engine_flag wDailyFlags2, DAILYFLAGS2_MT_MOON_SQUARE_CLEFAIRY_F
engine_flag wDailyFlags2, DAILYFLAGS2_UNION_CAVE_LAPRAS_F
engine_flag wDailyFlags2, DAILYFLAGS2_GOLDENROD_UNDERGROUND_GOT_HAIRCUT_F
engine_flag wDailyFlags2, DAILYFLAGS2_GOLDENROD_DEPT_STORE_TM27_RETURN_F
engine_flag wDailyFlags2, DAILYFLAGS2_DAISYS_GROOMING_F
engine_flag wDailyFlags2, DAILYFLAGS2_INDIGO_PLATEAU_RIVAL_FIGHT_F
engine_flag wDailyFlags2, DAILYFLAGS2_MOVE_TUTOR_F
engine_flag wDailyFlags2, DAILYFLAGS2_BUENAS_PASSWORD_F
engine_flag wSwarmFlags, SWARMFLAGS_BUENAS_PASSWORD_F
engine_flag wSwarmFlags, SWARMFLAGS_GOLDENROD_DEPT_STORE_SALE_F
engine_flag wGameTimerPaused, GAME_TIMER_MOBILE_F
engine_flag wPlayerGender, PLAYERGENDER_FEMALE_F
engine_flag wCelebiEvent, CELEBIEVENT_FOREST_IS_RESTLESS_F
; rematches
engine_flag wDailyRematchFlags, 0 ; jack
engine_flag wDailyRematchFlags, 1 ; huey
engine_flag wDailyRematchFlags, 2 ; gaven
engine_flag wDailyRematchFlags, 3 ; beth
engine_flag wDailyRematchFlags, 4 ; jose
engine_flag wDailyRematchFlags, 5 ; reena
engine_flag wDailyRematchFlags, 6 ; joey
engine_flag wDailyRematchFlags, 7 ; wade
engine_flag wDailyRematchFlags, 8 ; ralph
engine_flag wDailyRematchFlags, 9 ; liz
engine_flag wDailyRematchFlags, 10 ; anthony
engine_flag wDailyRematchFlags, 11 ; todd
engine_flag wDailyRematchFlags, 12 ; gina
engine_flag wDailyRematchFlags, 13 ; arnie
engine_flag wDailyRematchFlags, 14 ; alan
engine_flag wDailyRematchFlags, 15 ; dana
engine_flag wDailyRematchFlags, 16 ; chad
engine_flag wDailyRematchFlags, 17 ; tully
engine_flag wDailyRematchFlags, 18 ; brent
engine_flag wDailyRematchFlags, 19 ; tiffany
engine_flag wDailyRematchFlags, 20 ; vance
engine_flag wDailyRematchFlags, 21 ; wilton
engine_flag wDailyRematchFlags, 22 ; parry
engine_flag wDailyRematchFlags, 23 ; erin
engine_flag wDailyPhoneItemFlags, 0 ; beverly has nugget
engine_flag wDailyPhoneItemFlags, 1 ; jose has star piece
engine_flag wDailyPhoneItemFlags, 2 ; wade has item (see EVENT_WADE_HAS_*** in constants/event_flags.asm)
engine_flag wDailyPhoneItemFlags, 3 ; gina has leaf stone
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
engine_flag wDailyPhoneItemFlags, 8 ; tiffany has pink bow
engine_flag wDailyPhoneItemFlags, 9 ; wilton has item (see EVENT_WILTON_HAS_*** in constants/event_flags.asm)
engine_flag wDailyPhoneTimeOfDayFlags, 0 ; jack
engine_flag wDailyPhoneTimeOfDayFlags, 1 ; huey
engine_flag wDailyPhoneTimeOfDayFlags, 2 ; gaven
engine_flag wDailyPhoneTimeOfDayFlags, 3 ; beth
engine_flag wDailyPhoneTimeOfDayFlags, 4 ; jose
engine_flag wDailyPhoneTimeOfDayFlags, 5 ; reena
engine_flag wDailyPhoneTimeOfDayFlags, 6 ; joey
engine_flag wDailyPhoneTimeOfDayFlags, 7 ; wade
engine_flag wDailyPhoneTimeOfDayFlags, 8 ; ralph
engine_flag wDailyPhoneTimeOfDayFlags, 9 ; liz
engine_flag wDailyPhoneTimeOfDayFlags, 10 ; anthony
engine_flag wDailyPhoneTimeOfDayFlags, 11 ; todd
engine_flag wDailyPhoneTimeOfDayFlags, 12 ; gina
engine_flag wDailyPhoneTimeOfDayFlags, 13 ; arnie
engine_flag wDailyPhoneTimeOfDayFlags, 14 ; alan
engine_flag wDailyPhoneTimeOfDayFlags, 15 ; dana
engine_flag wDailyPhoneTimeOfDayFlags, 16 ; chad
engine_flag wDailyPhoneTimeOfDayFlags, 17 ; tully
engine_flag wDailyPhoneTimeOfDayFlags, 18 ; brent
engine_flag wDailyPhoneTimeOfDayFlags, 19 ; tiffany
engine_flag wDailyPhoneTimeOfDayFlags, 20 ; vance
engine_flag wDailyPhoneTimeOfDayFlags, 21 ; wilton
engine_flag wDailyPhoneTimeOfDayFlags, 22 ; parry
engine_flag wDailyPhoneTimeOfDayFlags, 23 ; erin
engine_flag wPlayerSpriteSetupFlags, PLAYERSPRITESETUP_FEMALE_TO_MALE_F
engine_flag wSwarmFlags, SWARMFLAGS_DUNSPARCE_SWARM_F
engine_flag wSwarmFlags, SWARMFLAGS_YANMA_SWARM_F
assert_table_length NUM_ENGINE_FLAGS

View file

@ -0,0 +1,24 @@
HappinessChanges:
; entries correspond to HAPPINESS_* constants
table_width 3, HappinessChanges
; change if happiness < 100, change if happiness < 200, change otherwise
db +5, +3, +2 ; Gained a level
db +5, +3, +2 ; Vitamin
db +1, +1, +0 ; X Item
db +3, +2, +1 ; Battled a Gym Leader
db +1, +1, +0 ; Learned a move
db -1, -1, -1 ; Lost to an enemy
db -5, -5, -10 ; Fainted due to poison
db -5, -5, -10 ; Lost to a much stronger enemy
db +1, +1, +1 ; Haircut (older brother) 1
db +3, +3, +1 ; Haircut (older brother) 2
db +5, +5, +2 ; Haircut (older brother) 3
db +1, +1, +1 ; Haircut (younger brother) 1
db +3, +3, +1 ; Haircut (younger brother) 2
db +10, +10, +4 ; Haircut (younger brother) 3
db -5, -5, -10 ; Used Heal Powder or Energypowder (bitter)
db -10, -10, -15 ; Used Energy Root (bitter)
db -15, -15, -20 ; Used Revival Herb (bitter)
db +3, +3, +1 ; Grooming
db +10, +6, +4 ; Gained a level in the place where it was caught
assert_table_length NUM_HAPPINESS_CHANGES

View file

@ -0,0 +1,13 @@
HappinessData_OlderHaircutBrother:
db 30 percent, 2, HAPPINESS_OLDERCUT1 ; 30% chance
db 50 percent + 1, 3, HAPPINESS_OLDERCUT2 ; 50% chance
db -1, 4, HAPPINESS_OLDERCUT3 ; 20% chance
HappinessData_YoungerHaircutBrother:
db 60 percent + 1, 2, HAPPINESS_YOUNGCUT1 ; 60% chance
db 30 percent, 3, HAPPINESS_YOUNGCUT2 ; 30% chance
db -1, 4, HAPPINESS_YOUNGCUT3 ; 10% chance
HappinessData_DaisysGrooming:
; BUG: Daisy's grooming doesn't always increase happiness (see docs/bugs_and_glitches.md)
db -1, 2, HAPPINESS_GROOMING ; 99.6% chance

View file

@ -0,0 +1,20 @@
MagikarpLengths:
; [wMagikarpLength] = z * 100 + (bc - x) / y
; First argument is the bc threshold as well as x.
; Second argument is y.
; In reality, due to the bug at .BCLessThanDE,
; the threshold is determined by only register b.
dwb 110, 1 ; not used unless the bug is fixed
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

View file

@ -0,0 +1,22 @@
MACRO npctrade
; dialog set, requested mon, offered mon, nickname, dvs, item, OT ID, OT name, gender requested
db \1
dw \2, \3
db \4, \5, \6, \7
shift
dw \7
db \8, \9
db 0, 0
ENDM
NPCTrades:
; entries correspond to NPCTRADE_* constants
table_width NPCTRADE_STRUCT_LENGTH, NPCTrades
npctrade TRADE_DIALOGSET_COLLECTOR, ABRA, MACHOP, "MUSCLE@@@@@", $37, $66, GOLD_BERRY, 37460, "MIKE@@@@", TRADE_GENDER_EITHER
npctrade TRADE_DIALOGSET_COLLECTOR, BELLSPROUT, ONIX, "ROCKY@@@@@@", $96, $66, BITTER_BERRY, 48926, "KYLE@@@@", TRADE_GENDER_EITHER
npctrade TRADE_DIALOGSET_HAPPY, KRABBY, VOLTORB, "VOLTY@@@@@@", $98, $88, PRZCUREBERRY, 29189, "TIM@@@@@", TRADE_GENDER_EITHER
npctrade TRADE_DIALOGSET_GIRL, DRAGONAIR, DODRIO, "DORIS@@@@@@", $77, $66, SMOKE_BALL, 00283, "EMY@@@@@", TRADE_GENDER_FEMALE
npctrade TRADE_DIALOGSET_NEWBIE, HAUNTER, XATU, "PAUL@@@@@@@", $96, $86, MYSTERYBERRY, 15616, "CHRIS@@@", TRADE_GENDER_EITHER
npctrade TRADE_DIALOGSET_GIRL, CHANSEY, AERODACTYL, "AEROY@@@@@@", $96, $66, GOLD_BERRY, 26491, "KIM@@@@@", TRADE_GENDER_EITHER
npctrade TRADE_DIALOGSET_COLLECTOR, DUGTRIO, MAGNETON, "MAGGIE@@@@@", $96, $66, METAL_COAT, 50082, "FOREST@@", TRADE_GENDER_EITHER
assert_table_length NUM_NPC_TRADES

437
data/events/odd_eggs.asm Normal file
View file

@ -0,0 +1,437 @@
DEF NUM_ODD_EGGS EQU 14
MACRO prob
DEF prob_total += \1
dw prob_total * $ffff / 100
ENDM
OddEggProbabilities:
; entries correspond to OddEggs (below)
table_width 2, OddEggProbabilities
DEF prob_total = 0
; Pichu
prob 8
prob 1
; Cleffa
prob 16
prob 3
; Igglybuff
prob 16
prob 3
; Smoochum
prob 14
prob 2
; Magby
prob 10
prob 2
; Elekid
prob 12
prob 2
; Tyrogue
prob 10
prob 1
assert_table_length NUM_ODD_EGGS
assert prob_total == 100, "OddEggProbabilities do not sum to 100%!"
OddEggSpecies:
table_width 2, OddEggSpecies
dw PICHU
dw PICHU
dw CLEFFA
dw CLEFFA
dw IGGLYBUFF
dw IGGLYBUFF
dw SMOOCHUM
dw SMOOCHUM
dw MAGBY
dw MAGBY
dw ELEKID
dw ELEKID
dw TYROGUE
dw TYROGUE
assert_table_length NUM_ODD_EGGS
OddEggMoves:
dw THUNDERSHOCK, CHARM, DIZZY_PUNCH, NO_MOVE
dw THUNDERSHOCK, CHARM, DIZZY_PUNCH, NO_MOVE
dw POUND, CHARM, DIZZY_PUNCH, NO_MOVE
dw POUND, CHARM, DIZZY_PUNCH, NO_MOVE
dw SING, CHARM, DIZZY_PUNCH, NO_MOVE
dw SING, CHARM, DIZZY_PUNCH, NO_MOVE
dw POUND, LICK, DIZZY_PUNCH, NO_MOVE
dw POUND, LICK, DIZZY_PUNCH, NO_MOVE
dw EMBER, DIZZY_PUNCH, NO_MOVE, NO_MOVE
dw EMBER, DIZZY_PUNCH, NO_MOVE, NO_MOVE
dw QUICK_ATTACK, LEER, DIZZY_PUNCH, NO_MOVE
dw QUICK_ATTACK, LEER, DIZZY_PUNCH, NO_MOVE
dw TACKLE, DIZZY_PUNCH, NO_MOVE, NO_MOVE
dw TACKLE, DIZZY_PUNCH, NO_MOVE, NO_MOVE
OddEggs:
table_width NICKNAMED_MON_STRUCT_LENGTH, OddEggs
db 0 ; Species, will be filled on load
db NO_ITEM
db 0, 0, 0, 0 ; Moves, will be filled on load
dw 02048 ; OT ID
dt 125 ; Exp
; Stat exp
bigdw 0
bigdw 0
bigdw 0
bigdw 0
bigdw 0
dn 0, 0, 0, 0 ; DVs
db 30, 20, 10, 0 ; PP
db 20 ; Step cycles to hatch
db 0, 0, 0 ; Pokerus, Caught data
db 5 ; Level
db 0, 0 ; Status
bigdw 0 ; HP
bigdw 17 ; Max HP
bigdw 9 ; Atk
bigdw 6 ; Def
bigdw 11 ; Spd
bigdw 8 ; SAtk
bigdw 8 ; SDef
db "EGG@@@@@@@@"
db 0 ; Species, will be filled on load
db NO_ITEM
db 0, 0, 0, 0 ; Moves, will be filled on load
dw 00256 ; OT ID
dt 125 ; Exp
; Stat exp
bigdw 0
bigdw 0
bigdw 0
bigdw 0
bigdw 0
dn 2, 10, 10, 10 ; DVs
db 30, 20, 10, 0 ; PP
db 20 ; Step cycles to hatch
db 0, 0, 0 ; Pokerus, Caught data
db 5 ; Level
db 0, 0 ; Status
bigdw 0 ; HP
bigdw 17 ; Max HP
bigdw 9 ; Atk
bigdw 7 ; Def
bigdw 12 ; Spd
bigdw 9 ; SAtk
bigdw 9 ; SDef
db "EGG@@@@@@@@"
db 0 ; Species, will be filled on load
db NO_ITEM
db 0, 0, 0, 0 ; Moves, will be filled on load
dw 04096 ; OT ID
dt 125 ; Exp
; Stat exp
bigdw 0
bigdw 0
bigdw 0
bigdw 0
bigdw 0
dn 0, 0, 0, 0 ; DVs
db 35, 20, 10, 0 ; PP
db 20 ; Step cycles to hatch
db 0, 0, 0 ; Pokerus, Caught data
db 5 ; Level
db 0, 0 ; Status
bigdw 0 ; HP
bigdw 20 ; Max HP
bigdw 7 ; Atk
bigdw 7 ; Def
bigdw 6 ; Spd
bigdw 9 ; SAtk
bigdw 10 ; SDef
db "EGG@@@@@@@@"
db 0 ; Species, will be filled on load
db NO_ITEM
db 0, 0, 0, 0 ; Moves, will be filled on load
dw 00768 ; OT ID
dt 125 ; Exp
; Stat exp
bigdw 0
bigdw 0
bigdw 0
bigdw 0
bigdw 0
dn 2, 10, 10, 10 ; DVs
db 35, 20, 10, 0 ; PP
db 20 ; Step cycles to hatch
db 0, 0, 0 ; Pokerus, Caught data
db 5 ; Level
db 0, 0 ; Status
bigdw 0 ; HP
bigdw 20 ; Max HP
bigdw 7 ; Atk
bigdw 8 ; Def
bigdw 7 ; Spd
bigdw 10 ; SAtk
bigdw 11 ; SDef
db "EGG@@@@@@@@"
db 0 ; Species, will be filled on load
db NO_ITEM
db 0, 0, 0, 0 ; Moves, will be filled on load
dw 04096 ; OT ID
dt 125 ; Exp
; Stat exp
bigdw 0
bigdw 0
bigdw 0
bigdw 0
bigdw 0
dn 0, 0, 0, 0 ; DVs
db 15, 20, 10, 0 ; PP
db 20 ; Step cycles to hatch
db 0, 0, 0 ; Pokerus, Caught data
db 5 ; Level
db 0, 0 ; Status
bigdw 0 ; HP
bigdw 24 ; Max HP
bigdw 8 ; Atk
bigdw 6 ; Def
bigdw 6 ; Spd
bigdw 9 ; SAtk
bigdw 7 ; SDef
db "EGG@@@@@@@@"
db 0 ; Species, will be filled on load
db NO_ITEM
db 0, 0, 0, 0 ; Moves, will be filled on load
dw 00768 ; OT ID
dt 125 ; Exp
; Stat exp
bigdw 0
bigdw 0
bigdw 0
bigdw 0
bigdw 0
dn 2, 10, 10, 10 ; DVs
db 15, 20, 10, 0 ; PP
db 20 ; Step cycles to hatch
db 0, 0, 0 ; Pokerus, Caught data
db 5 ; Level
db 0, 0 ; Status
bigdw 0 ; HP
bigdw 24 ; Max HP
bigdw 8 ; Atk
bigdw 7 ; Def
bigdw 7 ; Spd
bigdw 10 ; SAtk
bigdw 8 ; SDef
db "EGG@@@@@@@@"
db 0 ; Species, will be filled on load
db NO_ITEM
db 0, 0, 0, 0 ; Moves, will be filled on load
dw 03584 ; OT ID
dt 125 ; Exp
; Stat exp
bigdw 0
bigdw 0
bigdw 0
bigdw 0
bigdw 0
dn 0, 0, 0, 0 ; DVs
db 35, 30, 10, 0 ; PP
db 20 ; Step cycles to hatch
db 0, 0, 0 ; Pokerus, Caught data
db 5 ; Level
db 0, 0 ; Status
bigdw 0 ; HP
bigdw 19 ; Max HP
bigdw 8 ; Atk
bigdw 6 ; Def
bigdw 11 ; Spd
bigdw 13 ; SAtk
bigdw 11 ; SDef
db "EGG@@@@@@@@"
db 0 ; Species, will be filled on load
db NO_ITEM
db 0, 0, 0, 0 ; Moves, will be filled on load
dw 00512 ; OT ID
dt 125 ; Exp
; Stat exp
bigdw 0
bigdw 0
bigdw 0
bigdw 0
bigdw 0
dn 2, 10, 10, 10 ; DVs
db 35, 30, 10, 0 ; PP
db 20 ; Step cycles to hatch
db 0, 0, 0 ; Pokerus, Caught data
db 5 ; Level
db 0, 0 ; Status
bigdw 0 ; HP
bigdw 19 ; Max HP
bigdw 8 ; Atk
bigdw 7 ; Def
bigdw 12 ; Spd
bigdw 14 ; SAtk
bigdw 12 ; SDef
db "EGG@@@@@@@@"
db 0 ; Species, will be filled on load
db NO_ITEM
db 0, 0, 0, 0 ; Moves, will be filled on load
dw 02560 ; OT ID
dt 125 ; Exp
; Stat exp
bigdw 0
bigdw 0
bigdw 0
bigdw 0
bigdw 0
dn 0, 0, 0, 0 ; DVs
db 25, 10, 0, 0 ; PP
db 20 ; Step cycles to hatch
db 0, 0, 0 ; Pokerus, Caught data
db 5 ; Level
db 0, 0 ; Status
bigdw 0 ; HP
bigdw 19 ; Max HP
bigdw 12 ; Atk
bigdw 8 ; Def
bigdw 13 ; Spd
bigdw 12 ; SAtk
bigdw 10 ; SDef
db "EGG@@@@@@@@"
db 0 ; Species, will be filled on load
db NO_ITEM
db 0, 0, 0, 0 ; Moves, will be filled on load
dw 00512 ; OT ID
dt 125 ; Exp
; Stat exp
bigdw 0
bigdw 0
bigdw 0
bigdw 0
bigdw 0
dn 2, 10, 10, 10 ; DVs
db 25, 10, 0, 0 ; PP
db 20 ; Step cycles to hatch
db 0, 0, 0 ; Pokerus, Caught data
db 5 ; Level
db 0, 0 ; Status
bigdw 0 ; HP
bigdw 19 ; Max HP
bigdw 12 ; Atk
bigdw 9 ; Def
bigdw 14 ; Spd
bigdw 13 ; SAtk
bigdw 11 ; SDef
db "EGG@@@@@@@@"
db 0 ; Species, will be filled on load
db NO_ITEM
db 0, 0, 0, 0 ; Moves, will be filled on load
dw 03072 ; OT ID
dt 125 ; Exp
; Stat exp
bigdw 0
bigdw 0
bigdw 0
bigdw 0
bigdw 0
dn 0, 0, 0, 0 ; DVs
db 30, 30, 10, 0 ; PP
db 20 ; Step cycles to hatch
db 0, 0, 0 ; Pokerus, Caught data
db 5 ; Level
db 0, 0 ; Status
bigdw 0 ; HP
bigdw 19 ; Max HP
bigdw 11 ; Atk
bigdw 8 ; Def
bigdw 14 ; Spd
bigdw 11 ; SAtk
bigdw 10 ; SDef
db "EGG@@@@@@@@"
db 0 ; Species, will be filled on load
db NO_ITEM
db 0, 0, 0, 0 ; Moves, will be filled on load
dw 00512 ; OT ID
dt 125 ; Exp
; Stat exp
bigdw 0
bigdw 0
bigdw 0
bigdw 0
bigdw 0
dn 2, 10, 10, 10 ; DVs
db 30, 30, 10, 0 ; PP
db 20 ; Step cycles to hatch
db 0, 0, 0 ; Pokerus, Caught data
db 5 ; Level
db 0, 0 ; Status
bigdw 0 ; HP
bigdw 19 ; Max HP
bigdw 11 ; Atk
bigdw 9 ; Def
bigdw 15 ; Spd
bigdw 12 ; SAtk
bigdw 11 ; SDef
db "EGG@@@@@@@@"
db 0 ; Species, will be filled on load
db NO_ITEM
db 0, 0, 0, 0 ; Moves, will be filled on load
dw 02560 ; OT ID
dt 125 ; Exp
; Stat exp
bigdw 0
bigdw 0
bigdw 0
bigdw 0
bigdw 0
dn 0, 0, 0, 0 ; DVs
db 35, 10, 0, 0 ; PP
db 20 ; Step cycles to hatch
db 0, 0, 0 ; Pokerus, Caught data
db 5 ; Level
db 0, 0 ; Status
bigdw 0 ; HP
bigdw 18 ; Max HP
bigdw 8 ; Atk
bigdw 8 ; Def
bigdw 8 ; Spd
bigdw 8 ; SAtk
bigdw 8 ; SDef
db "EGG@@@@@@@@"
db 0 ; Species, will be filled on load
db NO_ITEM
db 0, 0, 0, 0 ; Moves, will be filled on load
dw 00256 ; OT ID
dt 125 ; Exp
; Stat exp
bigdw 0
bigdw 0
bigdw 0
bigdw 0
bigdw 0
dn 2, 10, 10, 10 ; DVs
db 35, 10, 0, 0 ; PP
db 20 ; Step cycles to hatch
db 0, 0, 0 ; Pokerus, Caught data
db 5 ; Level
db 0, 0 ; Status
bigdw 0 ; HP
bigdw 18 ; Max HP
bigdw 8 ; Atk
bigdw 9 ; Def
bigdw 9 ; Spd
bigdw 9 ; SAtk
bigdw 9 ; SDef
db "EGG@@@@@@@@"
assert_table_length NUM_ODD_EGGS

View file

@ -0,0 +1,22 @@
OakRatings:
; if you caught at most this many, play this sound, load this text
; (text is defined in engine/events/prof_oaks_pc.asm)
dw 9, SFX_DEX_FANFARE_LESS_THAN_20, OakRating01
dw 19, SFX_DEX_FANFARE_LESS_THAN_20, OakRating02
dw 34, SFX_DEX_FANFARE_20_49, OakRating03
dw 49, SFX_DEX_FANFARE_20_49, OakRating04
dw 64, SFX_DEX_FANFARE_50_79, OakRating05
dw 79, SFX_DEX_FANFARE_50_79, OakRating06
dw 94, SFX_DEX_FANFARE_80_109, OakRating07
dw 109, SFX_DEX_FANFARE_80_109, OakRating08
dw 124, SFX_CAUGHT_MON, OakRating09
dw 139, SFX_CAUGHT_MON, OakRating10
dw 154, SFX_DEX_FANFARE_140_169, OakRating11
dw 169, SFX_DEX_FANFARE_140_169, OakRating12
dw 184, SFX_DEX_FANFARE_170_199, OakRating13
dw 199, SFX_DEX_FANFARE_170_199, OakRating14
dw 214, SFX_DEX_FANFARE_200_229, OakRating15
dw 229, SFX_DEX_FANFARE_200_229, OakRating16
dw 239, SFX_DEX_FANFARE_230_PLUS, OakRating17
dw 248, SFX_DEX_FANFARE_230_PLUS, OakRating18
dw -1, SFX_DEX_FANFARE_230_PLUS, OakRating19

View file

@ -0,0 +1,185 @@
; Special routines can be used with the "special" map script command.
; They often use wScriptVar for arguments and return values.
MACRO add_special
\1Special::
dba \1
ENDM
SpecialsPointers::
add_special WarpToSpawnPoint
; Communications
add_special SetBitsForLinkTradeRequest
add_special WaitForLinkedFriend
add_special CheckLinkTimeout_Receptionist
add_special TryQuickSave
add_special CheckBothSelectedSameRoom
add_special FailedLinkToPast
add_special CloseLink
add_special WaitForOtherPlayerToExit
add_special SetBitsForBattleRequest
add_special SetBitsForTimeCapsuleRequest
add_special CheckTimeCapsuleCompatibility
add_special EnterTimeCapsule
add_special TradeCenter
add_special Colosseum
add_special TimeCapsule
add_special CableClubCheckWhichChris
add_special CheckMysteryGift
add_special GetMysteryGiftItem
add_special UnlockMysteryGift
; Map events
add_special BugContestJudging
add_special CheckPartyFullAfterContest
add_special ContestDropOffMons
add_special ContestReturnMons
add_special GiveParkBalls
add_special CheckMagikarpLength
add_special MagikarpHouseSign
add_special HealParty ; this is both a special and a predef
add_special PokemonCenterPC
add_special PlayersHousePC
add_special DayCareMan
add_special DayCareLady
add_special DayCareManOutside
add_special MoveDeletion
add_special BankOfMom
add_special MagnetTrain
add_special NameRival
add_special SetDayOfWeek
add_special OverworldTownMap
add_special UnownPrinter
add_special MapRadio
add_special UnownPuzzle
add_special SlotMachine
add_special CardFlip
add_special UnusedMemoryGame ; unused
add_special ClearBGPalettesBufferScreen ; unused
add_special FadeOutPalettes
add_special BattleTowerFade
add_special FadeBlackQuickly
add_special FadeInPalettes
add_special FadeInQuickly
add_special ReloadSpritesNoPalettes ; bank 0
add_special ClearBGPalettes ; bank 0
add_special UpdateTimePals ; bank 0
add_special ClearTilemap ; bank 0; unused as special
add_special UpdateSprites ; bank 0
add_special UpdatePlayerSprite ; bank 0
add_special GameCornerPrizeMonCheckDex
add_special UnusedSetSeenMon ; unused
add_special WaitSFX ; bank 0
add_special PlayMapMusic ; bank 0
add_special RestartMapMusic ; bank 0
add_special HealMachineAnim
add_special SurfStartStep
add_special FindPartyMonAboveLevel ; unused
add_special FindPartyMonAtLeastThatHappy ; unused
add_special FindPartyMonThatSpecies
add_special FindPartyMonThatSpeciesYourTrainerID
add_special UnusedCheckUnusedTwoDayTimer ; unused
add_special DayCareMon1
add_special DayCareMon2
add_special SelectRandomBugContestContestants
add_special ActivateFishingSwarm
add_special ToggleMaptileDecorations
add_special ToggleDecorationsVisibility
add_special GiveShuckle
add_special ReturnShuckie
add_special BillsGrandfather
add_special CheckPokerus
add_special DisplayCoinCaseBalance
add_special DisplayMoneyAndCoinBalance
add_special PlaceMoneyTopRight
add_special CheckForLuckyNumberWinners
add_special CheckLuckyNumberShowFlag
add_special ResetLuckyNumberShowFlag
add_special PrintTodaysLuckyNumber
add_special SelectApricornForKurt
add_special NameRater
add_special DisplayLinkRecord
add_special GetFirstPokemonHappiness
add_special CheckFirstMonIsEgg
add_special RandomUnseenWildMon
add_special RandomPhoneWildMon
add_special RandomPhoneMon
add_special LoadUsedSpritesGFX
add_special PlaySlowCry
add_special SnorlaxAwake
add_special OlderHaircutBrother
add_special YoungerHaircutBrother
add_special DaisysGrooming
add_special PlayCurMonCry
add_special ProfOaksPCBoot
add_special GameboyCheck
add_special TrainerHouse
add_special PhotoStudio
add_special InitRoamMons
add_special FadeOutMusic
add_special Diploma
add_special PrintDiploma
; Crystal only
add_special Function11ac3e
add_special TradeCornerHoldMon
add_special Function11b5e8
add_special Function11b7e5
add_special Function11b879
add_special Function11b920
add_special Function11b93b
add_special BattleTowerRoomMenu
add_special Function1700ba
add_special Function170114
add_special BattleTowerBattle
add_special Function1704e1
add_special UnusedBattleTowerDummySpecial1
add_special LoadOpponentTrainerAndPokemonWithOTSprite
add_special Function11ba38
add_special CheckForBattleTowerRules
add_special GiveOddEgg
add_special Reset ; bank 0
add_special Function1011f1
add_special Function101220
add_special Function101225
add_special Function101231
add_special MoveTutor
add_special OmanyteChamber
add_special Function11c1ab
add_special BattleTowerAction
add_special DisplayUnownWords
add_special Menu_ChallengeExplanationCancel
add_special Function17d2b6
add_special Function17d2ce
add_special BattleTowerMobileError
add_special AskMobileOrCable
add_special HoOhChamber
add_special Function102142
add_special CelebiShrineEvent
add_special CheckCaughtCelebi
add_special PokeSeer
add_special BuenasPassword
add_special BuenaPrize
add_special GiveDratini
add_special SampleKenjiBreakCountdown
add_special BeastsCheck
add_special MonCheck
add_special SetPlayerPalette
add_special UnusedBattleTowerDummySpecial2
add_special Mobile_SelectThreeMons
add_special Function1037eb
add_special Function10383c
add_special StubbedTrainerRankings_Healings
add_special RefreshSprites
add_special Function1037c2
add_special Mobile_DummyReturnFalse
add_special Function103780
add_special Function10387b
add_special AskRememberPassword
add_special LoadMapPalettes
add_special UnusedFindItemInPCOrBag
add_special InitialSetDSTFlag
add_special InitialClearDSTFlag
add_special UnusedDummySpecial ; unused

View file

@ -0,0 +1,45 @@
MACRO unownwall
for n, CHARLEN(\1)
DEF x = CHARSUB(\1, n + 1)
if x == "-"
db $64
elif x >= "Y"
db 2 * (x - "Y") + $60
elif x >= "Q"
db 2 * (x - "Q") + $40
elif x >= "I"
db 2 * (x - "I") + $20
else
db 2 * (x - "A")
endc
endr
db -1 ; end
ENDM
UnownWalls:
; UNOWNWORDS_ESCAPE
; db $08, $44, $04, $00, $2e, $08, -1
unownwall "ESCAPE"
; UNOWNWORDS_LIGHT
; db $26, $20, $0c, $0e, $46, -1
unownwall "LIGHT"
; UNOWNWORDS_WATER
; db $4c, $00, $46, $08, $42, -1
unownwall "WATER"
; UNOWNWORDS_HO_OH
; db $0e, $2c, $64, $2c, $0e, -1
unownwall "HO-OH"
MenuHeaders_UnownWalls:
; UNOWNWORDS_ESCAPE
db MENU_BACKUP_TILES ; flags
menu_coords 3, 4, 16, 9
; UNOWNWORDS_LIGHT
db MENU_BACKUP_TILES ; flags
menu_coords 4, 4, 15, 9
; UNOWNWORDS_WATER
db MENU_BACKUP_TILES ; flags
menu_coords 4, 4, 15, 9
; UNOWNWORDS_HO_OH
db MENU_BACKUP_TILES ; flags
menu_coords 4, 4, 15, 9