diff --git a/README.md b/README.md index c6c71ad..d8a124b 100644 --- a/README.md +++ b/README.md @@ -62,6 +62,7 @@ Mega Evolutions, Gigantamax forms, etc, are not in active consideration. - Gen 6 Experience System! - Poke Balls now all have unique palettes. - The high friendship evolution threshold is now 170, making Friend Balls sufficient for instant evolution and hatching from Eggs takes minimal effort. +- Items previously only obtainable via the Time Capsule are now distributed to specific Pokemon (5%: Polkadot Bow Snubbull, TwistedSpoon Kadabra, Metal Powder Ditto/Mimmeo, Light Ball Pikachu; 50%: Lucky Punch Chansey) ## Map Changes Numerous new maps are available, featuring new locations, the iconic Sevii Islands, and the Nihon region! @@ -108,6 +109,7 @@ JEP-affiliated spriters require sprites to be used with direct credit for non-co - Shawesome: Alolan Geodude - EyeDonutz: Walking Wake - Plague von Karma: Overworld Arbok, Koffing, Voltorb, Gengar, Diglett, and Cat sprites, adapted from the slot machine's sprites (originally made for KEP). +- LadyMisticus: Sprite edits of Imposter Oak, Archer, Ariana, Prof.Blue, Giovanni (both), Green; Cal (original) ### Unaffiliated - nuuk: Azurill, Electivire, Farigiraf, Glaceon, Honchkrow, Leafeon, Magmortar, Magnezone, Porygon-Z, Sylveon, Togekiss, Wyrdeer, Clodsire (back) diff --git a/constants/engine_flags.asm b/constants/engine_flags.asm index 300b5bb..e671d92 100644 --- a/constants/engine_flags.asm +++ b/constants/engine_flags.asm @@ -53,6 +53,15 @@ const ENGINE_MARSHBADGE const ENGINE_VOLCANOBADGE const ENGINE_EARTHBADGE +; wNihonBadges + const ENGINE_BADGE1 + const ENGINE_BADGE2 + const ENGINE_BADGE3 + const ENGINE_BADGE4 + const ENGINE_BADGE5 + const ENGINE_BADGE6 + const ENGINE_BADGE7 + const ENGINE_BADGE8 ; wUnlockedUnowns const ENGINE_UNLOCKED_UNOWNS_A_TO_K const ENGINE_UNLOCKED_UNOWNS_L_TO_R diff --git a/constants/event_flags.asm b/constants/event_flags.asm index 7d5d99a..b61fe1b 100644 --- a/constants/event_flags.asm +++ b/constants/event_flags.asm @@ -1109,7 +1109,8 @@ const EVENT_BEAT_ARCHER2 const EVENT_BEAT_ARCHER3 const EVENT_BEAT_PROFBLUE -; Unused: next 85 events + const EVENT_GOT_TM47_STEEL_WING2 +; Unused: next 86 events const_next 1600 ; Sprite visibility flags diff --git a/constants/map_constants.asm b/constants/map_constants.asm index 269f7cf..54f94a4 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -643,6 +643,7 @@ ENDM map_const OLD_CITY_EARLS_HOUSE, 4, 4 ; 5 map_const OLD_CITY_FAMILY_HOUSE, 4, 4 ; 6 map_const SEPIA_SCHOOL, 4, 8 ; 7 + map_const OLD_CITY_GYM, 6, 10 ; 8 endgroup newgroup BLUE_FOREST ; 37 diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm index f8635a5..e7c7a42 100644 --- a/constants/trainer_constants.asm +++ b/constants/trainer_constants.asm @@ -177,6 +177,7 @@ DEF KRIS EQU __trainer_class__ const MATT const SHAW const FREDERICK + const NORIKAGE trainerclass LASS ; 19 const CARRIE diff --git a/constants/wram_constants.asm b/constants/wram_constants.asm index 355a612..26f3c48 100644 --- a/constants/wram_constants.asm +++ b/constants/wram_constants.asm @@ -238,7 +238,20 @@ DEF NUM_JOHTO_BADGES EQU const_value const VOLCANOBADGE const EARTHBADGE DEF NUM_KANTO_BADGES EQU const_value -DEF NUM_BADGES EQU NUM_JOHTO_BADGES + NUM_KANTO_BADGES + +; wNihonBadges:: + const_def + const BADGE1 + const BADGE2 + const BADGE3 + const BADGE4 + const BADGE5 + const BADGE6 + const BADGE7 + const BADGE8 +DEF NUM_NIHON_BADGES EQU const_value + +DEF NUM_BADGES EQU NUM_JOHTO_BADGES + NUM_KANTO_BADGES + NUM_NIHON_BADGES ; wPokegearFlags:: const_def diff --git a/data/events/engine_flags.asm b/data/events/engine_flags.asm index 317edd8..0626af8 100644 --- a/data/events/engine_flags.asm +++ b/data/events/engine_flags.asm @@ -61,6 +61,15 @@ EngineFlags: engine_flag wKantoBadges, MARSHBADGE engine_flag wKantoBadges, VOLCANOBADGE engine_flag wKantoBadges, EARTHBADGE + + engine_flag wNihonBadges, BADGE1 + engine_flag wNihonBadges, BADGE2 + engine_flag wNihonBadges, BADGE3 + engine_flag wNihonBadges, BADGE4 + engine_flag wNihonBadges, BADGE5 + engine_flag wNihonBadges, BADGE6 + engine_flag wNihonBadges, BADGE7 + engine_flag wNihonBadges, BADGE8 ; unown sets (see data/wild/unlocked_unowns.asm) engine_flag wUnlockedUnowns, UNLOCKED_UNOWNS_A_TO_K_F diff --git a/data/maps/attributes.asm b/data/maps/attributes.asm index aedc158..bc80d4c 100644 --- a/data/maps/attributes.asm +++ b/data/maps/attributes.asm @@ -832,6 +832,7 @@ ENDM map_attributes OldCityEarlsHouse, OLD_CITY_EARLS_HOUSE, $00, 0 map_attributes OldCityFamilyHouse, OLD_CITY_FAMILY_HOUSE, $00, 0 map_attributes SepiaSchool, SEPIA_SCHOOL, $00, 0 + map_attributes OldCityGym, OLD_CITY_GYM, $00, 0 map_attributes BlueForest, BLUE_FOREST, $00, 0 ; this is on its own for now. add connections later. diff --git a/data/maps/blocks.asm b/data/maps/blocks.asm index 6cc2686..860998f 100644 --- a/data/maps/blocks.asm +++ b/data/maps/blocks.asm @@ -1240,3 +1240,6 @@ WhiteCity_Blocks: Route66WhiteCityGate_Blocks: INCBIN "maps/NihonGateEastWest.ablk" + +OldCityGym_Blocks: + INCBIN "maps/OldCityGym.ablk" diff --git a/data/maps/maps.asm b/data/maps/maps.asm index 0d843b8..26e5772 100644 --- a/data/maps/maps.asm +++ b/data/maps/maps.asm @@ -703,6 +703,7 @@ MapGroup_OldCity: map OldCityEarlsHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, LANDMARK_OLD_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_NONE map OldCityFamilyHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, LANDMARK_OLD_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_NONE map SepiaSchool, TILESET_LAB, INDOOR, LANDMARK_OLD_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_NONE + map OldCityGym, TILESET_TOWER, INDOOR, LANDMARK_OLD_CITY, MUSIC_GYM, FALSE, PALETTE_DAY, FISHGROUP_NONE assert_table_length NUM_OLD_CITY_MAPS MapGroup_BlueForest: diff --git a/data/maps/scripts.asm b/data/maps/scripts.asm index 1f20e82..665b2c6 100644 --- a/data/maps/scripts.asm +++ b/data/maps/scripts.asm @@ -588,8 +588,10 @@ INCLUDE "maps/SepiaSchool.asm" INCLUDE "maps/WhiteCity.asm" INCLUDE "maps/Route66WhiteCityGate.asm" +SECTION "Map Scripts 30", ROMX +INCLUDE "maps/OldCityGym.asm" -SECTION "Map Scripts 30", ROMX ; spillover +SECTION "Map Scripts 31", ROMX ; spillover INCLUDE "maps/TanobyRuins.asm" INCLUDE "maps/TanobyChambers.asm" INCLUDE "maps/NavalRockExterior.asm" diff --git a/data/pokemon/base_stats/chansey.asm b/data/pokemon/base_stats/chansey.asm index 65762d9..aa84867 100644 --- a/data/pokemon/base_stats/chansey.asm +++ b/data/pokemon/base_stats/chansey.asm @@ -6,7 +6,7 @@ db NORMAL, NORMAL ; type db 30 ; catch rate db 255 ; base exp - db NO_ITEM, LUCKY_EGG ; items + db LUCKY_PUNCH, LUCKY_EGG ; items db GENDER_F100 ; gender ratio db 100 ; unknown 1 db 40 ; step cycles to hatch diff --git a/data/pokemon/base_stats/ditto.asm b/data/pokemon/base_stats/ditto.asm index 9744613..0912f40 100644 --- a/data/pokemon/base_stats/ditto.asm +++ b/data/pokemon/base_stats/ditto.asm @@ -6,7 +6,7 @@ db NORMAL, NORMAL ; type db 35 ; catch rate db 61 ; base exp - db NO_ITEM, NO_ITEM ; items + db NO_ITEM, METAL_POWDER ; items db GENDER_UNKNOWN ; gender ratio db 100 ; unknown 1 db 20 ; step cycles to hatch diff --git a/data/pokemon/base_stats/kadabra.asm b/data/pokemon/base_stats/kadabra.asm index 23f11a6..b378278 100644 --- a/data/pokemon/base_stats/kadabra.asm +++ b/data/pokemon/base_stats/kadabra.asm @@ -6,7 +6,7 @@ db PSYCHIC_TYPE, PSYCHIC_TYPE ; type db 100 ; catch rate db 145 ; base exp - db NO_ITEM, NO_ITEM ; items + db NO_ITEM, TWISTEDSPOON ; items db GENDER_F25 ; gender ratio db 100 ; unknown 1 db 20 ; step cycles to hatch diff --git a/data/pokemon/base_stats/lickilord.asm b/data/pokemon/base_stats/lickilord.asm index f1b2db2..7b0a269 100644 --- a/data/pokemon/base_stats/lickilord.asm +++ b/data/pokemon/base_stats/lickilord.asm @@ -1,6 +1,6 @@ db 0 ; species ID placeholder - db 80, 110, 105, 70, 65, 85 + db 100, 105, 105, 45, 75, 85 ; hp atk def spd sat sdf db NORMAL, POISON ; type diff --git a/data/pokemon/base_stats/mimmeo.asm b/data/pokemon/base_stats/mimmeo.asm index 81e17ce..00f5ed8 100644 --- a/data/pokemon/base_stats/mimmeo.asm +++ b/data/pokemon/base_stats/mimmeo.asm @@ -6,7 +6,7 @@ db STEEL, STEEL ; type db 35 ; catch rate db 161 ; base exp - db NO_ITEM, NO_ITEM ; items + db NO_ITEM, METAL_POWDER ; items db GENDER_UNKNOWN ; gender ratio db 100 ; unknown 1 db 20 ; step cycles to hatch diff --git a/data/pokemon/base_stats/pikachu.asm b/data/pokemon/base_stats/pikachu.asm index 2a533a3..4782c73 100644 --- a/data/pokemon/base_stats/pikachu.asm +++ b/data/pokemon/base_stats/pikachu.asm @@ -6,7 +6,7 @@ db ELECTRIC, ELECTRIC ; type db 190 ; catch rate db 82 ; base exp - db NO_ITEM, BERRY ; items + db NO_ITEM, LIGHT_BALL ; items db GENDER_F50 ; gender ratio db 100 ; unknown 1 db 10 ; step cycles to hatch diff --git a/data/pokemon/base_stats/snubbull.asm b/data/pokemon/base_stats/snubbull.asm index c879dbd..e6f0bd2 100644 --- a/data/pokemon/base_stats/snubbull.asm +++ b/data/pokemon/base_stats/snubbull.asm @@ -6,7 +6,7 @@ db NORMAL, NORMAL ; type db 190 ; catch rate db 63 ; base exp - db NO_ITEM, NO_ITEM ; items + db NO_ITEM, POLKADOT_BOW ; items db GENDER_F75 ; gender ratio db 100 ; unknown 1 db 20 ; step cycles to hatch diff --git a/data/tilesets/tower_attributes.bin b/data/tilesets/tower_attributes.bin index 4c0ce3b..49c4876 100644 Binary files a/data/tilesets/tower_attributes.bin and b/data/tilesets/tower_attributes.bin differ diff --git a/data/tilesets/tower_collision.asm b/data/tilesets/tower_collision.asm index 30e74a5..d0da62e 100644 --- a/data/tilesets/tower_collision.asm +++ b/data/tilesets/tower_collision.asm @@ -38,8 +38,8 @@ tilecoll WALL, WALL, PIT, FLOOR ; 25 tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 26 tilecoll WARP_CARPET_UP, WARP_CARPET_UP, FLOOR, FLOOR ; 27 - tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 28 - tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 29 + tilecoll FLOOR, FLOOR, WALL, FLOOR ; 28 + tilecoll FLOOR, WALL, FLOOR, FLOOR ; 29 tilecoll WALL, WALL, WALL, WALL ; 2a tilecoll WALL, HOP_LEFT, WALL, WALL ; 2b tilecoll HOP_RIGHT, WALL, WALL, WALL ; 2c @@ -62,3 +62,19 @@ tilecoll WALL, HOP_DOWN, WALL, WALL ; 3d tilecoll HOP_DOWN, WALL, WALL, WALL ; 3e tilecoll HOP_DOWN_RIGHT, WALL, WALL, WALL ; 3f + tilecoll WALL, WALL, FLOOR, FLOOR ; 40 + tilecoll WALL, WALL, FLOOR, FLOOR ; 41 + tilecoll WALL, WALL, FLOOR, FLOOR ; 42 + tilecoll WALL, WALL, FLOOR, FLOOR ; 43 + tilecoll WALL, WALL, FLOOR, FLOOR ; 44 + tilecoll WALL, WALL, FLOOR, FLOOR ; 45 + tilecoll WALL, WALL, FLOOR, FLOOR ; 46 + tilecoll WALL, WALL, FLOOR, FLOOR ; 47 + tilecoll WALL, WALL, FLOOR, FLOOR ; 48 + tilecoll WALL, WALL, FLOOR, FLOOR ; 49 + tilecoll WALL, FLOOR, WALL, FLOOR ; 4a + tilecoll FLOOR, WALL, FLOOR, WALL ; 4b + tilecoll FLOOR, WALL, FLOOR, FLOOR ; 4c + tilecoll WALL, FLOOR, FLOOR, FLOOR ; 4d + tilecoll WALL, WALL, FLOOR, WALL ; 4e + tilecoll WALL, WALL, WALL, FLOOR ; 4f diff --git a/data/tilesets/tower_metatiles.bin b/data/tilesets/tower_metatiles.bin index 4e0b9b2..dc59184 100644 --- a/data/tilesets/tower_metatiles.bin +++ b/data/tilesets/tower_metatiles.bin @@ -1,2 +1,4 @@  @ !!A1A1!!!!!!@ A1A1 - A1A1A1A1A1A1A1A1A1A1!!!!!!!!A1A1!!!! -.=><>MN./>?,NO()89*+:;()89*+:;MN]^NO^_A1A1@ !!A1A1!!@ !!!!^^^^"#23&'67"#23&'67PQPQPQPQPQPQPQPQ$$$$  "#23!!67"#!!2367%545%545%545%545 ^^  FV GW PQPQRSRSBCHZ[!XL\67IBCY!Z[L\67JKZ[L\67JKZ[L\67DETU!!!!PPPPPPPPFV   GW  \ No newline at end of file + A1A1A1A1A1A1A1A1A1A1!!!!!!!!A1A1!!!! -.=><>MN./>?,NO()89*+:;()89*+:;MN]^NO^_A1A1@ !!A1A1!!@ !!!!^^^^"#23&'67"#23&'67PQPQPQPQPQPQPQPQ$$$$  "#23!!67"#!!2367%545%545%545%545 ^^   + GHWX + GHWXFV GW PQPQRSRSBCHZ[!XL\67IBCY!Z[L\67JKZ[L\67JKZ[L\67DETU!!!!PPPPPPPPFV   GW 0123!!4501!!2345EFUV!!55EF!!UV55IJYZ!!55IJ!!YZ55KL[\!!55KL!![\556789!!5567!!8955!!^^!!^^!!!!!!!!!!!!!!!! \ No newline at end of file diff --git a/data/trainers/parties.asm b/data/trainers/parties.asm index a7f4dce..5f9826b 100644 --- a/data/trainers/parties.asm +++ b/data/trainers/parties.asm @@ -1359,20 +1359,17 @@ BirdKeeperGroup: db -1 ; end next_list_item ; BIRD_KEEPER (19) - db "FREDERICK@", TRAINERTYPE_MOVES ; Reference to the Frederick II of Hohenstaufen, one of the earliest knowledgable Falconers in history + db "FRED@", TRAINERTYPE_MOVES ; Reference to the Frederick II of Hohenstaufen, one of the earliest knowledgable Falconers in history db 50 - dw TREBIR - dw PERISH_SONG, ENCORE, SING, WING_ATTACK + dw AERCROW + dw MEGAPHONE, WING_ATTACK, WHIRLWIND, PETAL_DANCE db 50 - dw FEAROW - dw MIRROR_MOVE, DOUBLE_EDGE, STEEL_WING, DRILL_PECK - db 50 - dw HONCHKROW - dw PURSUIT, DRILL_PECK, NIGHT_SHADE, QUICK_ATTACK + dw CARETORKER + dw SOFTBOILED, WHIRLWIND, HEAL_BELL, DRILL_PECK db -1 ; end next_list_item ; BIRD_KEEPER (19) - db "NORIKAGE@", TRAINERTYPE_MOVES ; Asakura Norikage 朝倉 教景 (1476 - 1555), brought Goshawk breeding to Asakura Clan in the 16th Century. + db "KAGE@", TRAINERTYPE_MOVES ; Asakura Norikage 朝倉 教景 (1476 - 1555), brought Goshawk breeding to Asakura Clan in the 16th Century. db 50 dw DELIBIRD dw PRESENT, ICY_WIND, QUICK_ATTACK, THIEF diff --git a/data/types/badge_type_boosts.asm b/data/types/badge_type_boosts.asm index fb353df..89bf0db 100644 --- a/data/types/badge_type_boosts.asm +++ b/data/types/badge_type_boosts.asm @@ -18,4 +18,15 @@ BadgeTypeBoosts: db PSYCHIC_TYPE ; MARSHBADGE db FIRE ; VOLCANOBADGE db GROUND ; EARTHBADGE +; Nihon Badges +; Unsure what to do with these, so let's leave it for now. +; South's will boost Fairy, though. + db CURSE_TYPE + db CURSE_TYPE + db CURSE_TYPE + db CURSE_TYPE + db CURSE_TYPE + db CURSE_TYPE + db CURSE_TYPE + db CURSE_TYPE db -1 ; end diff --git a/engine/menus/intro_menu.asm b/engine/menus/intro_menu.asm index 262490b..3c7f917 100644 --- a/engine/menus/intro_menu.asm +++ b/engine/menus/intro_menu.asm @@ -204,6 +204,7 @@ _ResetWRAM: ld [wJohtoBadges], a ld [wKantoBadges], a + ld [wNihonBadges], a ld [wCoins], a ld [wCoins + 1], a @@ -611,7 +612,7 @@ Continue_UnknownGameTime: Continue_DisplayBadgeCount: push hl ld hl, wJohtoBadges - ld b, 2 + ld b, 3 call CountSetBits pop hl ld de, wNumSetBits diff --git a/engine/pokegear/radio.asm b/engine/pokegear/radio.asm index 720b2d7..26a9e75 100644 --- a/engine/pokegear/radio.asm +++ b/engine/pokegear/radio.asm @@ -1073,7 +1073,7 @@ PeoplePlaces4: ; People bit STATUSFLAGS_HALL_OF_FAME_F, a jr z, .ok ld hl, PnP_HiddenPeople_BeatE4 - ld a, [wKantoBadges] + ld a, [wKantoBadges] ; TODO: See if a Nihon equivalent is warranted. cp %11111111 ; all badges jr nz, .ok ld hl, PnP_HiddenPeople_BeatKanto diff --git a/gfx/tilesets.asm b/gfx/tilesets.asm index efa76b0..a31ab87 100644 --- a/gfx/tilesets.asm +++ b/gfx/tilesets.asm @@ -89,15 +89,6 @@ INCLUDE "data/tilesets/cave_collision.asm" SECTION "Tileset Data 3", ROMX -TilesetTowerGFX:: -INCBIN "gfx/tilesets/tower.2bpp.lz" - -TilesetTowerMeta:: -INCBIN "data/tilesets/tower_metatiles.bin" - -TilesetTowerColl:: -INCLUDE "data/tilesets/tower_collision.asm" - TilesetLabGFX:: INCBIN "gfx/tilesets/lab.2bpp.lz" @@ -426,9 +417,6 @@ INCBIN "data/tilesets/pokecom_center_attributes.bin" TilesetBattleTowerInsideAttr:: INCBIN "data/tilesets/battle_tower_inside_attributes.bin" -TilesetTowerAttr:: -INCBIN "data/tilesets/tower_attributes.bin" - SECTION "Tileset Data 11", ROMX @@ -637,4 +625,17 @@ TilesetNihonWhiteCityMeta:: INCBIN "data/tilesets/nihon_whitecity_metatiles.bin" TilesetNihonWhiteCityColl:: -INCLUDE "data/tilesets/nihon_whitecity_collision.asm" \ No newline at end of file +INCLUDE "data/tilesets/nihon_whitecity_collision.asm" + +; Inclusion of NEW things made it so I had to move it. THE DOMAIN EXPANSION, WAHOO! +TilesetTowerGFX:: +INCBIN "gfx/tilesets/tower.2bpp.lz" + +TilesetTowerMeta:: +INCBIN "data/tilesets/tower_metatiles.bin" + +TilesetTowerColl:: +INCLUDE "data/tilesets/tower_collision.asm" + +TilesetTowerAttr:: +INCBIN "data/tilesets/tower_attributes.bin" diff --git a/gfx/tilesets/tower.png b/gfx/tilesets/tower.png index 71be4f1..6ffbcc0 100644 Binary files a/gfx/tilesets/tower.png and b/gfx/tilesets/tower.png differ diff --git a/maps/DebugRoom.asm b/maps/DebugRoom.asm index 76ab0cf..da345fb 100644 --- a/maps/DebugRoom.asm +++ b/maps/DebugRoom.asm @@ -89,6 +89,10 @@ DebugFlyScript: setflag ENGINE_POKEGEAR setflag ENGINE_PHONE_CARD + ; Test new badge count + setflag ENGINE_BOULDERBADGE + setflag ENGINE_BADGE1 + setflag ENGINE_FLYPOINT_PLAYERS_HOUSE setflag ENGINE_FLYPOINT_DEBUG setflag ENGINE_FLYPOINT_PALLET @@ -116,6 +120,7 @@ DebugFlyScript: setflag ENGINE_FLYPOINT_BLACKTHORN setflag ENGINE_FLYPOINT_SILVER_CAVE setflag ENGINE_FLYPOINT_SILENT_HILLS + setflag ENGINE_FLYPOINT_OLD setevent EVENT_BEAT_ELITE_FOUR diff --git a/maps/OldCity.asm b/maps/OldCity.asm index 2a9051e..e68d2c7 100644 --- a/maps/OldCity.asm +++ b/maps/OldCity.asm @@ -200,8 +200,8 @@ OldCity_MapEvents: warp_event 19, 31, ROUTE_49_OLD_CITY_GATE_1F, 4 warp_event 21, 26, SEPIA_SCHOOL, 1 warp_event 3, 26, OLD_MART, 1 ; Mart - warp_event 27, 12, DEBUG_ROOM, 1 ; gym right - warp_event 26, 12, DEBUG_ROOM, 1 ; gym left + warp_event 27, 12, OLD_CITY_GYM, 1 ; gym right + warp_event 26, 12, OLD_CITY_GYM, 1 ; gym left warp_event 5, 12, DEBUG_ROOM, 1 ; Museum(?) right warp_event 4, 12, DEBUG_ROOM, 1 ; Museum(?) left warp_event 12, 16, DEBUG_ROOM, 1 ; Pokemon Pagoda right diff --git a/maps/OldCityGym.ablk b/maps/OldCityGym.ablk new file mode 100644 index 0000000..920d576 --- /dev/null +++ b/maps/OldCityGym.ablk @@ -0,0 +1,2 @@ +@A# ##JKNMLO +J()KML  \ No newline at end of file diff --git a/maps/OldCityGym.asm b/maps/OldCityGym.asm new file mode 100644 index 0000000..0ce5b4c --- /dev/null +++ b/maps/OldCityGym.asm @@ -0,0 +1,345 @@ + object_const_def + +OldCityGym_MapScripts: + def_scene_scripts + + def_callbacks + +OldGymWalkerScript: + faceplayer + opentext + checkevent EVENT_BEAT_LEADER_WALKER + iftrue .FightDone + writetext WalkerText_Start + waitbutton + closetext + winlosstext WalkerText_Lose, 0 + loadtrainer WALKER, WALKER1 + startbattle + reloadmapafterbattle + setevent EVENT_BEAT_LEADER_WALKER + opentext + writetext Text_ReceivedWalkerBadge + playsound SFX_GET_BADGE + waitsfx + setflag ENGINE_BADGE1 +.FightDone: + checkevent EVENT_GOT_TM47_STEEL_WING2 + iftrue .GotSteelWing + setevent EVENT_BEAT_BIRD_KEEPER_MATT + setevent EVENT_BEAT_BIRD_KEEPER_SHAW + setevent EVENT_BEAT_BIRD_KEEPER_FREDERICK + setevent EVENT_BEAT_BIRD_KEEPER_NORIKAGE + writetext WalkerText_AfterBattle + promptbutton + verbosegiveitem TM_STEEL_WING + iffalse .NoRoomForSteelWing + setevent EVENT_GOT_TM47_STEEL_WING2 + writetext WalkerText_SteelWingGaffe + waitbutton + closetext + end + +.GotSteelWing: + writetext WalkerText_RegularText + waitbutton +.NoRoomForSteelWing: + closetext + end + +WalkerText_Start: + text "I'm WALKER!" + + para "Chaw haw haw!" + line "So you beat my" + cont "son, eh?" + + para "I caught that" + line "PIDGEOTTO for" + cont "him in VIRIDIAN" + cont "FOREST! It's a" + cont "strange one," + cont "right?" + + para "Enough chopsin'!" + line "You're here for" + cont "my badge, right?" + + para "I'll blow you" + line "back to JOHTO!" + done + +WalkerText_Lose: + text "Hoo-ah! You're" + line "a toughie!" + + para "Yep, ya got me." + line "Here's your BADGE." + done + +Text_ReceivedWalkerBadge: + text " received" + line "XBADGE." + done + +WalkerText_AfterBattle: + text "Hm, you conquered" + line "JOHTO and KANTO," + cont "huh?" + + para "Well, I doubt" + line "you'll get much" + cont "out of my BADGE." + + para "Did you know they" + line "boost the power" + cont "of your moves," + cont "though?" + + para "My son has been" + line "helping your bird" + cont "#MON all along!" + cont "What a MURKROW," + cont "eh?" + + para "Take this and be" + line "on your way." + done + +WalkerText_SteelWingGaffe: + text "TM47 contains" + line "STEEL WING." + + para "Huh? It's a STEEL" + line "move? Sure it is!" + + para "Didn't you see ol'" + line "SKARMORY here so-" + cont "aring with it?" + + para "Lemme have this," + line "pal! C'mon!" + done + +WalkerText_RegularText: + text "There's a tonna" + line "bird #MON out" + cont "there, ." + + para "To get ahead, you" + line "can't just use" + cont "those, though." + + para "They're not too" + line "different to FLY-" + cont "ING #MON, see?" + + para "That's how LANCE" + line "beat me outta the" + cont "ELITE FOUR! That" + cont "larrikin!" ; Ancient slang word meaning "troublemaker", essentially. Came from Cornish/Black Country dialect, persists in Australian English. + done + +TrainerBirdkeeperMatt: + trainer BIRD_KEEPER, MATT, EVENT_BEAT_BIRD_KEEPER_MATT, BirdkeeperMattSeenText, BirdkeeperMattBeatenText, 0, .AfterScript + +.AfterScript: + endifjustbattled + opentext + writetext BirdkeeperMattAfterBattleText + waitbutton + closetext + end + +BirdkeeperMattSeenText: + text "Oh! A JOHTO kid!" + para "Let's give you" + line "a welcome you'll" + cont "never forget!" + done + +BirdkeeperMattBeatenText: + text "Kyaaargh!" + done + +BirdkeeperMattAfterBattleText: + text "Bird #MON make" + line "great partners," + cont "huh?" + + para "They grow with" + line "you." + done + +TrainerBirdkeeperShaw: + trainer BIRD_KEEPER, SHAW, EVENT_BEAT_BIRD_KEEPER_SHAW, BirdkeeperShawSeenText, BirdkeeperShawBeatenText, 0, .AfterScript + +.AfterScript: + endifjustbattled + opentext + writetext BirdkeeperShawAfterBattleText + waitbutton + closetext + end + +BirdkeeperShawSeenText: + text "It's time for the" + line "TREBIR opera!" + done + +BirdkeeperShawBeatenText: + text "Oh, dear!" + done + +BirdkeeperShawAfterBattleText: + text "Aren't TREBIR's" + line "songs marvelous?" + + para "Huh? What's with" + line "that look on your" + cont "face?" ; It knows Perish song. Shaw is going to die. + done + +TrainerBirdkeeperFrederick: + trainer BIRD_KEEPER, FREDERICK, EVENT_BEAT_BIRD_KEEPER_FREDERICK, BirdkeeperFrederickSeenText, BirdkeeperFrederickBeatenText, 0, .AfterScript + +.AfterScript: + endifjustbattled + opentext + writetext BirdkeeperFrederickAfterBattleText + waitbutton + closetext + end + +BirdkeeperFrederickSeenText: + text "Careful, there!" + + para "You almost fell!" + done + +BirdkeeperFrederickBeatenText: + text "Wh-whoa!" + done + +BirdkeeperFrederickAfterBattleText: + text "Seems I'm the" + line "one who needs to" + cont "be careful!" + + para "CARETORKER alm-" + line "ost knocked me" + cont "off!" + done + +TrainerBirdkeeperNorikage: + trainer BIRD_KEEPER, NORIKAGE, EVENT_BEAT_BIRD_KEEPER_NORIKAGE, BirdkeeperNorikageSeenText, BirdkeeperNorikageBeatenText, 0, .AfterScript + +.AfterScript: + endifjustbattled + opentext + writetext BirdkeeperNorikageAfterBattleText + waitbutton + closetext + end + +BirdkeeperNorikageSeenText: + text "Falconry is an" + line "art form few can" + cont "appreciate." + + para "Let me show you!" + done + +BirdkeeperNorikageBeatenText: + text "It seems you're" + line "aware!" + done + +BirdkeeperNorikageAfterBattleText: + text "My ancestors" + line "brought falconry" + cont "to NIHON." + + para "I shall conti-" + line "nue their legacy!" + done + +OldGymStatue: + checkflag ENGINE_BADGE1 + iftrue .Beaten + jumpstd GymStatue1Script +.Beaten: + gettrainername STRING_BUFFER_4, WALKER, WALKER1 + jumpstd GymStatue2Script + +OldGymGuideScript: + faceplayer + checkevent EVENT_BEAT_LEADER_WALKER + iftrue .OldGymGuideWinScript + opentext + writetext OldGymGuideText + waitbutton + closetext + end + +.OldGymGuideWinScript: + opentext + writetext OldGymGuideWinText + waitbutton + closetext + end + +OldGymGuideText: + text "Yo, champ! Fancy" + line "seeing you here!" + + para "WALKER is one to-" + line "ugh cookie. Even" + cont "in the NIHON LEA-" + cont "GUE, he's feared!" + + para "Remember FALKNER?" + line "This guy raised" + cont "him!" + + para "Huh? Advice? You" + line "still want it," + cont "after all this" + cont "time?" + + para "Then I'll say this!" + + para "The apple doesn't" + line "fall far from the" + cont "tree!" + done + +OldGymGuideWinText: + text "Woweee, you got" + line "'em!" + + para "Just another re-" + line "gion for you to" + cont "conquer, huh?" + done + +OldCityGym_MapEvents: + db 0, 0 ; filler + + def_warp_events + warp_event 5, 19, OLD_CITY, 5 + warp_event 6, 19, OLD_CITY, 6 + + def_coord_events + + def_bg_events + bg_event 4, 17, BGEVENT_READ, OldGymStatue + bg_event 7, 17, BGEVENT_READ, OldGymStatue + + def_object_events + object_event 5, 2, SPRITE_WALKER, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, OldGymWalkerScript, -1 + object_event 10, 13, SPRITE_ROCKER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 2, TrainerBirdkeeperMatt, -1 + object_event 1, 13, SPRITE_ROCKER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 2, TrainerBirdkeeperShaw, -1 + object_event 2, 8, SPRITE_ROCKER, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 2, TrainerBirdkeeperFrederick, -1 + object_event 9, 8, SPRITE_ROCKER, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 2, TrainerBirdkeeperNorikage, -1 + object_event 7, 18, SPRITE_GYM_GUIDE, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, OldGymGuideScript, -1 diff --git a/ram/wram.asm b/ram/wram.asm index f98f982..bc452d4 100644 --- a/ram/wram.asm +++ b/ram/wram.asm @@ -2989,6 +2989,7 @@ wCoins:: dw wBadges:: wJohtoBadges:: flag_array NUM_JOHTO_BADGES wKantoBadges:: flag_array NUM_KANTO_BADGES +wNihonBadges:: flag_array NUM_NIHON_BADGES wTMsHMs:: ds NUM_TMS + NUM_HMS