mirror of
https://github.com/bryanthaboi/gen1recomp.git
synced 2026-08-12 08:21:02 +02:00
Merge pull request #698 from ShaneMcGovernIE/fix/pc-back-and-hole-sfx
This commit is contained in:
@@ -56,6 +56,7 @@ for mapId, holes in pairs(HOLE_FALLS) do
|
||||
M[mapId].onStep = function(game, ow, x, y)
|
||||
for _, h in ipairs(holes) do
|
||||
if x == h[1] and y == h[2] then
|
||||
require("src.core.Sound").play(game.data, "Faint_Fall")
|
||||
ow:startWarpTo(h[3], h[4], h[5], ow.player.facing)
|
||||
return true
|
||||
end
|
||||
|
||||
@@ -942,6 +942,7 @@ M.VICTORY_ROAD_3F = {
|
||||
-- fall is onStep, not a collision block.
|
||||
onStep = function(game, ow, x, y)
|
||||
if x == 23 and y == 15 then
|
||||
require("src.core.Sound").play(game.data, "Faint_Fall")
|
||||
ow:startWarpTo("VICTORY_ROAD_2F", 22, 16, ow.player.facing)
|
||||
return true
|
||||
end
|
||||
|
||||
@@ -118,6 +118,7 @@ local MANSION_HOLES = {
|
||||
M.POKEMON_MANSION_3F.onStep = function(game, ow, x, y)
|
||||
for _, h in ipairs(MANSION_HOLES) do
|
||||
if x == h[1] and y == h[2] then
|
||||
require("src.core.Sound").play(game.data, "Faint_Fall")
|
||||
ow:startWarpTo(h[3], h[4], h[5], ow.player.facing)
|
||||
return true
|
||||
end
|
||||
|
||||
@@ -2580,8 +2580,13 @@ function OverworldState:openPC(onDone)
|
||||
-- (engine/menus/pokemon_pc.asm gates on EVENT_MET_BILL; we reach that
|
||||
-- when Bill hands over the SS Ticket)
|
||||
local metBill = flags.EVENT_MET_BILL or flags.EVENT_GOT_SS_TICKET
|
||||
-- keepOpen so B in the sub-PC returns here instead of exiting the
|
||||
-- PC session (#695); the sub-PC screens (BoxMenu, PlayerPC) already
|
||||
-- use keepOpen for their own rows, matching the original ROM's flow
|
||||
-- where the main menu stays underneath.
|
||||
table.insert(items, {
|
||||
label = metBill and "BILL'S PC" or Strings("SOMEONE'S PC"),
|
||||
keepOpen = true,
|
||||
onSelect = function()
|
||||
require("src.core.Sound").play(Game.data, "Enter_PC")
|
||||
Screens.push(Game, "BoxMenu")
|
||||
@@ -2592,6 +2597,7 @@ function OverworldState:openPC(onDone)
|
||||
-- the player's item storage is always available
|
||||
table.insert(items, {
|
||||
label = (Game.save.player.name or "RED") .. "'s PC",
|
||||
keepOpen = true,
|
||||
onSelect = function()
|
||||
Screens.push(Game, "PlayerPC")
|
||||
done()
|
||||
@@ -2602,6 +2608,7 @@ function OverworldState:openPC(onDone)
|
||||
if flags.EVENT_GOT_POKEDEX then
|
||||
table.insert(items, {
|
||||
label = Strings("PROF.OAK's PC"),
|
||||
keepOpen = true,
|
||||
onSelect = function()
|
||||
self:openOaksPC(done)
|
||||
end,
|
||||
@@ -3774,7 +3781,9 @@ function OverworldState:takeWarp(warpDef)
|
||||
self:startWarpTo(destMap, x, y, facing)
|
||||
return
|
||||
elseif pad == "hole" then
|
||||
-- falling through a hole: no door SFX, no walk-out step
|
||||
-- falling through a hole: Faint_Fall plays while the player drops,
|
||||
-- matching the boulder-hole Faint_Thud at line 3618 (#694)
|
||||
require("src.core.Sound").play(Game.data, "Faint_Fall")
|
||||
self:startWarpTo(destMap, x, y, facing)
|
||||
return
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user