Viridian Forest fixes and enhancements

- Fixed various tile port issues and made various visual enhancements. Now generally closer to the Kanto styled Viridian Forest.
- Added Lass Ikue, a trainer referencing Ikue Otani, to the area where the Yellow Lass was. Required updating the spriteset but it seems fine.
- Added parties for all the trainers, which were missed on the initial import.
- Fixed various inaccurate capitalisations.
- Fixed gate warps. Considering adding a Honey girl here if we ever do that?
- Restored various RBY NPCs in the Pewter and Viridian gates to the forest, saying largely the same stuff. Just keeps things move lively.
This commit is contained in:
Llinos Evans 2024-07-17 13:12:28 +01:00
parent 2a8f18ca8d
commit 1b77f551f1
13 changed files with 216 additions and 22 deletions

View file

@ -67,7 +67,7 @@ Numerous new maps are available, featuring new locations, the iconic Sevii Islan
Additionally, there have been many wild encounter tweaks. View this document for details. (will link when hack is in a playable state) Additionally, there have been many wild encounter tweaks. View this document for details. (will link when hack is in a playable state)
- Johto wild encounters have been changed to be more weighted towards Johto Pokemon; eg. Murkrow is available about Ecruteak at night, Misdreavus largely replaces Gastly, etc. - Johto wild encounters have been changed to be more weighted towards Johto Pokemon; eg. Murkrow is available about Ecruteak at night, Misdreavus largely replaces Gastly, etc. Levels have been adjusted.
- Kanto wild encounters have generally higher levels to aid in improving the level curve. - Kanto wild encounters have generally higher levels to aid in improving the level curve.
- Rock Smash now has variable and larger wild data, featuring rare, location-based Pokemon (eg. Corsola on the shore), and level adjustments to make them more appropriate. - Rock Smash now has variable and larger wild data, featuring rare, location-based Pokemon (eg. Corsola on the shore), and level adjustments to make them more appropriate.
- Viridian Forest has been restored. - Viridian Forest has been restored.

View file

@ -882,6 +882,7 @@
const EVENT_BEAT_LASS_CONNIE3 const EVENT_BEAT_LASS_CONNIE3
const EVENT_BEAT_LASS_DANA2 const EVENT_BEAT_LASS_DANA2
const EVENT_BEAT_LASS_DANA3 const EVENT_BEAT_LASS_DANA3
const EVENT_BEAT_LASS_IKUE
; Hiker ; Hiker
const EVENT_BEAT_HIKER_ANTHONY2 const EVENT_BEAT_HIKER_ANTHONY2
const EVENT_BEAT_HIKER_RUSSELL const EVENT_BEAT_HIKER_RUSSELL

View file

@ -192,6 +192,7 @@ DEF KRIS EQU __trainer_class__
const DANA3 const DANA3
const DANA4 const DANA4
const DANA5 const DANA5
const IKUE ; Name taken from LGPE, referencing Pikachu's voice actor, Ikue Otani. Technically exists in Picnicker Brooke, but it's more convenient to put her in Viridian Forest, so...
trainerclass JANINE ; 1a trainerclass JANINE ; 1a
const JANINE1 const JANINE1

View file

@ -85,7 +85,7 @@ ViridianGroupSprites:
db SPRITE_WILL db SPRITE_WILL
db SPRITE_KAREN db SPRITE_KAREN
db SPRITE_NURSE db SPRITE_NURSE
db SPRITE_OLD_LINK_RECEPTIONIST db SPRITE_LASS
db SPRITE_BIG_LAPRAS db SPRITE_BIG_LAPRAS
db SPRITE_BIG_ONIX db SPRITE_BIG_ONIX
db SPRITE_SUDOWOODO db SPRITE_SUDOWOODO

View file

@ -64,3 +64,14 @@
tilecoll FLOOR, FLOOR, WALL, WALL ; 3f tilecoll FLOOR, FLOOR, WALL, WALL ; 3f
tilecoll WALL, FLOOR, WALL, FLOOR ; 40 tilecoll WALL, FLOOR, WALL, FLOOR ; 40
tilecoll FLOOR, WALL, FLOOR, WALL ; 41 tilecoll FLOOR, WALL, FLOOR, WALL ; 41
tilecoll WALL, FLOOR, WALL, FLOOR ; 42
tilecoll FLOOR, WALL, FLOOR, WALL ; 43
tilecoll HEADBUTT_TREE, TALL_GRASS, HEADBUTT_TREE, TALL_GRASS ; 44
tilecoll TALL_GRASS, HEADBUTT_TREE, TALL_GRASS, HEADBUTT_TREE ; 45
tilecoll WALL, TALL_GRASS, TALL_GRASS, TALL_GRASS ; 46
tilecoll TALL_GRASS, TALL_GRASS, HEADBUTT_TREE, HEADBUTT_TREE ; 47
tilecoll HEADBUTT_TREE, HEADBUTT_TREE, TALL_GRASS, TALL_GRASS ; 48
tilecoll TALL_GRASS, TALL_GRASS, TALL_GRASS, TALL_GRASS ; 49
tilecoll TALL_GRASS, TALL_GRASS, TALL_GRASS, TALL_GRASS ; 4a
tilecoll TALL_GRASS, TALL_GRASS, TALL_GRASS, TALL_GRASS ; 4b
tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 4c

View file

@ -1311,6 +1311,22 @@ LassGroup:
dw DISABLE, SURF, PSYCHIC_M, SCREECH dw DISABLE, SURF, PSYCHIC_M, SCREECH
db -1 ; end db -1 ; end
next_list_item ; LASS (2)
db "IKUE@", TRAINERTYPE_ITEM_MOVES
db 43
dw NIDOQUEEN ; From the Yellow Lass
db NO_ITEM
db BODY_SLAM, SCRATCH, BLIZZARD, THUNDERBOLT
db 43
dw GOROTORA ; Basically the beta Pikaclone counterpart, right?
db NO_ITEM
db THUNDERBOLT, SCARY_FACE, QUICK_ATTACK, PURSUIT
db 45
dw PIKACHU ; And a pipe bomb.
db LIGHT_BALL
db THUNDERBOLT, QUICK_ATTACK, DOUBLE_EDGE, AGILITY ; Moves from Johto anime
db -1 ; end
end_list_items end_list_items
JanineGroup: JanineGroup:
@ -2521,6 +2537,56 @@ BugCatcherGroup:
dw BUTTERFREE dw BUTTERFREE
db -1 ; end db -1 ; end
next_list_item ; BUG_CATCHER (21)
db "DANE@", TRAINERTYPE_NORMAL ; From HGSS, + Carapthor
db 44
dw BEEDRILL
db 48
dw BUTTERFREE
db 44
dw CARAPTHOR
db -1 ; end
next_list_item ; BUG_CATCHER (21)
db "DION@", TRAINERTYPE_NORMAL ; From HGSS, + Ledian and Barreau
db 44
dw BARREAU ; Should have screens, making the next two Pokemon...less awful.
db 42
dw ARIADOS
db 42
dw LEDIAN
db -1 ; end
next_list_item ; BUG_CATCHER (21)
db "STACEY@", TRAINERTYPE_NORMAL ; In HGSS, this trainer has 3 Metapod. I have sense, so that won't happen here. Instead, we can have some fun.
db 41
dw LEDIAN ; At this level, it only knows screens, letting it do useful things instead of 1 damage with Swift.
db 43
dw SCYTHER
db 43
dw VENOMOTH
db -1 ; end
next_list_item ; BUG_CATCHER (21)
db "ELLIS@", TRAINERTYPE_NORMAL ; From HGSS. Fine...may alter later.
db 42
dw WEEDLE
db 44
dw KAKUNA
db 53
dw BEEDRILL
db -1 ; end
next_list_item ; BUG_CATCHER (21)
db "ABNER@", TRAINERTYPE_NORMAL ; From HGSS
db 42
dw BUTTERFREE
db 42
dw BEEDRILL
db 45
dw PIKACHU
db -1 ; end
end_list_items end_list_items
FisherGroup: FisherGroup:

View file

@ -152,7 +152,7 @@ Route2_MapEvents:
warp_event 16, 27, ROUTE_2_GATE, 1 warp_event 16, 27, ROUTE_2_GATE, 1
warp_event 17, 27, ROUTE_2_GATE, 2 warp_event 17, 27, ROUTE_2_GATE, 2
warp_event 12, 7, DIGLETTS_CAVE, 3 warp_event 12, 7, DIGLETTS_CAVE, 3
warp_event 5, 33, VIRIDIAN_FOREST_VIRIDIAN_GATE, 1 warp_event 5, 33, VIRIDIAN_FOREST_VIRIDIAN_GATE, 3
warp_event 2, 11, VIRIDIAN_FOREST_PEWTER_GATE, 3 warp_event 2, 11, VIRIDIAN_FOREST_PEWTER_GATE, 3
warp_event 3, 11, VIRIDIAN_FOREST_PEWTER_GATE, 4 warp_event 3, 11, VIRIDIAN_FOREST_PEWTER_GATE, 4

Binary file not shown.

View file

@ -67,9 +67,33 @@ TrainerBugCatcherAbner:
closetext closetext
end end
; I wanted a trainer to serve as the Lass from Yellow, so I took Ikue (LGPE) and the Yellow Lass trainer, put them together, and put her in the same area.
; Restores a removed reference to Ikue Otani from the Crystal localisation without removing the old name, in a cosmic sort of way.
TrainerLassIkue:
trainer LASS, IKUE, EVENT_BEAT_LASS_IKUE, LassIkueSeenText, LassIkueBeatenText, 0, .AfterScript
.AfterScript:
endifjustbattled
opentext
writetext LassIkueAfterBattleText
waitbutton
closetext
end
LassIkueSeenText:
text "PIKACHU is so"
line "cute, right?"
done
LassIkueBeatenText:
text "I wonder if"
line "you recognise"
cont "my voice…"
done
BugCatcherDaneSeenText: BugCatcherDaneSeenText:
text "Welcome to" text "Welcome to"
line "Viridian Forest." line "VIRIDIAN FOREST."
cont "Enjoy my Bug-type" cont "Enjoy my Bug-type"
cont "#MON!" cont "#MON!"
done done
@ -88,7 +112,7 @@ BugCatcherDaneAfterBattleText:
BugCatcherDionSeenText: BugCatcherDionSeenText:
text "Shh! Be quiet! The" text "Shh! Be quiet! The"
line "bug #mon will" line "bug #MON will"
cont "run away!" cont "run away!"
done done
@ -168,14 +192,38 @@ BugCatcherAbnerAfterBattleText:
cont "all look cute." cont "all look cute."
done done
LassIkueAfterBattleText:
text "My PIKACHU is"
line "really strong,"
cont "huh?"
para "I don't know"
line "why. Did I give"
cont "it something?"
done
ViridianForestSignScript1:
opentext
writetext ViridianForestSignText1
waitbutton
closetext
end
ViridianForestSignText1: ViridianForestSignText1:
text "Leaving" text "Leaving"
line "VIRIDIAN FOREST" line "VIRIDIAN FOREST"
cont "PEWTER CITY ahead" cont "PEWTER CITY ahead"
done done
ViridianForestSignScript2:
opentext
writetext ViridianForestSignText2
waitbutton
closetext
end
ViridianForestSignText2: ViridianForestSignText2:
text "Trainer Tips" text "TRAINER TIPS"
para "Hold on to that" para "Hold on to that"
line "BIG MUSHROOM!" line "BIG MUSHROOM!"
@ -185,8 +233,15 @@ ViridianForestSignText2:
cont "for useless items!" cont "for useless items!"
done done
ViridianForestSignScript3:
opentext
writetext ViridianForestSignText3
waitbutton
closetext
end
ViridianForestSignText3: ViridianForestSignText3:
text "Trainer Tips" text "TRAINER TIPS"
para "Weaken #MON" para "Weaken #MON"
line "before trying" line "before trying"
@ -196,20 +251,41 @@ ViridianForestSignText3:
line "they may escape!" line "they may escape!"
done done
ViridianForestSignScript4:
opentext
writetext ViridianForestSignText4
waitbutton
closetext
end
ViridianForestSignText4: ViridianForestSignText4:
text "For poison, use" text "For poison, use"
line "ANTIDOTE! Get it" line "ANTIDOTE! Get it"
cont "at #MON MARTs!" cont "at #MON MARTs!"
done done
ViridianForestSignScript5:
opentext
writetext ViridianForestSignText5
waitbutton
closetext
end
ViridianForestSignText5: ViridianForestSignText5:
text "TRAINER TIPS" text "TRAINER TIPS"
para "Poison-type #-" para "Poison and steel" ; tweaked to include info on the "new" steel-type.
line "mon can't be poi-" line "#MON can't be"
cont "soned themselves!" cont "poisoned!"
done done
ViridianForestSignScript6:
opentext
writetext ViridianForestSignText6
waitbutton
closetext
end
ViridianForestSignText6: ViridianForestSignText6:
text "TRAINER TIPS" text "TRAINER TIPS"
@ -232,12 +308,12 @@ ViridianForest_MapEvents:
def_coord_events def_coord_events
def_bg_events def_bg_events
bg_event 4, 6, BGEVENT_READ, ViridianForestSignText1 bg_event 4, 6, BGEVENT_READ, ViridianForestSignScript1
bg_event 6, 26, BGEVENT_READ, ViridianForestSignText2 bg_event 6, 26, BGEVENT_READ, ViridianForestSignScript2
bg_event 28, 19, BGEVENT_READ, ViridianForestSignText3 bg_event 29, 19, BGEVENT_READ, ViridianForestSignScript3
bg_event 18, 34, BGEVENT_READ, ViridianForestSignText4 bg_event 18, 34, BGEVENT_READ, ViridianForestSignScript4
bg_event 26, 42, BGEVENT_READ, ViridianForestSignText5 bg_event 26, 42, BGEVENT_READ, ViridianForestSignScript5
bg_event 20, 44, BGEVENT_READ, ViridianForestSignText6 bg_event 20, 44, BGEVENT_READ, ViridianForestSignScript6
bg_event 32, 44, BGEVENT_ITEM + MAX_ETHER, EVENT_VIRIDIAN_FOREST_HIDDEN_MAX_ETHER bg_event 32, 44, BGEVENT_ITEM + MAX_ETHER, EVENT_VIRIDIAN_FOREST_HIDDEN_MAX_ETHER
bg_event 18, 43, BGEVENT_ITEM + FULL_HEAL, EVENT_VIRIDIAN_FOREST_HIDDEN_FULL_HEAL bg_event 18, 43, BGEVENT_ITEM + FULL_HEAL, EVENT_VIRIDIAN_FOREST_HIDDEN_FULL_HEAL
bg_event 4, 43, BGEVENT_ITEM + TINYMUSHROOM, EVENT_VIRIDIAN_FOREST_HIDDEN_TINYMUSHROOM bg_event 4, 43, BGEVENT_ITEM + TINYMUSHROOM, EVENT_VIRIDIAN_FOREST_HIDDEN_TINYMUSHROOM
@ -250,6 +326,7 @@ ViridianForest_MapEvents:
object_event 32, 21, SPRITE_BUG_CATCHER, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 4, TrainerBugCatcherStacey, -1 object_event 32, 21, SPRITE_BUG_CATCHER, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 4, TrainerBugCatcherStacey, -1
object_event 31, 4, SPRITE_BUG_CATCHER, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 3, TrainerBugCatcherEllis, -1 object_event 31, 4, SPRITE_BUG_CATCHER, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 3, TrainerBugCatcherEllis, -1
object_event 5, 24, SPRITE_BUG_CATCHER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 4, TrainerBugCatcherAbner, -1 object_event 5, 24, SPRITE_BUG_CATCHER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 4, TrainerBugCatcherAbner, -1
object_event 3, 43, SPRITE_LASS, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 4, TrainerLassIkue, -1
object_event 14, 31, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, DIRE_HIT, 1, EVENT_ROUTE_2_DIRE_HIT object_event 14, 31, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, DIRE_HIT, 1, EVENT_ROUTE_2_DIRE_HIT
object_event 3, 33, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, MAX_POTION, 1, EVENT_ROUTE_2_MAX_POTION object_event 3, 33, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, MAX_POTION, 1, EVENT_ROUTE_2_MAX_POTION

View file

@ -11,10 +11,36 @@ ViridianForestPewterGateOfficerScript:
ViridianForestPewterGateOfficerText: ViridianForestPewterGateOfficerText:
text "Are you headed" text "Are you headed"
line "to Pewter City?" line "to PEWTER CITY?"
para "Be sure to check" para "Be sure to check"
line "out the Museum!" line "out the MUSEUM!"
done
ViridianForestPewterGateYoungsterScript:
jumptextfaceplayer ViridianForestPewterGateYoungsterText
ViridianForestPewterGateYoungsterText:
text "Many #MON live"
line "only in forests "
cont "and caves."
para "You need to look"
line "everywhere to get"
cont "different kinds!"
done
ViridianForestPewterGateGrampsScript:
jumptextfaceplayer ViridianForestPewterGateGrampsText
ViridianForestPewterGateGrampsText:
text "Have you noticed"
line "the bushes on the"
cont "roadside?"
para "They can be cut"
line "down by a special"
cont "#MON move."
done done
ViridianForestPewterGate_MapEvents: ViridianForestPewterGate_MapEvents:
@ -32,3 +58,5 @@ ViridianForestPewterGate_MapEvents:
def_object_events def_object_events
object_event 0, 4, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, ViridianForestPewterGateOfficerScript, -1 object_event 0, 4, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, ViridianForestPewterGateOfficerScript, -1
object_event 3, 5, SPRITE_YOUNGSTER, SPRITEMOVEDATA_WANDER, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, ViridianForestPewterGateYoungsterScript, -1
object_event 6, 3, SPRITE_GRAMPS, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, ViridianForestPewterGateGrampsScript, -1

View file

@ -10,11 +10,20 @@ ViridianForestViridianGateOfficerScript:
jumptextfaceplayer ViridianForestViridianGateOfficerText jumptextfaceplayer ViridianForestViridianGateOfficerText
ViridianForestViridianGateOfficerText: ViridianForestViridianGateOfficerText:
text "Be careful," text "Are you going to"
line "Viridian Forest" line "VIRIDIAN FOREST?"
para "Be careful, it's"
line "a natural maze!"
done
para "is a natural" ViridianForestYoungsterTextScript:
line "maze!" jumptextfaceplayer ViridianForestYoungsterText
ViridianForestYoungsterText:
text "RATTATA may be"
line "small, but its"
cont "bite is wicked!"
cont "Do you have one?"
done done
ViridianForestViridianGate_MapEvents: ViridianForestViridianGate_MapEvents:
@ -32,3 +41,4 @@ ViridianForestViridianGate_MapEvents:
def_object_events def_object_events
object_event 0, 4, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, ViridianForestViridianGateOfficerScript, -1 object_event 0, 4, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, ViridianForestViridianGateOfficerScript, -1
object_event 6, 3, SPRITE_YOUNGSTER, SPRITEMOVEDATA_WANDER, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, ViridianForestYoungsterTextScript, -1