ref: 6ebe45e41fa4d939f5a9f44e05eaf64512b59018
parent: 87514598bedf66be222d85ebbc7565c14d79e0f4
author: Rangi <remy.oukaour+rangi42@gmail.com>
date: Thu Jan 25 17:19:24 EST 2018
Move event data to data/events/
--- a/constants/item_data_constants.asm
+++ b/constants/item_data_constants.asm
@@ -18,6 +18,7 @@
; item menu types
; UseItem.dw indexes (see engine/pack.asm)
+; UseRegisteredItem.SwitchTo indexes (see engine/select_menu.asm)
ITEMMENU_NOUSE EQU 0
ITEMMENU_CURRENT EQU 4
ITEMMENU_PARTY EQU 5
@@ -24,10 +25,13 @@
ITEMMENU_CLOSE EQU 6
; item actions
-CANT_SELECT EQU 1 << 6
-CANT_TOSS EQU 1 << 7
+CANT_SELECT_F EQU 6
+CANT_TOSS_F EQU 7
+CANT_SELECT EQU 1 << CANT_SELECT_F
+CANT_TOSS EQU 1 << CANT_TOSS_F
+
; pack pockets
const_def
const ITEM_POCKET ; 0
@@ -34,7 +38,7 @@
const BALL_POCKET ; 1
const KEY_ITEM_POCKET ; 2
const TM_HM_POCKET ; 3
-NUM_POCKETS EQU const_value +- 1
+NUM_POCKETS EQU const_value
MAX_ITEMS EQU 20
MAX_BALLS EQU 12
@@ -170,29 +174,3 @@
const MART_MT_MOON
const MART_INDIGO_PLATEAU
const MART_UNDERGROUND
-
-
-; PartyMenuQualityPointers indexes (see data/party_menu_qualities.asm)
- const_def
- const PARTYMENUACTION_CHOOSE_POKEMON
- const PARTYMENUACTION_HEALING_ITEM
- const PARTYMENUACTION_SWITCH
- const PARTYMENUACTION_TEACH_TMHM
- const PARTYMENUACTION_MOVE
- const PARTYMENUACTION_EVO_STONE
- const PARTYMENUACTION_GIVE_MON
- const PARTYMENUACTION_GIVE_MON_FEMALE ; unused
- const PARTYMENUACTION_GIVE_ITEM
- const PARTYMENUACTION_MOBILE ; mobile
-; PrintPartyMenuActionText arguments (see engine/party_menu.asm)
-const_value set $f0
- const PARTYMENUTEXT_HEAL_PSN
- const PARTYMENUTEXT_HEAL_BRN
- const PARTYMENUTEXT_HEAL_FRZ
- const PARTYMENUTEXT_HEAL_SLP
- const PARTYMENUTEXT_HEAL_PAR
- const PARTYMENUTEXT_HEAL_HP
- const PARTYMENUTEXT_HEAL_ALL
- const PARTYMENUTEXT_REVIVE
- const PARTYMENUTEXT_LEVEL_UP
- const PARTYMENUTEXT_HEAL_CONFUSION
--- a/constants/menu_constants.asm
+++ b/constants/menu_constants.asm
@@ -69,3 +69,29 @@
; start/select menu return values
HMENURETURN_SCRIPT EQU %10000000
HMENURETURN_ASM EQU %11111111
+
+
+; PartyMenuQualityPointers indexes (see data/party_menu_qualities.asm)
+ const_def
+ const PARTYMENUACTION_CHOOSE_POKEMON
+ const PARTYMENUACTION_HEALING_ITEM
+ const PARTYMENUACTION_SWITCH
+ const PARTYMENUACTION_TEACH_TMHM
+ const PARTYMENUACTION_MOVE
+ const PARTYMENUACTION_EVO_STONE
+ const PARTYMENUACTION_GIVE_MON
+ const PARTYMENUACTION_GIVE_MON_FEMALE ; unused
+ const PARTYMENUACTION_GIVE_ITEM
+ const PARTYMENUACTION_MOBILE ; mobile
+; PrintPartyMenuActionText arguments (see engine/party_menu.asm)
+const_value set $f0
+ const PARTYMENUTEXT_HEAL_PSN
+ const PARTYMENUTEXT_HEAL_BRN
+ const PARTYMENUTEXT_HEAL_FRZ
+ const PARTYMENUTEXT_HEAL_SLP
+ const PARTYMENUTEXT_HEAL_PAR
+ const PARTYMENUTEXT_HEAL_HP
+ const PARTYMENUTEXT_HEAL_ALL
+ const PARTYMENUTEXT_REVIVE
+ const PARTYMENUTEXT_LEVEL_UP
+ const PARTYMENUTEXT_HEAL_CONFUSION
--- a/constants/pokemon_constants.asm
+++ b/constants/pokemon_constants.asm
@@ -277,6 +277,13 @@
const MON_FE ; fe
; Unown forms
+; indexes for:
+; - UnownWords (see data/pokemon/unown_words.asm)
+; - UnownPicPointers (see data/pokemon/unown_pic_pointers.asm)
+; - UnownAnimationPointers (see gfx/pokemon/unown_anim_pointers.asm)
+; - UnownAnimationIdlePointers (see gfx/pokemon/unown_idle_pointers.asm)
+; - UnownBitmasksPointers (see gfx/pokemon/unown_bitmask_pointers.asm)
+; - UnownFramesPointers (see gfx/pokemon/unown_frame_pointers.asm)
const_value set 1
const UNOWN_A ; 1
const UNOWN_B ; 2
--- a/data/bug_contest_flags.asm
+++ /dev/null
@@ -1,13 +1,0 @@
-BugCatchingContestantEventFlagTable: ; 139fe
-; there are NUM_BUG_CONTESTANTS entries
- 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
-; 13a12
--- a/data/bug_contest_winners.asm
+++ /dev/null
@@ -1,81 +1,0 @@
-BugContestantPointers: ; 13783
-; there are NUM_BUG_CONTESTANTS + 1 entries
- 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
-; 13799
-
-; contestant format:
-; db class, id
-; dbw 1st-place mon, score
-; dbw 2nd-place mon, score
-; dbw 3rd-place mon, score
-
-BugContestant_BugCatcherDon:
- db BUG_CATCHER, DON
- dbw KAKUNA, 300
- dbw METAPOD, 285
- dbw CATERPIE, 226
-
-BugContestant_BugCatcherEd:
- db BUG_CATCHER, ED
- dbw BUTTERFREE, 286
- dbw BUTTERFREE, 251
- dbw CATERPIE, 237
-
-BugContestant_CooltrainerMNick:
- db COOLTRAINERM, NICK
- dbw SCYTHER, 357
- dbw BUTTERFREE, 349
- dbw PINSIR, 368
-
-BugContestant_PokefanMWilliam:
- db POKEFANM, WILLIAM
- dbw PINSIR, 332
- dbw BUTTERFREE, 324
- dbw VENONAT, 321
-
-BugContestant_BugCatcherBenny:
- db BUG_CATCHER, BUG_CATCHER_BENNY
- dbw BUTTERFREE, 318
- dbw WEEDLE, 295
- dbw CATERPIE, 285
-
-BugContestant_CamperBarry:
- db CAMPER, BARRY
- dbw PINSIR, 366
- dbw VENONAT, 329
- dbw KAKUNA, 314
-
-BugContestant_PicnickerCindy:
- db PICNICKER, CINDY
- dbw BUTTERFREE, 341
- dbw METAPOD, 301
- dbw CATERPIE, 264
-
-BugContestant_BugCatcherJosh:
- db BUG_CATCHER, JOSH
- dbw SCYTHER, 326
- dbw BUTTERFREE, 292
- dbw METAPOD, 282
-
-BugContestant_YoungsterSamuel:
- db YOUNGSTER, SAMUEL
- dbw WEEDLE, 270
- dbw PINSIR, 282
- dbw CATERPIE, 251
-
-BugContestant_SchoolboyKipp:
- db SCHOOLBOY, KIPP
- dbw VENONAT, 267
- dbw PARAS, 254
- dbw KAKUNA, 259
-; 13807
--- a/data/collision_stdscripts.asm
+++ /dev/null
@@ -1,13 +1,0 @@
-; stdscripts associated with tile collisions
-
-TileCollisionStdScripts:
- ; collision type, stdscript
- dbw COLL_BOOKSHELF, magazinebookshelf
- dbw COLL_PC, pcscript
- dbw COLL_RADIO, radio1
- dbw COLL_TOWN_MAP, townmap
- dbw COLL_MART_SHELF, merchandiseshelf
- dbw COLL_TV, tv
- dbw COLL_WINDOW, window
- dbw COLL_INCENSE_BURNER, incenseburner
- db -1 ; end
--- a/data/elevator_floors.asm
+++ /dev/null
@@ -1,35 +1,0 @@
-ElevatorFloorNames:
-; entries correspond to FLOOR_* constants
- 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
-
-.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@"
--- /dev/null
+++ b/data/events/bug_contest_flags.asm
@@ -1,0 +1,13 @@
+BugCatchingContestantEventFlagTable: ; 139fe
+; there are NUM_BUG_CONTESTANTS entries
+ 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
+; 13a12
--- /dev/null
+++ b/data/events/bug_contest_winners.asm
@@ -1,0 +1,81 @@
+BugContestantPointers: ; 13783
+; there are NUM_BUG_CONTESTANTS + 1 entries
+ 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
+; 13799
+
+; contestant format:
+; db class, id
+; dbw 1st-place mon, score
+; dbw 2nd-place mon, score
+; dbw 3rd-place mon, score
+
+BugContestant_BugCatcherDon:
+ db BUG_CATCHER, DON
+ dbw KAKUNA, 300
+ dbw METAPOD, 285
+ dbw CATERPIE, 226
+
+BugContestant_BugCatcherEd:
+ db BUG_CATCHER, ED
+ dbw BUTTERFREE, 286
+ dbw BUTTERFREE, 251
+ dbw CATERPIE, 237
+
+BugContestant_CooltrainerMNick:
+ db COOLTRAINERM, NICK
+ dbw SCYTHER, 357
+ dbw BUTTERFREE, 349
+ dbw PINSIR, 368
+
+BugContestant_PokefanMWilliam:
+ db POKEFANM, WILLIAM
+ dbw PINSIR, 332
+ dbw BUTTERFREE, 324
+ dbw VENONAT, 321
+
+BugContestant_BugCatcherBenny:
+ db BUG_CATCHER, BUG_CATCHER_BENNY
+ dbw BUTTERFREE, 318
+ dbw WEEDLE, 295
+ dbw CATERPIE, 285
+
+BugContestant_CamperBarry:
+ db CAMPER, BARRY
+ dbw PINSIR, 366
+ dbw VENONAT, 329
+ dbw KAKUNA, 314
+
+BugContestant_PicnickerCindy:
+ db PICNICKER, CINDY
+ dbw BUTTERFREE, 341
+ dbw METAPOD, 301
+ dbw CATERPIE, 264
+
+BugContestant_BugCatcherJosh:
+ db BUG_CATCHER, JOSH
+ dbw SCYTHER, 326
+ dbw BUTTERFREE, 292
+ dbw METAPOD, 282
+
+BugContestant_YoungsterSamuel:
+ db YOUNGSTER, SAMUEL
+ dbw WEEDLE, 270
+ dbw PINSIR, 282
+ dbw CATERPIE, 251
+
+BugContestant_SchoolboyKipp:
+ db SCHOOLBOY, KIPP
+ dbw VENONAT, 267
+ dbw PARAS, 254
+ dbw KAKUNA, 259
+; 13807
--- /dev/null
+++ b/data/events/collision_stdscripts.asm
@@ -1,0 +1,13 @@
+; stdscripts associated with tile collisions
+
+TileCollisionStdScripts:
+ ; collision type, stdscript
+ dbw COLL_BOOKSHELF, magazinebookshelf
+ dbw COLL_PC, pcscript
+ dbw COLL_RADIO, radio1
+ dbw COLL_TOWN_MAP, townmap
+ dbw COLL_MART_SHELF, merchandiseshelf
+ dbw COLL_TV, tv
+ dbw COLL_WINDOW, window
+ dbw COLL_INCENSE_BURNER, incenseburner
+ db -1 ; end
--- /dev/null
+++ b/data/events/elevator_floors.asm
@@ -1,0 +1,35 @@
+ElevatorFloorNames:
+; entries correspond to FLOOR_* constants
+ 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
+
+.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@"
--- /dev/null
+++ b/data/events/field_move_blocks.asm
@@ -1,0 +1,53 @@
+CutTreeBlockPointers: ; c862
+; tileset, block list pointer
+ dbw TILESET_JOHTO, .johto
+ dbw TILESET_JOHTO_MODERN, .johto_modern
+ dbw TILESET_KANTO, .kanto
+ dbw TILESET_PARK, .park
+ dbw TILESET_FOREST, .forest
+ db -1 ; end
+
+.johto:
+; facing block, replacement block, animation
+ db $03, $02, 1 ; grass
+ db $5b, $3c, 0 ; tree
+ db $5f, $3d, 0 ; tree
+ db $63, $3f, 0 ; tree
+ db $67, $3e, 0 ; tree
+ db -1 ; end
+
+.johto_modern:
+; facing block, replacement block, animation
+ db $03, $02, $01 ; grass
+ db -1 ; end
+
+.kanto:
+; facing block, replacement block, animation
+ db $0b, $0a, 1 ; grass
+ db $32, $6d, 0 ; tree
+ db $33, $6c, 0 ; tree
+ db $34, $6f, 0 ; tree
+ db $35, $4c, 0 ; tree
+ db $60, $6e, 0 ; tree
+ db -1 ; end
+
+.park:
+; facing block, replacement block, animation
+ db $13, $03, 1 ; grass
+ db $03, $04, 1 ; grass
+ db -1 ; end
+
+.forest:
+; facing block, replacement block, animation
+ db $0f, $17, 0
+ db -1 ; end
+
+
+WhirlpoolBlockPointers: ; c8a4
+ dbw TILESET_JOHTO, .johto
+ db -1 ; end
+
+.johto:
+; facing block, replacement block, animation
+ db $07, $36, 0
+ db -1 ; end
--- /dev/null
+++ b/data/events/happiness_chances.asm
@@ -1,0 +1,12 @@
+HappinessData_YoungerHaircutBrother: ; 7459
+ db $4c, 2, HAPPINESS_YOUNGCUT1 ; 30% chance
+ db $80, 3, HAPPINESS_YOUNGCUT2 ; 20% chance
+ db $ff, 4, HAPPINESS_YOUNGCUT3 ; 50% chance
+
+HappinessData_OlderHaircutBrother: ; 7462
+ db $9a, 2, HAPPINESS_OLDERCUT1 ; 60% chance
+ db $4c, 3, HAPPINESS_OLDERCUT2 ; 10% chance
+ db $ff, 4, HAPPINESS_OLDERCUT3 ; 30% chance
+
+HappinessData_DaisysGrooming: ; 746b
+ db $ff, 2, HAPPINESS_GROOMING ; 99.6% chance
--- /dev/null
+++ b/data/events/happiness_changes.asm
@@ -1,0 +1,22 @@
+HappinessChanges:
+; entries correspond to HAPPINESS_* constants
+; 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 (Y1)
+ db +3, +3, +1 ; Haircut (Y2)
+ db +5, +5, +2 ; Haircut (Y3)
+ db +1, +1, +1 ; Haircut (O1)
+ db +3, +3, +1 ; Haircut (O2)
+ db +10, +10, +4 ; Haircut (O3)
+ 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
--- /dev/null
+++ b/data/events/magikarp_lengths.asm
@@ -1,0 +1,21 @@
+MagikarpLengths: ; fbca8
+; [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
+; fbcd2
--- /dev/null
+++ b/data/events/npc_trades.asm
@@ -1,0 +1,18 @@
+npctrade: MACRO
+; dialog set, requested mon, offered mon, nickname, dvs, item, OT ID, OT name, gender requested
+ db \1, \2, \3, \4, \5, \6, \7
+ shift
+ dw \7
+ db \8, \9, 0
+ENDM
+
+NPCTrades: ; fce58
+; entries correspond to NPCTRADE_* constants
+ npctrade TRADE_DIALOG_COLLECTOR, ABRA, MACHOP, "MUSCLE@@@@@", $37, $66, GOLD_BERRY, 37460, "MIKE@@@@@@@", TRADE_EITHER_GENDER
+ npctrade TRADE_DIALOG_COLLECTOR, BELLSPROUT, ONIX, "ROCKY@@@@@@", $96, $66, BITTER_BERRY, 48926, "KYLE@@@@@@@", TRADE_EITHER_GENDER
+ npctrade TRADE_DIALOG_HAPPY, KRABBY, VOLTORB, "VOLTY@@@@@@", $98, $88, PRZCUREBERRY, 29189, "TIM@@@@@@@@", TRADE_EITHER_GENDER
+ npctrade TRADE_DIALOG_GIRL, DRAGONAIR, DODRIO, "DORIS@@@@@@", $77, $66, SMOKE_BALL, 00283, "EMY@@@@@@@@", TRADE_FEMALE_ONLY
+ npctrade TRADE_DIALOG_NEWBIE, HAUNTER, XATU, "PAUL@@@@@@@", $96, $86, MYSTERYBERRY, 15616, "CHRIS@@@@@@", TRADE_EITHER_GENDER
+ npctrade TRADE_DIALOG_GIRL, CHANSEY, AERODACTYL, "AEROY@@@@@@", $96, $66, GOLD_BERRY, 26491, "KIM@@@@@@@@", TRADE_EITHER_GENDER
+ npctrade TRADE_DIALOG_COLLECTOR, DUGTRIO, MAGNETON, "MAGGIE@@@@@", $96, $66, METAL_COAT, 50082, "FOREST@@@@@", TRADE_EITHER_GENDER
+; fcf38
--- /dev/null
+++ b/data/events/odd_eggs.asm
@@ -1,0 +1,398 @@
+prob: MACRO
+prob_total = prob_total + (\1)
+ dw prob_total * $ffff / 100
+ENDM
+
+OddEggProbabilities:
+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
+; 1fb56e
+
+
+OddEggs: ; 1fb56e
+
+OddEgg1:
+ db PICHU
+ db NO_ITEM
+ db THUNDERSHOCK, CHARM, DIZZY_PUNCH, 0
+ dw 02048 ; OT ID
+ dt 125 ; Exp
+ ; Stat exp
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ db $0, $0 ; DVs
+ db 30, 20, 10, 0 ; PP
+ db 20 ; Happiness
+ 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@@@@@@@@"
+
+OddEgg2:
+ db PICHU
+ db NO_ITEM
+ db THUNDERSHOCK, CHARM, DIZZY_PUNCH, 0
+ dw 00256 ; OT ID
+ dt 125 ; Exp
+ ; Stat exp
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ db $2a, $aa ; DVs
+ db 30, 20, 10, 0 ; PP
+ db 20 ; Happiness
+ 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 CLEFFA
+ db NO_ITEM
+ db POUND, CHARM, DIZZY_PUNCH, 0
+ dw 04096 ; OT ID
+ dt 125 ; Exp
+ ; Stat exp
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ db $0, $0 ; DVs
+ db 35, 20, 10, 0 ; PP
+ db 20 ; Happiness
+ 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 CLEFFA
+ db NO_ITEM
+ db POUND, CHARM, DIZZY_PUNCH, 0
+ dw 00768 ; OT ID
+ dt 125 ; Exp
+ ; Stat exp
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ db $2a, $aa ; DVs
+ db 35, 20, 10, 0 ; PP
+ db 20 ; Happiness
+ 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 IGGLYBUFF
+ db NO_ITEM
+ db SING, CHARM, DIZZY_PUNCH, 0
+ dw 04096 ; OT ID
+ dt 125 ; Exp
+ ; Stat exp
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ db $0, $0 ; DVs
+ db 15, 20, 10, 0 ; PP
+ db 20 ; Happiness
+ 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 IGGLYBUFF
+ db NO_ITEM
+ db SING, CHARM, DIZZY_PUNCH, 0
+ dw 00768 ; OT ID
+ dt 125 ; Exp
+ ; Stat exp
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ db $2a, $aa ; DVs
+ db 15, 20, 10, 0 ; PP
+ db 20 ; Happiness
+ 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 SMOOCHUM
+ db NO_ITEM
+ db POUND, LICK, DIZZY_PUNCH, 0
+ dw 03584 ; OT ID
+ dt 125 ; Exp
+ ; Stat exp
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ db $0, $0 ; DVs
+ db 35, 30, 10, 0 ; PP
+ db 20 ; Happiness
+ 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 SMOOCHUM
+ db NO_ITEM
+ db POUND, LICK, DIZZY_PUNCH, 0
+ dw 00512 ; OT ID
+ dt 125 ; Exp
+ ; Stat exp
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ db $2a, $aa ; DVs
+ db 35, 30, 10, 0 ; PP
+ db 20 ; Happiness
+ 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 MAGBY
+ db NO_ITEM
+ db EMBER, DIZZY_PUNCH, 0, 0
+ dw 02560 ; OT ID
+ dt 125 ; Exp
+ ; Stat exp
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ db $0, $0 ; DVs
+ db 25, 10, 0, 0 ; PP
+ db 20 ; Happiness
+ 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 MAGBY
+ db NO_ITEM
+ db EMBER, DIZZY_PUNCH, 0, 0
+ dw 00512 ; OT ID
+ dt 125 ; Exp
+ ; Stat exp
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ db $2a, $aa ; DVs
+ db 25, 10, 0, 0 ; PP
+ db 20 ; Happiness
+ 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 ELEKID
+ db NO_ITEM
+ db QUICK_ATTACK, LEER, DIZZY_PUNCH, 0
+ dw 03072 ; OT ID
+ dt 125 ; Exp
+ ; Stat exp
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ db $0, $0 ; DVs
+ db 30, 30, 10, 0 ; PP
+ db 20 ; Happiness
+ 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 ELEKID
+ db NO_ITEM
+ db QUICK_ATTACK, LEER, DIZZY_PUNCH, 0
+ dw 00512 ; OT ID
+ dt 125 ; Exp
+ ; Stat exp
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ db $2a, $aa ; DVs
+ db 30, 30, 10, 0 ; PP
+ db 20 ; Happiness
+ 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 TYROGUE
+ db NO_ITEM
+ db TACKLE, DIZZY_PUNCH, 0, 0
+ dw 02560 ; OT ID
+ dt 125 ; Exp
+ ; Stat exp
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ db $0, $0 ; DVs
+ db 35, 10, 0, 0 ; PP
+ db 20 ; Happiness
+ 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 TYROGUE
+ db NO_ITEM
+ db TACKLE, DIZZY_PUNCH, 0, 0
+ dw 00256 ; OT ID
+ dt 125 ; Exp
+ ; Stat exp
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ bigdw 0
+ db $2a, $aa ; DVs
+ db 35, 10, 0, 0 ; PP
+ db 20 ; Happiness
+ 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@@@@@@@@"
--- /dev/null
+++ b/data/events/pokedex_ratings.asm
@@ -1,0 +1,24 @@
+OakRatings: ; 0x2667f
+; if you caught at most this many, play this sound, load this text
+; (text is defined in engine/events/prof_oaks_pc.asm)
+ dbww 9, SFX_DEX_FANFARE_LESS_THAN_20, OakRating01
+ dbww 19, SFX_DEX_FANFARE_LESS_THAN_20, OakRating02
+ dbww 34, SFX_DEX_FANFARE_20_49, OakRating03
+ dbww 49, SFX_DEX_FANFARE_20_49, OakRating04
+ dbww 64, SFX_DEX_FANFARE_50_79, OakRating05
+ dbww 79, SFX_DEX_FANFARE_50_79, OakRating06
+ dbww 94, SFX_DEX_FANFARE_80_109, OakRating07
+ dbww 109, SFX_DEX_FANFARE_80_109, OakRating08
+ dbww 124, SFX_CAUGHT_MON, OakRating09
+ dbww 139, SFX_CAUGHT_MON, OakRating10
+ dbww 154, SFX_DEX_FANFARE_140_169, OakRating11
+ dbww 169, SFX_DEX_FANFARE_140_169, OakRating12
+ dbww 184, SFX_DEX_FANFARE_170_199, OakRating13
+ dbww 199, SFX_DEX_FANFARE_170_199, OakRating14
+ dbww 214, SFX_DEX_FANFARE_200_229, OakRating15
+ dbww 229, SFX_DEX_FANFARE_200_229, OakRating16
+ dbww 239, SFX_DEX_FANFARE_230_PLUS, OakRating17
+ dbww 248, SFX_DEX_FANFARE_230_PLUS, OakRating18
+ dbww 255, SFX_DEX_FANFARE_230_PLUS, OakRating19
+ ; 0x266de
+
\ No newline at end of file
--- /dev/null
+++ b/data/events/unown_walls.asm
@@ -1,0 +1,54 @@
+unownwall: MACRO
+rept _NARG
+if \1 == "-"
+x = $64
+else
+if \1 >= "Y"
+x = 2 * (\1 - "Y") + $60
+else
+if \1 >= "Q"
+x = 2 * (\1 - "Q") + $40
+else
+if \1 >= "I"
+x = 2 * (\1 - "I") + $20
+else
+x = 2 * (\1 - "A")
+endc
+endc
+endc
+endc
+ db x
+shift
+endr
+ db -1 ; end
+ENDM
+
+UnownWalls: ; 8aebc
+; UNOWNWORDS_ESCAPE
+ ; db $08, $44, $04, $00, $2e, $08, $ff
+ unownwall "E", "S", "C", "A", "P", "E"
+; UNOWNWORDS_LIGHT
+ ; db $26, $20, $0c, $0e, $46, $ff
+ unownwall "L", "I", "G", "H", "T"
+; UNOWNWORDS_WATER
+ ; db $4c, $00, $46, $08, $42, $ff
+ unownwall "W", "A", "T", "E", "R"
+; UNOWNWORDS_HO_OH
+ ; db $0e, $2c, $64, $2c, $0e, $ff
+ unownwall "H", "O", "-", "O", "H"
+; 8aed5
+
+MenuHeaders_UnownWalls: ; 0x8aed5
+; 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
+; 8aee9
--- a/data/field_move_blocks.asm
+++ /dev/null
@@ -1,53 +1,0 @@
-CutTreeBlockPointers: ; c862
-; tileset, block list pointer
- dbw TILESET_JOHTO, .johto
- dbw TILESET_JOHTO_MODERN, .johto_modern
- dbw TILESET_KANTO, .kanto
- dbw TILESET_PARK, .park
- dbw TILESET_FOREST, .forest
- db -1 ; end
-
-.johto:
-; facing block, replacement block, animation
- db $03, $02, 1 ; grass
- db $5b, $3c, 0 ; tree
- db $5f, $3d, 0 ; tree
- db $63, $3f, 0 ; tree
- db $67, $3e, 0 ; tree
- db -1 ; end
-
-.johto_modern:
-; facing block, replacement block, animation
- db $03, $02, $01 ; grass
- db -1 ; end
-
-.kanto:
-; facing block, replacement block, animation
- db $0b, $0a, 1 ; grass
- db $32, $6d, 0 ; tree
- db $33, $6c, 0 ; tree
- db $34, $6f, 0 ; tree
- db $35, $4c, 0 ; tree
- db $60, $6e, 0 ; tree
- db -1 ; end
-
-.park:
-; facing block, replacement block, animation
- db $13, $03, 1 ; grass
- db $03, $04, 1 ; grass
- db -1 ; end
-
-.forest:
-; facing block, replacement block, animation
- db $0f, $17, 0
- db -1 ; end
-
-
-WhirlpoolBlockPointers: ; c8a4
- dbw TILESET_JOHTO, .johto
- db -1 ; end
-
-.johto:
-; facing block, replacement block, animation
- db $07, $36, 0
- db -1 ; end
--- a/data/happiness_changes.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-HappinessChanges:
-; entries correspond to HAPPINESS_* constants
-; 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 (Y1)
- db +3, +3, +1 ; Haircut (Y2)
- db +5, +5, +2 ; Haircut (Y3)
- db +1, +1, +1 ; Haircut (O1)
- db +3, +3, +1 ; Haircut (O2)
- db +10, +10, +4 ; Haircut (O3)
- 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
--- /dev/null
+++ b/data/items/pocket_names.asm
@@ -1,0 +1,11 @@
+ItemPocketNames:
+; entries correspond to item type constants
+ dw .Item
+ dw .Key
+ dw .Ball
+ dw .TM
+
+.Item: db "ITEM POCKET@"
+.Key: db "KEY POCKET@"
+.Ball: db "BALL POCKET@"
+.TM: db "TM POCKET@"
--- a/data/npc_trades.asm
+++ /dev/null
@@ -1,18 +1,0 @@
-npctrade: MACRO
-; dialog set, requested mon, offered mon, nickname, dvs, item, OT ID, OT name, gender requested
- db \1, \2, \3, \4, \5, \6, \7
- shift
- dw \7
- db \8, \9, 0
-ENDM
-
-NPCTrades: ; fce58
-; entries correspond to NPCTRADE_* constants
- npctrade TRADE_DIALOG_COLLECTOR, ABRA, MACHOP, "MUSCLE@@@@@", $37, $66, GOLD_BERRY, 37460, "MIKE@@@@@@@", TRADE_EITHER_GENDER
- npctrade TRADE_DIALOG_COLLECTOR, BELLSPROUT, ONIX, "ROCKY@@@@@@", $96, $66, BITTER_BERRY, 48926, "KYLE@@@@@@@", TRADE_EITHER_GENDER
- npctrade TRADE_DIALOG_HAPPY, KRABBY, VOLTORB, "VOLTY@@@@@@", $98, $88, PRZCUREBERRY, 29189, "TIM@@@@@@@@", TRADE_EITHER_GENDER
- npctrade TRADE_DIALOG_GIRL, DRAGONAIR, DODRIO, "DORIS@@@@@@", $77, $66, SMOKE_BALL, 00283, "EMY@@@@@@@@", TRADE_FEMALE_ONLY
- npctrade TRADE_DIALOG_NEWBIE, HAUNTER, XATU, "PAUL@@@@@@@", $96, $86, MYSTERYBERRY, 15616, "CHRIS@@@@@@", TRADE_EITHER_GENDER
- npctrade TRADE_DIALOG_GIRL, CHANSEY, AERODACTYL, "AEROY@@@@@@", $96, $66, GOLD_BERRY, 26491, "KIM@@@@@@@@", TRADE_EITHER_GENDER
- npctrade TRADE_DIALOG_COLLECTOR, DUGTRIO, MAGNETON, "MAGGIE@@@@@", $96, $66, METAL_COAT, 50082, "FOREST@@@@@", TRADE_EITHER_GENDER
-; fcf38
--- a/data/odd_eggs.asm
+++ /dev/null
@@ -1,398 +1,0 @@
-prob: MACRO
-prob_total = prob_total + (\1)
- dw prob_total * $ffff / 100
-ENDM
-
-OddEggProbabilities:
-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
-; 1fb56e
-
-
-OddEggs: ; 1fb56e
-
-OddEgg1:
- db PICHU
- db NO_ITEM
- db THUNDERSHOCK, CHARM, DIZZY_PUNCH, 0
- dw 02048 ; OT ID
- dt 125 ; Exp
- ; Stat exp
- bigdw 0
- bigdw 0
- bigdw 0
- bigdw 0
- bigdw 0
- db $0, $0 ; DVs
- db 30, 20, 10, 0 ; PP
- db 20 ; Happiness
- 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@@@@@@@@"
-
-OddEgg2:
- db PICHU
- db NO_ITEM
- db THUNDERSHOCK, CHARM, DIZZY_PUNCH, 0
- dw 00256 ; OT ID
- dt 125 ; Exp
- ; Stat exp
- bigdw 0
- bigdw 0
- bigdw 0
- bigdw 0
- bigdw 0
- db $2a, $aa ; DVs
- db 30, 20, 10, 0 ; PP
- db 20 ; Happiness
- 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 CLEFFA
- db NO_ITEM
- db POUND, CHARM, DIZZY_PUNCH, 0
- dw 04096 ; OT ID
- dt 125 ; Exp
- ; Stat exp
- bigdw 0
- bigdw 0
- bigdw 0
- bigdw 0
- bigdw 0
- db $0, $0 ; DVs
- db 35, 20, 10, 0 ; PP
- db 20 ; Happiness
- 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 CLEFFA
- db NO_ITEM
- db POUND, CHARM, DIZZY_PUNCH, 0
- dw 00768 ; OT ID
- dt 125 ; Exp
- ; Stat exp
- bigdw 0
- bigdw 0
- bigdw 0
- bigdw 0
- bigdw 0
- db $2a, $aa ; DVs
- db 35, 20, 10, 0 ; PP
- db 20 ; Happiness
- 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 IGGLYBUFF
- db NO_ITEM
- db SING, CHARM, DIZZY_PUNCH, 0
- dw 04096 ; OT ID
- dt 125 ; Exp
- ; Stat exp
- bigdw 0
- bigdw 0
- bigdw 0
- bigdw 0
- bigdw 0
- db $0, $0 ; DVs
- db 15, 20, 10, 0 ; PP
- db 20 ; Happiness
- 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 IGGLYBUFF
- db NO_ITEM
- db SING, CHARM, DIZZY_PUNCH, 0
- dw 00768 ; OT ID
- dt 125 ; Exp
- ; Stat exp
- bigdw 0
- bigdw 0
- bigdw 0
- bigdw 0
- bigdw 0
- db $2a, $aa ; DVs
- db 15, 20, 10, 0 ; PP
- db 20 ; Happiness
- 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 SMOOCHUM
- db NO_ITEM
- db POUND, LICK, DIZZY_PUNCH, 0
- dw 03584 ; OT ID
- dt 125 ; Exp
- ; Stat exp
- bigdw 0
- bigdw 0
- bigdw 0
- bigdw 0
- bigdw 0
- db $0, $0 ; DVs
- db 35, 30, 10, 0 ; PP
- db 20 ; Happiness
- 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 SMOOCHUM
- db NO_ITEM
- db POUND, LICK, DIZZY_PUNCH, 0
- dw 00512 ; OT ID
- dt 125 ; Exp
- ; Stat exp
- bigdw 0
- bigdw 0
- bigdw 0
- bigdw 0
- bigdw 0
- db $2a, $aa ; DVs
- db 35, 30, 10, 0 ; PP
- db 20 ; Happiness
- 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 MAGBY
- db NO_ITEM
- db EMBER, DIZZY_PUNCH, 0, 0
- dw 02560 ; OT ID
- dt 125 ; Exp
- ; Stat exp
- bigdw 0
- bigdw 0
- bigdw 0
- bigdw 0
- bigdw 0
- db $0, $0 ; DVs
- db 25, 10, 0, 0 ; PP
- db 20 ; Happiness
- 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 MAGBY
- db NO_ITEM
- db EMBER, DIZZY_PUNCH, 0, 0
- dw 00512 ; OT ID
- dt 125 ; Exp
- ; Stat exp
- bigdw 0
- bigdw 0
- bigdw 0
- bigdw 0
- bigdw 0
- db $2a, $aa ; DVs
- db 25, 10, 0, 0 ; PP
- db 20 ; Happiness
- 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 ELEKID
- db NO_ITEM
- db QUICK_ATTACK, LEER, DIZZY_PUNCH, 0
- dw 03072 ; OT ID
- dt 125 ; Exp
- ; Stat exp
- bigdw 0
- bigdw 0
- bigdw 0
- bigdw 0
- bigdw 0
- db $0, $0 ; DVs
- db 30, 30, 10, 0 ; PP
- db 20 ; Happiness
- 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 ELEKID
- db NO_ITEM
- db QUICK_ATTACK, LEER, DIZZY_PUNCH, 0
- dw 00512 ; OT ID
- dt 125 ; Exp
- ; Stat exp
- bigdw 0
- bigdw 0
- bigdw 0
- bigdw 0
- bigdw 0
- db $2a, $aa ; DVs
- db 30, 30, 10, 0 ; PP
- db 20 ; Happiness
- 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 TYROGUE
- db NO_ITEM
- db TACKLE, DIZZY_PUNCH, 0, 0
- dw 02560 ; OT ID
- dt 125 ; Exp
- ; Stat exp
- bigdw 0
- bigdw 0
- bigdw 0
- bigdw 0
- bigdw 0
- db $0, $0 ; DVs
- db 35, 10, 0, 0 ; PP
- db 20 ; Happiness
- 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 TYROGUE
- db NO_ITEM
- db TACKLE, DIZZY_PUNCH, 0, 0
- dw 00256 ; OT ID
- dt 125 ; Exp
- ; Stat exp
- bigdw 0
- bigdw 0
- bigdw 0
- bigdw 0
- bigdw 0
- db $2a, $aa ; DVs
- db 35, 10, 0, 0 ; PP
- db 20 ; Happiness
- 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@@@@@@@@"
--- /dev/null
+++ b/data/phone/non_trainer_names.asm
@@ -1,0 +1,16 @@
+NonTrainerCallerNames: ; 903d6
+; entries correspond to PHONECONTACT_* constants
+ 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:<LNBRK> DISC JOCKEY@"
+; 90423
--- a/data/phone/special_calls.asm
+++ b/data/phone/special_calls.asm
@@ -7,12 +7,12 @@
SpecialPhoneCallList: ; 90627
; entries correspond to SPECIALCALL_* constants
- specialcall SpecialCallOnlyWhenOutside, PHONE_ELM, ElmPhoneScript2
- specialcall SpecialCallOnlyWhenOutside, PHONE_ELM, ElmPhoneScript2
- specialcall SpecialCallOnlyWhenOutside, PHONE_ELM, ElmPhoneScript2
- specialcall SpecialCallOnlyWhenOutside, PHONE_ELM, ElmPhoneScript2
- specialcall SpecialCallWhereverYouAre, PHONE_ELM, ElmPhoneScript2
- specialcall SpecialCallWhereverYouAre, PHONE_OAK, BikeShopPhoneScript
- specialcall SpecialCallWhereverYouAre, PHONE_MOM, MomPhoneLectureScript
- specialcall SpecialCallOnlyWhenOutside, PHONE_ELM, ElmPhoneScript2
+ specialcall SpecialCallOnlyWhenOutside, PHONECONTACT_ELM, ElmPhoneScript2
+ specialcall SpecialCallOnlyWhenOutside, PHONECONTACT_ELM, ElmPhoneScript2
+ specialcall SpecialCallOnlyWhenOutside, PHONECONTACT_ELM, ElmPhoneScript2
+ specialcall SpecialCallOnlyWhenOutside, PHONECONTACT_ELM, ElmPhoneScript2
+ specialcall SpecialCallWhereverYouAre, PHONECONTACT_ELM, ElmPhoneScript2
+ specialcall SpecialCallWhereverYouAre, PHONECONTACT_BIKESHOP, BikeShopPhoneScript
+ specialcall SpecialCallWhereverYouAre, PHONECONTACT_MOM, MomPhoneLectureScript
+ specialcall SpecialCallOnlyWhenOutside, PHONECONTACT_ELM, ElmPhoneScript2
; 90657
--- /dev/null
+++ b/data/pokemon/unown_words.asm
@@ -1,0 +1,67 @@
+unownword: MACRO
+x = 1
+ rept STRLEN(\1)
+ db STRSUB(\1, x, 1) - $40
+x = x + 1
+ endr
+ db -1
+ENDM
+
+UnownWords: ; fba5a
+; entries correspond to UNOWN_* form constants
+ dw UnownWordA
+ dw UnownWordA
+ dw UnownWordB
+ dw UnownWordC
+ dw UnownWordD
+ dw UnownWordE
+ dw UnownWordF
+ dw UnownWordG
+ dw UnownWordH
+ dw UnownWordI
+ dw UnownWordJ
+ dw UnownWordK
+ dw UnownWordL
+ dw UnownWordM
+ dw UnownWordN
+ dw UnownWordO
+ dw UnownWordP
+ dw UnownWordQ
+ dw UnownWordR
+ dw UnownWordS
+ dw UnownWordT
+ dw UnownWordU
+ dw UnownWordV
+ dw UnownWordW
+ dw UnownWordX
+ dw UnownWordY
+ dw UnownWordZ
+; fba90
+
+UnownWordA: unownword "ANGRY"
+UnownWordB: unownword "BEAR"
+UnownWordC: unownword "CHASE"
+UnownWordD: unownword "DIRECT"
+UnownWordE: unownword "ENGAGE"
+UnownWordF: unownword "FIND"
+UnownWordG: unownword "GIVE"
+UnownWordH: unownword "HELP"
+UnownWordI: unownword "INCREASE"
+UnownWordJ: unownword "JOIN"
+UnownWordK: unownword "KEEP"
+UnownWordL: unownword "LAUGH"
+UnownWordM: unownword "MAKE"
+UnownWordN: unownword "NUZZLE"
+UnownWordO: unownword "OBSERVE"
+UnownWordP: unownword "PERFORM"
+UnownWordQ: unownword "QUICKEN"
+UnownWordR: unownword "REASSURE"
+UnownWordS: unownword "SEARCH"
+UnownWordT: unownword "TELL"
+UnownWordU: unownword "UNDO"
+UnownWordV: unownword "VANISH"
+UnownWordW: unownword "WANT"
+UnownWordX: unownword "XXXXX"
+UnownWordY: unownword "YIELD"
+UnownWordZ: unownword "ZOOM"
+; fbb32
--- /dev/null
+++ b/data/sprites/player_sprites.asm
@@ -1,0 +1,13 @@
+ChrisStateSprites:
+ db PLAYER_NORMAL, SPRITE_CHRIS
+ db PLAYER_BIKE, SPRITE_CHRIS_BIKE
+ db PLAYER_SURF, SPRITE_SURF
+ db PLAYER_SURF_PIKA, SPRITE_SURFING_PIKACHU
+ db -1 ; end
+
+KrisStateSprites:
+ db PLAYER_NORMAL, SPRITE_KRIS
+ db PLAYER_BIKE, SPRITE_KRIS_BIKE
+ db PLAYER_SURF, SPRITE_SURF
+ db PLAYER_SURF_PIKA, SPRITE_SURFING_PIKACHU
+ db -1 ; end
--- a/data/unown_walls.asm
+++ /dev/null
@@ -1,54 +1,0 @@
-unownwall: MACRO
-rept _NARG
-if \1 == "-"
-x = $64
-else
-if \1 >= "Y"
-x = 2 * (\1 - "Y") + $60
-else
-if \1 >= "Q"
-x = 2 * (\1 - "Q") + $40
-else
-if \1 >= "I"
-x = 2 * (\1 - "I") + $20
-else
-x = 2 * (\1 - "A")
-endc
-endc
-endc
-endc
- db x
-shift
-endr
- db -1 ; end
-ENDM
-
-UnownWalls: ; 8aebc
-; UNOWNWORDS_ESCAPE
- ; db $08, $44, $04, $00, $2e, $08, $ff
- unownwall "E", "S", "C", "A", "P", "E"
-; UNOWNWORDS_LIGHT
- ; db $26, $20, $0c, $0e, $46, $ff
- unownwall "L", "I", "G", "H", "T"
-; UNOWNWORDS_WATER
- ; db $4c, $00, $46, $08, $42, $ff
- unownwall "W", "A", "T", "E", "R"
-; UNOWNWORDS_HO_OH
- ; db $0e, $2c, $64, $2c, $0e, $ff
- unownwall "H", "O", "-", "O", "H"
-; 8aed5
-
-MenuHeaders_UnownWalls: ; 0x8aed5
-; 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
-; 8aee9
--- a/data/unown_words.asm
+++ /dev/null
@@ -1,67 +1,0 @@
-unownword: MACRO
-x = 1
- rept STRLEN(\1)
- db STRSUB(\1, x, 1) - $40
-x = x + 1
- endr
- db -1
-ENDM
-
-UnownWords: ; fba5a
-; entries correspond to Unown forms
- dw UnownWord1
- dw UnownWord1
- dw UnownWord2
- dw UnownWord3
- dw UnownWord4
- dw UnownWord5
- dw UnownWord6
- dw UnownWord7
- dw UnownWord8
- dw UnownWord9
- dw UnownWord10
- dw UnownWord11
- dw UnownWord12
- dw UnownWord13
- dw UnownWord14
- dw UnownWord15
- dw UnownWord16
- dw UnownWord17
- dw UnownWord18
- dw UnownWord19
- dw UnownWord20
- dw UnownWord21
- dw UnownWord22
- dw UnownWord23
- dw UnownWord24
- dw UnownWord25
- dw UnownWord26
-; fba90
-
-UnownWord1: unownword "ANGRY"
-UnownWord2: unownword "BEAR"
-UnownWord3: unownword "CHASE"
-UnownWord4: unownword "DIRECT"
-UnownWord5: unownword "ENGAGE"
-UnownWord6: unownword "FIND"
-UnownWord7: unownword "GIVE"
-UnownWord8: unownword "HELP"
-UnownWord9: unownword "INCREASE"
-UnownWord10: unownword "JOIN"
-UnownWord11: unownword "KEEP"
-UnownWord12: unownword "LAUGH"
-UnownWord13: unownword "MAKE"
-UnownWord14: unownword "NUZZLE"
-UnownWord15: unownword "OBSERVE"
-UnownWord16: unownword "PERFORM"
-UnownWord17: unownword "QUICKEN"
-UnownWord18: unownword "REASSURE"
-UnownWord19: unownword "SEARCH"
-UnownWord20: unownword "TELL"
-UnownWord21: unownword "UNDO"
-UnownWord22: unownword "VANISH"
-UnownWord23: unownword "WANT"
-UnownWord24: unownword "XXXXX"
-UnownWord25: unownword "YIELD"
-UnownWord26: unownword "ZOOM"
-; fbb32
--- a/engine/events/bug_contest/contest_2.asm
+++ b/engine/events/bug_contest/contest_2.asm
@@ -74,7 +74,7 @@
ret
; 139fe
-INCLUDE "data/bug_contest_flags.asm"
+INCLUDE "data/events/bug_contest_flags.asm"
ContestDropOffMons: ; 13a12
ld hl, PartyMon1HP
--- a/engine/events/bug_contest/judging.asm
+++ b/engine/events/bug_contest/judging.asm
@@ -134,7 +134,7 @@
; 13783
-INCLUDE "data/bug_contest_winners.asm"
+INCLUDE "data/events/bug_contest_winners.asm"
; 13807
--- a/engine/events/elevator.asm
+++ b/engine/events/elevator.asm
@@ -229,4 +229,4 @@
ret
; 13583
-INCLUDE "data/elevator_floors.asm"
+INCLUDE "data/events/elevator_floors.asm"
--- a/engine/events/happiness_egg.asm
+++ b/engine/events/happiness_egg.asm
@@ -103,7 +103,7 @@
ret
-INCLUDE "data/happiness_changes.asm"
+INCLUDE "data/events/happiness_changes.asm"
StepHappiness:: ; 725a
--- a/engine/events/magikarp.asm
+++ b/engine/events/magikarp.asm
@@ -189,7 +189,7 @@
.no
- ld hl, .Lengths
+ ld hl, MagikarpLengths
ld a, 2
ld [wd265], a
@@ -308,26 +308,7 @@
ret
; fbca8
-.Lengths: ; fbca8
-; [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
-; fbcd2
+INCLUDE "data/events/magikarp_lengths.asm"
--- a/engine/events/odd_egg.asm
+++ b/engine/events/odd_egg.asm
@@ -93,4 +93,4 @@
.Odd:
db "ODD@@@@@@@@@"
-INCLUDE "data/odd_eggs.asm"
+INCLUDE "data/events/odd_eggs.asm"
--- a/engine/events/overworld.asm
+++ b/engine/events/overworld.asm
@@ -277,7 +277,7 @@
ret
-INCLUDE "data/field_move_blocks.asm"
+INCLUDE "data/events/field_move_blocks.asm"
OWFlash: ; c8ac
--- a/engine/events/prof_oaks_pc.asm
+++ b/engine/events/prof_oaks_pc.asm
@@ -98,27 +98,7 @@
ld l, a
ret
-OakRatings: ; 0x2667f
-; if you caught at most this many, play this sound, load this text
- dbww 9, SFX_DEX_FANFARE_LESS_THAN_20, OakRating01
- dbww 19, SFX_DEX_FANFARE_LESS_THAN_20, OakRating02
- dbww 34, SFX_DEX_FANFARE_20_49, OakRating03
- dbww 49, SFX_DEX_FANFARE_20_49, OakRating04
- dbww 64, SFX_DEX_FANFARE_50_79, OakRating05
- dbww 79, SFX_DEX_FANFARE_50_79, OakRating06
- dbww 94, SFX_DEX_FANFARE_80_109, OakRating07
- dbww 109, SFX_DEX_FANFARE_80_109, OakRating08
- dbww 124, SFX_CAUGHT_MON, OakRating09
- dbww 139, SFX_CAUGHT_MON, OakRating10
- dbww 154, SFX_DEX_FANFARE_140_169, OakRating11
- dbww 169, SFX_DEX_FANFARE_140_169, OakRating12
- dbww 184, SFX_DEX_FANFARE_170_199, OakRating13
- dbww 199, SFX_DEX_FANFARE_170_199, OakRating14
- dbww 214, SFX_DEX_FANFARE_200_229, OakRating15
- dbww 229, SFX_DEX_FANFARE_200_229, OakRating16
- dbww 239, SFX_DEX_FANFARE_230_PLUS, OakRating17
- dbww 248, SFX_DEX_FANFARE_230_PLUS, OakRating18
- dbww 255, SFX_DEX_FANFARE_230_PLUS, OakRating19
+INCLUDE "data/events/pokedex_ratings.asm"
OakPCText1: ; 0x266de
text_jump _OakPCText1
--- a/engine/events/special.asm
+++ b/engine/events/special.asm
@@ -156,15 +156,15 @@
ret
YoungerHaircutBrother: ; 7413
- ld hl, Data_YoungerHaircutBrother
+ ld hl, HappinessData_YoungerHaircutBrother
jr HaircutOrGrooming
OlderHaircutBrother: ; 7418
- ld hl, Data_OlderHaircutBrother
+ ld hl, HappinessData_OlderHaircutBrother
jr HaircutOrGrooming
DaisysGrooming: ; 741d
- ld hl, Data_DaisysGrooming
+ ld hl, HappinessData_DaisysGrooming
; fallthrough
HaircutOrGrooming: ; 7420
@@ -213,18 +213,7 @@
ld [ScriptVar], a
ret
-Data_YoungerHaircutBrother: ; 7459
- db $4c, 2, HAPPINESS_YOUNGCUT1 ; 30% chance
- db $80, 3, HAPPINESS_YOUNGCUT2 ; 20% chance
- db $ff, 4, HAPPINESS_YOUNGCUT3 ; 50% chance
-
-Data_OlderHaircutBrother: ; 7462
- db $9a, 2, HAPPINESS_OLDERCUT1 ; 60% chance
- db $4c, 3, HAPPINESS_OLDERCUT2 ; 10% chance
- db $ff, 4, HAPPINESS_OLDERCUT3 ; 30% chance
-
-Data_DaisysGrooming: ; 746b
- db $ff, 2, HAPPINESS_GROOMING ; 99.6% chance
+INCLUDE "data/events/happiness_chances.asm"
CopyPokemonName_Buffer1_Buffer3: ; 746e
ld hl, StringBuffer1
--- a/engine/events/std_collision.asm
+++ b/engine/events/std_collision.asm
@@ -23,7 +23,7 @@
xor a
ret
-INCLUDE "data/collision_stdscripts.asm"
+INCLUDE "data/events/collision_stdscripts.asm"
Script_JumpStdFromRAM: ; 0x1369a
jump wJumpStdScriptBuffer
--- a/engine/events/unown_walls.asm
+++ b/engine/events/unown_walls.asm
@@ -153,7 +153,7 @@
ret
; 8aebc
-INCLUDE "data/unown_walls.asm"
+INCLUDE "data/events/unown_walls.asm"
_DisplayUnownWords_FillAttr: ; 8aee9
ld a, [de]
--- a/engine/items.asm
+++ b/engine/items.asm
@@ -11,6 +11,7 @@
ret
.Pockets: ; d1e9
+; entries correspond to item types
dw .Item
dw .KeyItem
dw .Ball
@@ -51,6 +52,7 @@
ret
.Pockets:
+; entries correspond to item types
dw .Item
dw .KeyItem
dw .Ball
@@ -93,6 +95,7 @@
ret
.Pockets:
+; entries correspond to item types
dw .Item
dw .KeyItem
dw .Ball
@@ -492,7 +495,7 @@
; Return 1 in wItemAttributeParamBuffer and carry if CurItem can't be removed from the bag.
ld a, ITEMATTR_PERMISSIONS
call GetItemAttr
- bit 7, a
+ bit CANT_TOSS_F, a
jr nz, ItemAttr_ReturnCarry
and a
ret
@@ -501,7 +504,7 @@
; Return 1 in wItemAttributeParamBuffer and carry if CurItem can't be selected.
ld a, ITEMATTR_PERMISSIONS
call GetItemAttr
- bit 6, a
+ bit CANT_SELECT_F, a
jr nz, ItemAttr_ReturnCarry
and a
ret
--- a/engine/npctrade.asm
+++ b/engine/npctrade.asm
@@ -401,7 +401,7 @@
; fce58
-INCLUDE "data/npc_trades.asm"
+INCLUDE "data/events/npc_trades.asm"
PrintTradeText: ; fcf38
--- a/engine/overworld.asm
+++ b/engine/overworld.asm
@@ -60,7 +60,7 @@
GetPlayerSprite: ; 14183
; Get Chris or Kris's sprite.
- ld hl, .Chris
+ ld hl, ChrisStateSprites
ld a, [wPlayerSpriteSetupFlags]
bit PLAYERSPRITESETUP_FEMALE_TO_MALE_F, a
jr nz, .go
@@ -67,7 +67,7 @@
ld a, [wPlayerGender]
bit PLAYERGENDER_FEMALE_F, a
jr z, .go
- ld hl, .Kris
+ ld hl, KrisStateSprites
.go
ld a, [PlayerState]
@@ -95,20 +95,7 @@
ld [PlayerObjectSprite], a
ret
-.Chris:
- db PLAYER_NORMAL, SPRITE_CHRIS
- db PLAYER_BIKE, SPRITE_CHRIS_BIKE
- db PLAYER_SURF, SPRITE_SURF
- db PLAYER_SURF_PIKA, SPRITE_SURFING_PIKACHU
- db -1 ; end
-
-.Kris:
- db PLAYER_NORMAL, SPRITE_KRIS
- db PLAYER_BIKE, SPRITE_KRIS_BIKE
- db PLAYER_SURF, SPRITE_SURF
- db PLAYER_SURF_PIKA, SPRITE_SURFING_PIKACHU
- db -1 ; end
-; 141c9
+INCLUDE "data/sprites/player_sprites.asm"
AddMapSprites: ; 141c9
--- a/engine/party_menu.asm
+++ b/engine/party_menu.asm
@@ -839,6 +839,7 @@
; 5057b
.MenuActionTexts: ; 5057b
+; entries correspond to PARTYMENUTEXT_* constants
dw .Text_CuredOfPoison
dw .Text_BurnWasHealed
dw .Text_Defrosted
--- a/engine/phone/phone.asm
+++ b/engine/phone/phone.asm
@@ -704,21 +704,7 @@
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:<LNBRK> DISC JOCKEY@"
-; 90423
+INCLUDE "data/phone/non_trainer_names.asm"
Phone_GetTrainerName: ; 90423 (24:4423)
push hl
--- a/engine/pokedex/unown_dex.asm
+++ b/engine/pokedex/unown_dex.asm
@@ -49,4 +49,4 @@
; fba5a (3e:7a5a)
-INCLUDE "data/unown_words.asm"
+INCLUDE "data/pokemon/unown_words.asm"
--- a/engine/select_menu.asm
+++ b/engine/select_menu.asm
@@ -33,6 +33,7 @@
ret
.Pockets:
+; entries correspond to *_POCKET constants
dw .CheckItem
dw .CheckBall
dw .CheckKeyItem
@@ -127,6 +128,7 @@
ret
.SwitchTo:
+; entries correspond to ITEMMENU_* constants
dw .CantUse
dw .NoFunction
dw .NoFunction
--- a/engine/variables.asm
+++ b/engine/variables.asm
@@ -54,7 +54,7 @@
dwb MapGroup, RETVAR_STRBUF2
dwb MapNumber, RETVAR_STRBUF2
dwb .UnownCaught, RETVAR_EXECUTE
- dwb wEnvironment, RETVAR_STRBUF2
+ dwb wEnvironment, RETVAR_STRBUF2
dwb .BoxFreeSpace, RETVAR_EXECUTE
dwb wBugContestMinsRemaining, RETVAR_STRBUF2
dwb XCoord, RETVAR_STRBUF2