Egg Ticket exchange!

This restores the old Egg Ticket functionality, albeit without the funky animation. I renamed the area the Ticket Corner on that account. Lore relating to it has been restored.

I also fixed the fossil items (they're regular items now) and updated the readme.
This commit is contained in:
Llinos Evans 2024-07-17 11:17:12 +01:00
parent 98822c5c97
commit 2a8f18ca8d
5 changed files with 162 additions and 114 deletions

View file

@ -9,15 +9,16 @@ Using the Kanto Expansion Pak's original criteria, the ethos of the Johto Expans
What falls under "Johto- and Kanto-related" is a Pokemon is the following, so long as they are, in fact, related:
- Is a regional variant (Eg. Hisuian Sneasel)
- Evolves from or into a Pokemon (eg. Tangrowth, Honchkrow)
- Was cut from the final game (eg. Bellignan, Tricules, Phandarin)
- Was cut from the final game (eg. Bellignan, Tricules, Phandarin; "beta" Pokemon)
- Or from a future title and was related to a Kanto/Johto Pokemon (eg. Lizargun/Charmada)
- Is a Paradox equivalent (eg. Walking Wake)
- Would qualify for the Kanto Expansion Pak (eg. Omegadge, Melmetal)
Any Pokemon that you can think of that would come under this, is absolutely in. Dex total is 462!
Any Pokemon that you can think of that would come under this, is absolutely in. Dex total is 466!
Mega Evolutions, Gigantamax forms, etc, are currently not in active consideration.
With respect to Pokemon from the May 1998 Sprite Cache, creative liberties based on their designs are taken. Given the lack of...anything for these Pokemon, they're heavily customised. Similar philosophies to the Kanto Expansion Pak's RG Asset Leak Pokemon are used.
The Fairy-type does exist.
Mega Evolutions, Gigantamax forms, etc, are not in active consideration.
# Changes
## New Features
@ -25,39 +26,6 @@ The Fairy-type does exist.
- There is a new Nihon region, based on the 1998 version before it got scrapped for Johto.
- The Fairy-type is now available, though Pokemon are not retroactively changed, per the Kanto Expansion Pak philosophy (you wouldn't want a Fairy-type Granbull pre-split, would you?)
- Fossil revival is back in town! Get fossils using Rock Smash and revive them at Ruins of Alph or the newly-added Pewter Museum of Science!
## New Things
- 11 new Trainer classes, including;
- RBY classes not in GSC, such as the Rocker, Channeler, and even the beta Firefighter
- Prototype GSC classes such as the Male Teacher, Sportsman, and Soldier
- The Painter from FRLG!
- Numerous new maps, featuring new locations, the iconic Sevii Islands, and the Nihon region!
## QoL Changes
- A Trader NPC is available in a new Lake of Rage town area, allowing you to access trade evolutions natively.
- Kurt now makes Apricorn Balls instantly. He's had his coffee and is listening to his favourite music.
- Instant text is now an option!
- Clock reset procedure is now like vanilla GS, requiring just Down + B.
- Tilesets now handle up to 255 titles (from 192), allowing for slightly nicer maps.
- Can now have up to 17 object events.
- Gen 6 Experience System!
- Poke Balls now all have unique palettes.
## Map Changes
In general, 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.
- 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.
- Viridian Forest has been restored.
- The Pewter Museum of Science has been restored.
- Cerulean Cave has been restored, complete with a Mewtwo fight!
- The Kanto Safari Zone map from the prototype has been restored.
- The prototype Lake of Rage village has been restored, complete with an Evolution Stone shop and Trader NPC! In general, it's themed around Pokemon evolution.
- The Pokemon Communications Centre from JP GSC has been added and tweaked into a Regional Variant Trade hub, increasing with badge count.
- The GS Ball event has been restored, now being obtainable after beating the Elite Four and trying to exit the building.
- The Egg Ticket and Eon Mail events have been restored, now being associated with Buena's Password.
- Additionally, old lore relating to the area has now been restored.
- Breakable rocks now give useful items...
- 1% MAX_REVIVE
- 2% DOME_FOSSIL - Kabuto
@ -73,11 +41,44 @@ In general, there have been many wild encounter tweaks. View this document for d
- 48% PEARL
- 64% BRICK_PIECE
## Item Changes
# New things
- 11 new Trainer classes, including;
- RBY classes not in GSC, such as the Rocker, Channeler, and even the beta Firefighter
- Prototype GSC classes such as the Male Teacher, Sportsman, and Soldier
- The Painter from FRLG!
- Many evolution stones have been added to accomodate the Pokemon featured here, including the Heart and Poison Stones from the SpaceWorld demo, and the Peat Block!
- The Fairy Feather from Scarlet and Violet has been added to accomodate the Fairy type.
- The Antique Pot has been added to accomodate a Shuckle evolution!
- New Club and Wing Fossils - you'll have to see what these do!
- New Club and Wing Fossils; the former for Xylodon, a May98 Prototype Pokemon, and the latter for Feradactyl, (seemingly) an Aerodactyl pre-evolution from the same prototype.
## QoL Changes
- A Trader NPC is available in a new Lake of Rage town area, allowing you to access trade evolutions natively.
- Kurt now makes Apricorn Balls instantly. He's had his coffee and is listening to his favourite music.
- Instant text is now an option!
- Clock reset procedure is now like vanilla GS, requiring just Down + B.
- Tilesets now handle up to 255 titles (from 192), allowing for slightly nicer maps.
- Can now have up to 17 object events.
- 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.
## Map Changes
Numerous new maps are available, featuring new locations, the iconic Sevii Islands, and the Nihon region!
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.
- 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.
- Viridian Forest has been restored.
- The Pewter Museum of Science has been restored.
- Cerulean Cave has been restored, complete with a Mewtwo fight!
- The Kanto Safari Zone map from the prototype has been restored.
- The prototype Lake of Rage village has been restored, complete with an Evolution Stone shop and Trader NPC! In general, it's themed around Pokemon evolution.
- The Pokemon Communications Centre from JP GSC has been added and tweaked into a Regional Variant Trade hub, increasing with badge count.
- The GS Ball event has been restored, now being obtainable after beating the Elite Four and trying to exit the building.
- The Egg Ticket and Eon Mail events have been restored, now being associated with Buena's Password. Redeeming the Egg Ticket gives you an Odd Egg with the usual Pokemon pool and Shiny chances; this is soft resettable if you like that sort of thing.
- Additionally, old lore relating to the area has now been restored, including something about the Unown!
# Credits
- Plague von Karma (Director, Kanto Expansion Pak Founder, Programming, Maps)

View file

@ -303,7 +303,7 @@ ItemAttributes:
; PEAT_BLOCK
item_attribute 2100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; CLUB_FOSSIL
item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
item_attribute 2100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; ITEM_95
item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; MYSTERYBERRY
@ -387,13 +387,13 @@ ItemAttributes:
; MIRAGE_MAIL
item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; OLD_AMBER
item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
item_attribute 2100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; DOME_FOSSIL
item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
item_attribute 2100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; HELIX_FOSSIL
item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
item_attribute 2100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; WING_FOSSIL
item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
item_attribute 2100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
assert_table_length NUM_ITEMS
; TM01
item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE

View file

@ -317,11 +317,6 @@ CherrygroveCity_RivalPushesYouOutOfTheWay:
turn_head UP
step_end
CherrygroveCity_UnusedMovementData: ; unreferenced
step LEFT
turn_head DOWN
step_end
CherrygroveCity_RivalExitsStageLeft:
big_step LEFT
big_step LEFT

View file

@ -25,12 +25,12 @@ DayCareManScript_Inside:
opentext
checkevent EVENT_GOT_ODD_EGG
iftrue .AlreadyHaveOddEgg
writetext DayCareManText_GiveOddEgg
writetext Text_DayCareManTalksAboutEggTicket
promptbutton
closetext
readvar VAR_PARTYCOUNT
ifequal PARTY_LENGTH, .PartyFull
special GiveOddEgg
giveitem EGG_TICKET
opentext
writetext DayCareText_GotOddEgg
playsound SFX_KEY_ITEM
@ -78,14 +78,14 @@ Text_GrampsLookingForYou:
line "for you."
done
Text_DayCareManTalksAboutEggTicket: ; unreferenced
Text_DayCareManTalksAboutEggTicket:
text "I'm the DAY-CARE"
line "MAN."
para "There's something"
line "new in GOLDENROD"
para "called the TRADE"
para "called the TICKET"
line "CORNER."
para "I was given an EGG"
@ -125,27 +125,20 @@ DayCareManText_GiveOddEgg:
line "yours to keep!"
done
DayCareText_ComeAgain: ; unreferenced
text "Come again."
done
DayCareText_GotOddEgg:
text "<PLAYER> received"
line "ODD EGG!"
line "EGG TICKET!"
done
DayCareText_DescribeOddEgg:
text "I found that when"
line "I was caring for"
para "someone's #MON"
line "before."
para "But the trainer"
line "didn't want the"
para "EGG, so I'd kept"
line "it around."
text "They say that"
line "the EGGs at the"
cont "TICKET CORNER"
cont "sometimes hatch"
cont "with rare colors!"
para "I wonder what"
line "causes it?"
done
DayCareText_PartyFull:

View file

@ -47,8 +47,7 @@ GoldenrodPokecenter1F_GSBallSceneLeft:
closetext
applymovement GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST, GoldenrodPokeCenter1FLinkReceptionistWalkToStairsFromLeftDoorwayTileMovement
special RestartMapMusic
disappear GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST
playsound SFX_EXIT_BUILDING
moveobject GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST, 16, 8
.cancel
end
@ -78,8 +77,7 @@ GoldenrodPokecenter1F_GSBallSceneRight:
closetext
applymovement GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST, GoldenrodPokeCenter1FLinkReceptionistWalkToStairsFromRightDoorwayTileMovement
special RestartMapMusic
disappear GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST
playsound SFX_EXIT_BUILDING
moveobject GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST, 16, 8
.cancel
end
@ -100,7 +98,7 @@ GoldenrodPokecenter1FPokefanF:
waitbutton
writetext GoldenrodPokecenter1FPokefanFThisIsForYouText
waitbutton
verbosegiveitem REVIVE
verbosegiveitem MAX_REVIVE
iffalse .NoRoom
writetext GoldenrodPokecenter1FPokefanFDaughterWillBeDelightedText
waitbutton
@ -159,54 +157,97 @@ GoldenrodPokeCenter1FLinkReceptionistWalkToStairsFromRightDoorwayTileMovement:
step_end
; Egg Ticket stuff.
; Martha ought to restore this..?
GoldenrodPokecomCenterEggTicketText: ; unreferenced
; There seems to be an animation for this in JP Crystal, but I'm not sure how to get it running, so we have a cute little animation where the lady puts the ticket in the machine and gives you the egg instead. I checked mobile-eng but didn't see anything significant.
GoldenrodPokecomCenterEggTicketGirl:
opentext
writetext GoldenrodPokecomCenterEggTicketGirlWelcomeText
readvar VAR_PARTYCOUNT
ifequal PARTY_LENGTH, .PartyFull
opentext
writetext GoldenrodPokecomCenterEggTicketText
waitbutton
closetext
playmusic MUSIC_SHOW_ME_AROUND
applymovement GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST, GoldenrodPokecomCenterEggTicketMovement1
playsound SFX_SLOT_MACHINE_START
waitsfx
pause 20
applymovement GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST, GoldenrodPokecomCenterEggTicketMovement2
playsound SFX_BALL_POOF
waitsfx
playsound SFX_ITEM
waitsfx
pause 20
applymovement GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST, GoldenrodPokecomCenterEggTicketMovement3
pause 5
opentext
writetext GoldenrodPokecomCenterEggTicketGirlHereIsYourOddEggText
special GiveOddEgg
opentext
writetext PokecomText_GotOddEgg
playsound SFX_KEY_ITEM
waitsfx
opentext
writetext GoldenrodPokecomCenterEggTicketGirl_ComeAgain
waitbutton
closetext
takeitem EGG_TICKET
special RestartMapMusic
end
.PartyFull:
opentext
writetext GoldenrodPokecomCenterEggTicketGirlPartyFull
waitbutton
closetext
end
GoldenrodPokecomCenterEggTicketMovement1:
step UP
step UP
step RIGHT
turn_head UP
step_end
GoldenrodPokecomCenterEggTicketMovement2:
step LEFT
step LEFT
turn_head UP
step_end
GoldenrodPokecomCenterEggTicketMovement3:
step RIGHT
step DOWN
step DOWN
step_end
GoldenrodPokecomCenterEggTicketGirlWelcomeText:
text "Welcome to the"
line "TICKET CORNER."
prompt
GoldenrodPokecomCenterEggTicketText:
text "Oh!"
para "I see you have an"
line "EGG TICKET!"
para "It's a coupon that"
line "special people can"
line "lucky people can"
para "redeem for a"
line "special #MON!"
para "Please wait a"
line "moment!"
done
GoldenrodPokecomCenterOddEggBriefingText: ; unreferenced
text "Let me give you a"
line "quick briefing."
para "Trades held at the"
line "TRADE CORNER are"
para "between two"
line "trainers who don't"
para "know each other's"
line "identity."
para "As a result, it"
line "may take time."
para "However, an ODD"
line "EGG is available"
cont "just for you."
para "It will be sent to"
line "you right away."
para "Please choose one"
line "of the rooms in"
para "the CENTER."
line "An ODD EGG will be"
para "sent from the"
line "chosen room."
done
GoldenrodPokecomCenterHereIsYourOddEggText: ; unreferenced
GoldenrodPokecomCenterEggTicketGirlHereIsYourOddEggText:
text "Thank you for"
line "waiting."
@ -219,6 +260,24 @@ GoldenrodPokecomCenterHereIsYourOddEggText: ; unreferenced
line "with loving care."
done
GoldenrodPokecomCenterEggTicketGirl_ComeAgain:
text "Come again!"
done
GoldenrodPokecomCenterEggTicketGirlPartyFull:
text "Oops! I'm sorry,"
line "your party is"
cont "full."
para "Please make room"
line "and come back!"
done
PokecomText_GotOddEgg:
text "<PLAYER> received"
line "ODD EGG!"
done
; The News feature obviously can't work in our build, as we won't use the Mobile Adapter.
; What we can do is give an idea of what it was like.
; So here, we're referencing the 2000 National Tournament.
@ -754,7 +813,7 @@ PokecomCenterAdminOfficeMobile_MapEvents:
object_event 7, 27, SPRITE_SCIENTIST, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, PokecomCenterAdminOfficeMobileScientist2Script, -1
object_event 7, 29, SPRITE_SCIENTIST, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, PokecomCenterAdminOfficeMobileScientist3Script, -1
object_event 7, 7, SPRITE_NURSE, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodPokecenter1FNurseScript, -1
object_event 16, 8, SPRITE_LINK_RECEPTIONIST, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, ObjectEvent, -1
object_event 16, 8, SPRITE_LINK_RECEPTIONIST, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, GoldenrodPokecomCenterEggTicketGirl, -1
object_event 3, 12, SPRITE_LASS, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 1, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodPokecenter1FLassScript, -1
object_event 11, 13, SPRITE_POKEFAN_F, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, GoldenrodPokecenter1FPokefanF, -1
object_event 15, 15, SPRITE_YOUNGSTER, SPRITEMOVEDATA_WANDER, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, GoldenrodPokecomCenterPerson1Script, -1