mirror of
https://github.com/bryanthaboi/gen1recomp.git
synced 2026-08-27 00:48:32 +02:00
CLOSES #941, CLOSES #1081, CLOSES #1349, CLOSES #1602, CLOSES #1618, CLOSES #1624, CLOSES #1630, CLOSES #1633, CLOSES #1661, CLOSES #1669, CLOSES #1676, CLOSES #1731, CLOSES #1739, CLOSES #1740, CLOSES #1742, CLOSES #1744, CLOSES #1753, CLOSES #1757, CLOSES #1758, CLOSES #1760, CLOSES #1761, CLOSES #1762, CLOSES #1763, CLOSES #1765, CLOSES #1770, CLOSES #1777, CLOSES #1781, CLOSES #1783, CLOSES #1784, CLOSES #1785, CLOSES #1787, CLOSES #1788, CLOSES #1789, CLOSES #1790, CLOSES #1792, CLOSES #1797, CLOSES #1803
This commit is contained in:
@@ -42,27 +42,29 @@ local LINK_HEADINGS = { "HOW TO LINK", "COLOSSEUM", "TRADE CENTER" }
|
||||
|
||||
local function linkCableHelp(game)
|
||||
local text = game.data.text or {}
|
||||
local items, showMenu, askHeading
|
||||
function showMenu()
|
||||
game.stack:push(Menu.new(game, items,
|
||||
{ tx = 0, ty = 0, tw = 15, th = 10, rowStep = 1 }))
|
||||
end
|
||||
function askHeading()
|
||||
game.stack:push(TextBox.new(game,
|
||||
text._LinkCableHelpText2 or "Which heading do\nyou want to read?",
|
||||
showMenu))
|
||||
local items, menu, openMenu
|
||||
local function closeAll()
|
||||
game.stack:pop()
|
||||
end
|
||||
items = {}
|
||||
for i, label in ipairs(LINK_HEADINGS) do
|
||||
items[i] = { label = label, onSelect = function()
|
||||
items[i] = { label = label, keepOpen = true, onSelect = function()
|
||||
game.stack:push(TextBox.new(game,
|
||||
text["_LinkCableInfoText" .. i] or label, askHeading))
|
||||
text["_LinkCableInfoText" .. i] or label))
|
||||
end }
|
||||
end
|
||||
items[#items + 1] = { label = "STOP READING" }
|
||||
items[#items + 1] = { label = "STOP READING", onSelect = closeAll }
|
||||
menu = Menu.new(game, items,
|
||||
{ tx = 0, ty = 0, tw = 15, th = 10, rowStep = 2, itemY = 2,
|
||||
onCancel = closeAll })
|
||||
function openMenu() game.stack:push(menu) end
|
||||
game.stack:push(TextBox.new(game,
|
||||
text._LinkCableHelpText1 or "TRAINER TIPS\fUsing a Game Link\nCable",
|
||||
askHeading))
|
||||
function()
|
||||
game.stack:push(TextBox.new(game,
|
||||
text._LinkCableHelpText2 or "Which heading do\nyou want to read?",
|
||||
nil, { stay = { onShown = openMenu } }))
|
||||
end))
|
||||
end
|
||||
|
||||
return {
|
||||
@@ -84,21 +86,15 @@ return {
|
||||
{ "jump_if_false", 5 }, -- 2
|
||||
{ "hide_object", "CELADON_MANSION_ROOF_HOUSE",
|
||||
"CELADONMANSION_ROOF_HOUSE_EEVEE_POKEBALL" }, -- 3 (old saves)
|
||||
{ "jump", 13 }, -- 4
|
||||
{ "give_pokemon", "EEVEE", 25 }, -- 5
|
||||
{ "jump_if_false", 12 }, -- 6 (party+box full)
|
||||
-- flag + HideObject before the jingle and GotMonText: the nickname
|
||||
-- prompt inside give_pokemon and the text row both yield, and a
|
||||
-- script that dies there would leave the EEVEE taken with the ball
|
||||
-- still on the table and the gift claimable again (#426). The row
|
||||
-- count is unchanged, so the numeric jump targets still hold.
|
||||
{ "jump", 11 }, -- 4
|
||||
{ "give_pokemon", "EEVEE", 25, false, true }, -- 5
|
||||
{ "jump_if_false", 10 }, -- 6 (party+box full)
|
||||
-- scripts/CeladonMansionRoofHouse.asm:17-20 (#426)
|
||||
{ "set_flag", "EVENT_GOT_EEVEE" }, -- 7
|
||||
{ "hide_object", "CELADON_MANSION_ROOF_HOUSE",
|
||||
"CELADONMANSION_ROOF_HOUSE_EEVEE_POKEBALL" }, -- 8
|
||||
{ "text_sound", "Get_Item1" }, -- 9 (GotMonText jingle)
|
||||
{ "show_text", "_GotMonText", { RAM = "EEVEE" } }, -- 10
|
||||
{ "jump", 13 }, -- 11
|
||||
{ "show_text", "_BoxIsFullText" }, -- 12
|
||||
{ "jump", 11 }, -- 9
|
||||
{ "show_text", "_BoxIsFullText" }, -- 10
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@@ -2,12 +2,10 @@
|
||||
return {
|
||||
CELADON_CITY = {
|
||||
talk = {
|
||||
-- CeladonCityPoliwrathText (scripts/CeladonCity.asm): text_far
|
||||
-- _CeladonCityPoliwrathText, then plays the POLIWRATH cry and ends.
|
||||
-- The cry playback has no port-side equivalent command, so we just
|
||||
-- show the flavor line.
|
||||
TEXT_CELADONCITY_POLIWRATH = {
|
||||
{"face_player"},
|
||||
-- pokered/scripts/CeladonCity.asm:90
|
||||
{"play_cry", "POLIWRATH", true},
|
||||
{"show_text", "_CeladonCityPoliwrathText"},
|
||||
},
|
||||
},
|
||||
|
||||
@@ -2,30 +2,24 @@
|
||||
return {
|
||||
CELADON_MANSION_1F = {
|
||||
talk = {
|
||||
-- CeladonMansion1FClefairyText (scripts/CeladonMansion1F.asm): text_far
|
||||
-- _CeladonMansion1FClefairyText, then plays the CLEFAIRY cry and ends.
|
||||
-- The cry playback has no port-side equivalent command, so we just
|
||||
-- show the flavor line.
|
||||
TEXT_CELADONMANSION1F_CLEFAIRY = {
|
||||
{"face_player"},
|
||||
-- pokered/scripts/CeladonMansion1F.asm:27
|
||||
{"play_cry", "CLEFAIRY", true},
|
||||
{"show_text", "_CeladonMansion1FClefairyText"},
|
||||
},
|
||||
|
||||
-- CeladonMansion1FMeowthText (scripts/CeladonMansion1F.asm): text_far
|
||||
-- _CeladonMansion1FMeowthText, then plays the MEOWTH cry and ends.
|
||||
-- The cry playback has no port-side equivalent command, so we just
|
||||
-- show the flavor line.
|
||||
TEXT_CELADONMANSION1F_MEOWTH = {
|
||||
{"face_player"},
|
||||
-- pokered/scripts/CeladonMansion1F.asm:18
|
||||
{"play_cry", "MEOWTH", true},
|
||||
{"show_text", "_CeladonMansion1FMeowthText"},
|
||||
},
|
||||
|
||||
-- CeladonMansion1FNidoranFText (scripts/CeladonMansion1F.asm): text_far
|
||||
-- _CeladonMansion1FNidoranFText, then plays the NIDORAN_F cry and ends.
|
||||
-- The cry playback has no port-side equivalent command, so we just
|
||||
-- show the flavor line.
|
||||
TEXT_CELADONMANSION1F_NIDORANF = {
|
||||
{"face_player"},
|
||||
-- pokered/scripts/CeladonMansion1F.asm:33
|
||||
{"play_cry", "NIDORAN_F", true},
|
||||
{"show_text", "_CeladonMansion1FNidoranFText"},
|
||||
},
|
||||
},
|
||||
|
||||
@@ -4,11 +4,10 @@
|
||||
return {
|
||||
LAVENDER_CUBONE_HOUSE = {
|
||||
talk = {
|
||||
-- LavenderCuboneHouseCuboneText: text_far _LavenderCuboneHouseCuboneText,
|
||||
-- then text_asm plays the CUBONE cry. Cry playback has no Commands
|
||||
-- equivalent in this port, so just show the line.
|
||||
-- LavenderCuboneHouse.asm:10
|
||||
TEXT_LAVENDERCUBONEHOUSE_CUBONE = {
|
||||
{ "face_player" },
|
||||
{ "play_cry", "CUBONE", true },
|
||||
{ "show_text", "_LavenderCuboneHouseCuboneText" },
|
||||
},
|
||||
|
||||
|
||||
@@ -31,16 +31,15 @@ M.MR_FUJIS_HOUSE = {
|
||||
{ "show_text", "_MrFujisHouseLittleGirlPokemonAreNiceToHugText" }, -- 6
|
||||
},
|
||||
|
||||
-- scripts/MrFujisHouse.asm MrFujisHousePsyduckText: text_far then
|
||||
-- PlayCry(PSYDUCK). Cry playback isn't modeled by Commands, so just
|
||||
-- show the flavor text.
|
||||
-- scripts/MrFujisHouse.asm:56
|
||||
TEXT_MRFUJISHOUSE_PSYDUCK = {
|
||||
{ "play_cry", "PSYDUCK", true },
|
||||
{ "show_text", "_MrFujisHousePsyduckText" },
|
||||
},
|
||||
|
||||
-- scripts/MrFujisHouse.asm MrFujisHouseNidorinoText: text_far then
|
||||
-- PlayCry(NIDORINO).
|
||||
-- scripts/MrFujisHouse.asm:63
|
||||
TEXT_MRFUJISHOUSE_NIDORINO = {
|
||||
{ "play_cry", "NIDORINO", true },
|
||||
{ "show_text", "_MrFujisHouseNidorinoText" },
|
||||
},
|
||||
},
|
||||
|
||||
@@ -4,10 +4,9 @@
|
||||
return {
|
||||
ROUTE_16_FLY_HOUSE = {
|
||||
talk = {
|
||||
-- Route16FlyHouseFearowText: text_asm just prints the one line and
|
||||
-- plays the FEAROW cry (no cry-playback command exists in this
|
||||
-- port's Commands vocabulary, so only the text is ported).
|
||||
-- scripts/Route16FlyHouse.asm:45-51
|
||||
TEXT_ROUTE16FLYHOUSE_FEAROW = {
|
||||
{ "play_cry", "FEAROW", true },
|
||||
{ "show_text", "_Route16FlyHouseFearowText" },
|
||||
},
|
||||
},
|
||||
|
||||
@@ -1047,6 +1047,7 @@ local championsRoomRivalScript = {
|
||||
-- numeric 26 into a jump ONTO the closing HALL_OF_FAME warp instead of past
|
||||
-- it, so a returning champion warped straight into the induction.
|
||||
{ "jump_if_true", "end" }, -- 3
|
||||
{ "set_option", "animations", true }, -- scripts/ChampionsRoom.asm:57
|
||||
{ "show_text", "_ChampionsRoomRivalIntroText" }, -- 4
|
||||
-- ChampionsRoomRivalReadyToBattleScript plays MUSIC_FINAL_BATTLE after
|
||||
-- the intro text, before the battle itself (#706); pushBattle's wipe-time
|
||||
|
||||
@@ -359,18 +359,22 @@ M.ROUTE_16_FLY_HOUSE = {
|
||||
TEXT_ROUTE16FLYHOUSE_BRUNETTE_GIRL = function(game, ow, npc, done)
|
||||
local t = text(game)
|
||||
if game.save.flags.EVENT_GOT_HM02 then
|
||||
push(game, t._Route16FlyHouseBrunetteGirlHm02ExplanationText
|
||||
or "HM02 is FLY!\fIt will whisk you\nback to any town!", done)
|
||||
push(game, t._Route16FlyHouseBrunetteGirlHM02ExplanationText
|
||||
or "HM02 is FLY.\nIt will take you\vback to any town.\fPut it to good\nuse!", done)
|
||||
return
|
||||
end
|
||||
push(game, t._Route16FlyHouseBrunetteGirlText
|
||||
or "Shh! It's a\nsecret!\fMy POKéMON's\nHM02, take it!", function()
|
||||
or "Oh, you found my\nsecret retreat!", function()
|
||||
if not require("src.inventory.Bag").add(game.save, "HM_FLY", 1) then
|
||||
push(game, "You don't have\nroom for HM02!", done)
|
||||
push(game, t._Route16FlyHouseBrunetteGirlHM02NoRoomText
|
||||
or "You don't have any\nroom for this.", done)
|
||||
return
|
||||
end
|
||||
game.save.flags.EVENT_GOT_HM02 = true
|
||||
push(game, ("%s got\nHM02!"):format(game.save.player.name), done)
|
||||
-- scripts/Route16FlyHouse.asm:32-35
|
||||
push(game, fill(t._Route16FlyHouseBrunetteGirlReceivedHM02Text
|
||||
or "{PLAYER} received\nHM02!", { player = game.save.player.name }),
|
||||
done, require("src.render.TextBox").soundOpts(game, "Get_Key_Item"))
|
||||
end)
|
||||
end,
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user