Charmander & Rod House move

This adds Damien, the Charmander trainer, with text changed to be more accurate to his character.

I've also moved the Pewter Rod House nearby, as it makes more sense for it to be in the Water-type area. However, it seems to load oddly.

I have also integrated the Pikachu/Eevee Mode more, with architecture that it can make it more easily modified. This'll come into play for the Squirtle event.

I have also erased further misinformation the game gives about burns, and changed the Viridian Pre-Gym accordingly, to talk about confusion, which lacks a Trainer Tips sign.
This commit is contained in:
Llinos Evans 2023-06-28 16:31:14 +01:00
parent c716be39da
commit a3c81c549c
18 changed files with 187 additions and 26 deletions

View file

@ -99,6 +99,7 @@ Improved Areas
- Jessie and James have been backported from Yellow, appearing in Mt. Moon, Rocket Hideout, Pokemon Tower, and Silph Co. Additionally, they have a post-game fight. - Jessie and James have been backported from Yellow, appearing in Mt. Moon, Rocket Hideout, Pokemon Tower, and Silph Co. Additionally, they have a post-game fight.
- Rock Tunnel has a more workable map, now being easier to go through and having new areas to explore. Includes a way to get renewable fossils, items, and other interesting bits and pieces. Overall, it makes Flash much more rewarding to bring, showing you where the items and content are instead of being an inconvenience. - Rock Tunnel has a more workable map, now being easier to go through and having new areas to explore. Includes a way to get renewable fossils, items, and other interesting bits and pieces. Overall, it makes Flash much more rewarding to bring, showing you where the items and content are instead of being an inconvenience.
- Diglett's Cave has a more detailed map with Onix, Wiglett, and Wugtrio also appearing! It also has its beta music! - Diglett's Cave has a more detailed map with Onix, Wiglett, and Wugtrio also appearing! It also has its beta music!
- Route 24 now features Damien, the Charmander trainer from Yellow, who only appears if Pikachu or Eevee are chosen. His text has been altered to be more accurate to his anime appearance. It also has a house where you can get a Fishing Rod.
- Route 25 has been given a facelift, adding Bill's Lighthouse in place of the Sea Cottage. - Route 25 has been given a facelift, adding Bill's Lighthouse in place of the Sea Cottage.
- The Fighting Dojo has been revamped, featuring a design reminiscent of the prototype versions; rough floors, the elder in the back, and more. Additionally, you can now get a Hitmontop as a third option. The Karate Master is also now treated somewhat more like a Gym Leader, having Gym Scaling and a Rematch system. - The Fighting Dojo has been revamped, featuring a design reminiscent of the prototype versions; rough floors, the elder in the back, and more. Additionally, you can now get a Hitmontop as a third option. The Karate Master is also now treated somewhat more like a Gym Leader, having Gym Scaling and a Rematch system.
- The Day Care now contains a PC and Melanie from Yellow. If you pick Pikachu or Eevee and beat Misty, Melanie will give you a Bulbasaur. - The Day Care now contains a PC and Melanie from Yellow. If you pick Pikachu or Eevee and beat Misty, Melanie will give you a Bulbasaur.

View file

@ -4,7 +4,7 @@
const_def const_def
const EVENT_FOLLOWED_OAK_INTO_LAB const EVENT_FOLLOWED_OAK_INTO_LAB
const EVENT_GOT_BULBASAUR const EVENT_GOT_BULBASAUR
const EVENT_GOT_CHARMANDER const EVENT_54F ; Charmander
const EVENT_HALL_OF_FAME_DEX_RATING const EVENT_HALL_OF_FAME_DEX_RATING
const EVENT_GOT_SQUIRTLE const EVENT_GOT_SQUIRTLE
const EVENT_PALLET_AFTER_GETTING_POKEBALLS const EVENT_PALLET_AFTER_GETTING_POKEBALLS

View file

@ -50,6 +50,7 @@ DEF SHOW EQU $15
const HS_ROUTE_22_RIVAL_2 ; 24 const HS_ROUTE_22_RIVAL_2 ; 24
const HS_NUGGET_BRIDGE_GUY ; 25 const HS_NUGGET_BRIDGE_GUY ; 25
const HS_ROUTE_24_ITEM ; 26 X const HS_ROUTE_24_ITEM ; 26 X
const HS_DAMIEN ; FC
const HS_ROUTE_25_ITEM ; 27 X const HS_ROUTE_25_ITEM ; 27 X
const HS_CACTUS ; 28 const HS_CACTUS ; 28
const HS_BRUNSWICK_ZAPDOS_G_1 ; 29 const HS_BRUNSWICK_ZAPDOS_G_1 ; 29

View file

@ -322,6 +322,7 @@ Route22HS:
Route24HS: Route24HS:
db ROUTE_24, $01, SHOW ; HS_NUGGET_BRIDGE_GUY db ROUTE_24, $01, SHOW ; HS_NUGGET_BRIDGE_GUY
db ROUTE_24, $08, SHOW ; HS_ROUTE_24_ITEM db ROUTE_24, $08, SHOW ; HS_ROUTE_24_ITEM
db ROUTE_24, $09, HIDE ; HS_DAMIEN
Route25HS: Route25HS:
db ROUTE_25, $0A, SHOW ; HS_ROUTE_25_ITEM db ROUTE_25, $0A, SHOW ; HS_ROUTE_25_ITEM
BrunswickTrailHS: BrunswickTrailHS:
@ -349,8 +350,6 @@ CeruleanCaveHS:
db CERULEAN_CAVE_1F, $01, SHOW ; HS_CERULEAN_CAVE_1F_ITEM_1 db CERULEAN_CAVE_1F, $01, SHOW ; HS_CERULEAN_CAVE_1F_ITEM_1
db CERULEAN_CAVE_1F, $02, SHOW ; HS_CERULEAN_CAVE_1F_ITEM_2 db CERULEAN_CAVE_1F, $02, SHOW ; HS_CERULEAN_CAVE_1F_ITEM_2
db CERULEAN_CAVE_1F, $03, SHOW ; HS_CERULEAN_CAVE_1F_ITEM_3 db CERULEAN_CAVE_1F, $03, SHOW ; HS_CERULEAN_CAVE_1F_ITEM_3
DaycareHS:
db DAYCARE, $03, SHOW ; HS_DAYCARE_BULBASAUR
CelesteHillHS: CelesteHillHS:
db CELESTE_HILL, $01, SHOW ; HS_MOLTRES_G db CELESTE_HILL, $01, SHOW ; HS_MOLTRES_G
PokemonTower2FHS: PokemonTower2FHS:
@ -609,4 +608,6 @@ RockTunnelB1FHS:
db ROCK_TUNNEL_B1F, $0D, SHOW ; HS_ROCK_TUNNEL_B1F_WING db ROCK_TUNNEL_B1F, $0D, SHOW ; HS_ROCK_TUNNEL_B1F_WING
MtMoonSquareHS: MtMoonSquareHS:
db MT_MOON_SQUARE, $04, SHOW ; HS_MT_MOON_CRATER_GUARD db MT_MOON_SQUARE, $04, SHOW ; HS_MT_MOON_CRATER_GUARD
DaycareHS:
db DAYCARE, $03, SHOW ; HS_DAYCARE_BULBASAUR
assert_table_length NUM_HS_OBJECTS + 1 assert_table_length NUM_HS_OBJECTS + 1

View file

@ -9,7 +9,6 @@ PewterCity_Object:
warp_event 23, 17, PEWTER_MART, 1 warp_event 23, 17, PEWTER_MART, 1
warp_event 7, 29, PEWTER_SPEECH_HOUSE, 1 warp_event 7, 29, PEWTER_SPEECH_HOUSE, 1
warp_event 13, 25, PEWTER_POKECENTER, 1 warp_event 13, 25, PEWTER_POKECENTER, 1
warp_event 7, 11, ROUTE_12_SUPER_ROD_HOUSE, 1
def_bg_events def_bg_events
bg_event 19, 29, 6 ; PewterCityText6 bg_event 19, 29, 6 ; PewterCityText6

View file

@ -2,8 +2,8 @@ Route12SuperRodHouse_Object:
db $a ; border block db $a ; border block
def_warp_events def_warp_events
warp_event 2, 7, LAST_MAP, 8 warp_event 2, 7, LAST_MAP, 1
warp_event 3, 7, LAST_MAP, 8 warp_event 3, 7, LAST_MAP, 1
def_bg_events def_bg_events

View file

@ -2,6 +2,7 @@ Route24_Object:
db $2c ; border block db $2c ; border block
def_warp_events def_warp_events
warp_event 5, 5, ROUTE_12_SUPER_ROD_HOUSE, 1
def_bg_events def_bg_events
@ -13,6 +14,7 @@ Route24_Object:
object_event 11, 25, SPRITE_YOUNGSTER, STAY, LEFT, 5, OPP_YOUNGSTER, 4 object_event 11, 25, SPRITE_YOUNGSTER, STAY, LEFT, 5, OPP_YOUNGSTER, 4
object_event 10, 28, SPRITE_COOLTRAINER_F, STAY, RIGHT, 6, OPP_LASS, 8 object_event 10, 28, SPRITE_COOLTRAINER_F, STAY, RIGHT, 6, OPP_LASS, 8
object_event 11, 31, SPRITE_YOUNGSTER, STAY, LEFT, 7, OPP_BUG_CATCHER, 9 object_event 11, 31, SPRITE_YOUNGSTER, STAY, LEFT, 7, OPP_BUG_CATCHER, 9
object_event 10, 5, SPRITE_POKE_BALL, STAY, NONE, 8, TM_THUNDER_WAVE object_event 18, 5, SPRITE_POKE_BALL, STAY, NONE, 8, TM_THUNDER_WAVE
object_event 9, 5, SPRITE_COOLTRAINER_M, STAY, DOWN, 9 ; Damien
def_warps_to ROUTE_24 def_warps_to ROUTE_24

View file

@ -685,6 +685,11 @@ _ViridianBlackboardPoisonText::
para "Poison lingers" para "Poison lingers"
line "after battles." line "after battles."
para "If a #MON is"
line "badly poisoned,"
cont "it could worsen"
cont "over time!"
para "Use an ANTIDOTE" para "Use an ANTIDOTE"
line "to cure poison!" line "to cure poison!"
prompt prompt
@ -694,6 +699,9 @@ _ViridianBlackboardPrlzText::
line "make #MON" line "make #MON"
cont "moves misfire!" cont "moves misfire!"
para "It even lowers"
line "their SPEED!"
para "Paralysis remains" para "Paralysis remains"
line "after battles." line "after battles."
@ -702,8 +710,8 @@ _ViridianBlackboardPrlzText::
prompt prompt
_ViridianBlackboardBurnText:: _ViridianBlackboardBurnText::
text "A burn reduces" text "A burn reduces a"
line "power and speed." line "#MON's ATTACK."
cont "It also causes" cont "It also causes"
cont "ongoing damage." cont "ongoing damage."

View file

@ -2,14 +2,14 @@ Route24WildMons:
def_grass_wildmons 25 ; encounter rate def_grass_wildmons 25 ; encounter rate
db 13, ODDISH db 13, ODDISH
db 13, BELLSPROUT db 13, BELLSPROUT
db 12, PIDGEY db 12, SPEAROW
db 14, ODDISH db 14, ODDISH
db 14, BELLSPROUT db 14, BELLSPROUT
db 10, ABRA db 10, ABRA
db 13, PIDGEY db 13, SPEAROW
db 14, PIDGEY db 14, SPEAROW
db 12, ABRA db 12, ABRA
db 16, BUTTERFREE db 16, PIDGEOTTO
end_grass_wildmons end_grass_wildmons
def_water_wildmons 0 ; encounter rate def_water_wildmons 0 ; encounter rate

View file

@ -1,15 +1,15 @@
Route25WildMons: Route25WildMons:
def_grass_wildmons 15 ; encounter rate def_grass_wildmons 15 ; encounter rate
db 14, BELLSPROUT db 14, BELLSPROUT
db 13, PIDGEY db 13, SPEAROW
db 12, VENONAT db 12, VENONAT
db 14, ODDISH db 14, ODDISH
db 14, ODDISH db 14, ODDISH
db 10, ABRA db 10, ABRA
db 13, VENONAT db 13, VENONAT
db 14, PIDGEY db 14, SPEAROW
db 12, ABRA db 12, ABRA
db 16, BEEDRILL db 16, PIDGEOTTO
end_grass_wildmons end_grass_wildmons
def_water_wildmons 0 ; encounter rate def_water_wildmons 0 ; encounter rate

View file

@ -163,8 +163,26 @@ IF DEF(_DEBUG)
ld a, STARTER5 ld a, STARTER5
ld [hl], a ld [hl], a
; This is used to display Damien and Officer Jenny for Charmander and Squirtle, respectively.
; It was set up in this way to easily add new things for the mode.
; By default, all Pikachu/Eevee Mode things are hidden - more efficient.
ld hl, DebugPikachuEeveeShows
.loop
ld a, [hli]
cp -1
ret z
push hl
ld [wMissableObjectIndex], a
predef ShowObject
pop hl
jr .loop
ret ret
DebugPikachuEeveeShows:
db HS_DAMIEN ; Charmander guy
db -1 ; end
DebugSetPokedexEntries: DebugSetPokedexEntries:
ld b, wPokedexOwnedEnd - wPokedexOwned ld b, wPokedexOwnedEnd - wPokedexOwned
ld a, %11111111 ld a, %11111111

View file

@ -10,7 +10,7 @@ ttn,)/7}:~B/B,)
n,)tttt>??,) n,)tttttt>??,)

View file

@ -1,4 +1,4 @@
,,,,,,,,,,,+WWWWWWWW,)1111G1X ,,,,,,,,,,,+WWWWWWWW,)11G1X
,)\K1Z,)11111111,) ,)\K1Z,)11111111,)

View file

@ -312,7 +312,7 @@ DaycareMelanie:
and a and a
jr nz, .refused ; imagine refusing a bulbasaur tbh jr nz, .refused ; imagine refusing a bulbasaur tbh
lb bc, BULBASAUR, 5 ; load the bulbasaur lb bc, BULBASAUR, 10 ; load the bulbasaur
call GivePokemon ; attempt to give the bulbasaur call GivePokemon ; attempt to give the bulbasaur
jr nc, .fullParty ; if it's fucked just go here jr nc, .fullParty ; if it's fucked just go here
ld a, HS_DAYCARE_BULBASAUR ; hide the bulbasaur ld a, HS_DAYCARE_BULBASAUR ; hide the bulbasaur

View file

@ -885,6 +885,7 @@ OaksLabText4:
; $6 = Eevee ; $6 = Eevee
OaksLabTextPikachu: OaksLabTextPikachu:
text_asm text_asm
call PikachuEeveeMode
ld a, STARTER5 ld a, STARTER5
ld [wRivalStarterTemp], a ld [wRivalStarterTemp], a
ld a, $8 ld a, $8
@ -895,6 +896,7 @@ OaksLabTextPikachu:
OaksLabTextEevee: OaksLabTextEevee:
text_asm text_asm
call PikachuEeveeMode
ld a, STARTER4 ld a, STARTER4
ld [wRivalStarterTemp], a ld [wRivalStarterTemp], a
ld a, $7 ld a, $7
@ -1345,3 +1347,22 @@ OaksLabText10:
OaksLabText_1d405: OaksLabText_1d405:
text_far _OaksLabText_1d405 text_far _OaksLabText_1d405
text_end text_end
; This is used to display Damien and Officer Jenny for Charmander and Squirtle, respectively.
; It was set up in this way to easily add new things for the mode.
; By default, all Pikachu/Eevee Mode things are hidden - more efficient.
PikachuEeveeMode:
ld hl, PikachuEeveeShows
.loop
ld a, [hli]
cp -1
ret z
push hl
ld [wMissableObjectIndex], a
predef ShowObject
pop hl
jr .loop
PikachuEeveeShows:
db HS_DAMIEN ; Charmander guy
db -1 ; end

View file

@ -85,6 +85,7 @@ Route24_TextPointers:
dw Route24Text6 dw Route24Text6
dw Route24Text7 dw Route24Text7
dw PickUpItemText dw PickUpItemText
dw Route24Damian
Route24TrainerHeaders: Route24TrainerHeaders:
def_trainers 2 def_trainers 2
@ -278,3 +279,72 @@ Route24EndBattleText6:
Route24AfterBattleText6: Route24AfterBattleText6:
text_far _Route24AfterBattleText6 text_far _Route24AfterBattleText6
text_end text_end
Route24Damian:
text_asm
CheckEvent EVENT_54F
jr nz, .asm_515d5
ld hl, Route24Text_515de
call PrintText
call YesNoChoice
ld a, [wCurrentMenuItem]
and a
jr nz, .asm_515d0
ld a, CHARMANDER
ld [wd11e], a
ld [wcf91], a
call GetMonName
ld a, $1
ld [wDoNotWaitForButtonPressAfterDisplayingText], a
lb bc, CHARMANDER, 10
call GivePokemon
jp nc, .fullParty
ld a, [wAddedToParty]
and a
call z, WaitForTextScrollButtonPress
ld a, $1
ld [wDoNotWaitForButtonPressAfterDisplayingText], a
ld hl, Route24Text_515e3
call PrintText
SetEvent EVENT_54F
jp TextScriptEnd
.asm_515d5
ld hl, Route24Text_515ee
jr .asm_515d8
.fullParty
ld hl, DamienFullParty
call PrintText
ld a, [wSimulatedJoypadStatesEnd] ; ensuring that the text doesn't autoskip.
and a ; yep, here too.
call z, WaitForTextScrollButtonPress ; and here.
call EnableAutoTextBoxDrawing ; and here.
; falls through to the next quote.
.asm_515d0
ld hl, Route24Text_515e9
jr .asm_515d8
.asm_515d8
call PrintText
jp TextScriptEnd
Route24Text_515de:
text_far _Route24DamienText1
text_end
Route24Text_515e3:
text_far _Route24DamienText2
text_waitbutton
text_end
Route24Text_515e9:
text_far _Route24DamienText3
text_end
Route24Text_515ee:
text_far _Route24DamienText4
text_end
DamienFullParty:
text_far _DamienFullParty
text_end

View file

@ -65,3 +65,40 @@ _Route24BattleText1::
text "I saw your feat" text "I saw your feat"
line "from the grass!" line "from the grass!"
done done
_Route24DamienText1::
text "This CHARMANDER"
line "is pathetic!"
para "It couldn't beat"
line "the weakest of"
cont "opponents!"
para "I should release"
line "it. It keeps"
cont "following me."
para "Huh? You want"
line "it?"
done
_Route24DamienText2::
text "Sure. Take it."
done
_Route24DamienText3::
text "I guess I'll"
line "leave it on some"
cont "rock. Ha!"
done
_Route24DamienText4::
text "How's it doing?"
line "It couldn't even"
cont "beat a KRABBY!"
done
_DamienFullParty::
text "Huh? Your PARTY"
line "is full?"
done

View file

@ -140,15 +140,18 @@ _ViridianPreGymSign2::
_ViridianPreGymSign3:: _ViridianPreGymSign3::
text "TRAINER TIPS" text "TRAINER TIPS"
para "Paralysis lowers" para "If a #MON is"
line "a #MON's SPEED!" line "confused, it will"
cont "sometimes hurt"
cont "itself!"
para "Burns lower a" para "It does not remain"
line "#MON's ATTACK!" line "after battles."
para "Cure them with" para "It can also be"
line "PARALYZ HEAL and" cont "cured by swapping"
cont "BURN HEAL!" cont "your #MON during"
cont "the battle!"
done done
_ViridianPreGymSign4:: _ViridianPreGymSign4::