Haunted House groundwork

Adds the Haunted House with wild data, warps, and most of the house itself done.

Gengar Doll is set to be a boss fight, needs walking sprites among other things.

BG events need a bit more fleshing out.

Needs integration for the loose board mechanic.

Otherwise extremely fleshed-out.
This commit is contained in:
Llinos Evans 2024-08-15 20:49:25 +01:00
parent 4905e4246f
commit 6e832f06d8
25 changed files with 587 additions and 53 deletions

View file

@ -49,6 +49,7 @@
const LANDMARK_BLACKTHORN_CITY ; 29
const LANDMARK_DRAGONS_DEN ; 2a
const LANDMARK_ROUTE_45 ; 2b
const LANDMARK_HAUNTED_HOUSE
const LANDMARK_DARK_CAVE ; 2c
const LANDMARK_ROUTE_46 ; 2d
const LANDMARK_SILVER_CAVE ; 2e

View file

@ -396,6 +396,9 @@ ENDM
map_const LAVENDER_CRYPT_SET_2, 12, 10 ; 17
map_const LAVENDER_CRYPT_SET_3, 12, 10 ; 18
map_const LAVENDER_CRYPT_DOKUROARS_ROOM, 7, 8 ; 19
map_const HAUNTED_HOUSE_FOYER, 6, 5 ; 20 - it's here so we can use the purple palette. As far as I know, this doesn't cause any gameplay issues.
map_const HAUNTED_HOUSE_1F, 18, 10 ; 21
map_const HAUNTED_HOUSE_2F, 11, 4 ; 22
endgroup
newgroup SILVER ; 19

View file

@ -736,6 +736,9 @@ ENDM
map_attributes SeafoamIslandsB2F, SEAFOAM_ISLANDS_B2F, $00, 0 ; Bank 1
map_attributes SeafoamIslandsB3F, SEAFOAM_ISLANDS_B3F, $00, 0 ; Bank 1
map_attributes SeafoamIslandsB4F, SEAFOAM_ISLANDS_B4F, $00, 0 ; Bank 1
map_attributes HauntedHouseFoyer, HAUNTED_HOUSE_FOYER, $00, 0
map_attributes HauntedHouse1F, HAUNTED_HOUSE_1F, $00, 0
map_attributes HauntedHouse2F, HAUNTED_HOUSE_2F, $00, 0
; Citrine City Maps
map_attributes CitrineCity, CITRINE_CITY, $00, 0 ; Bank 2

View file

@ -1282,4 +1282,13 @@ CapeBrink_Blocks:
SummerBeachHouse_Blocks:
INCBIN "maps/SummerBeachHouse.ablk"
HauntedHouseFoyer_Blocks:
INCBIN "maps/HauntedHouseFoyer.ablk"
HauntedHouse1F_Blocks:
INCBIN "maps/HauntedHouse1F.ablk"
HauntedHouse2F_Blocks:
INCBIN "maps/HauntedHouse2F.ablk"

View file

@ -55,6 +55,7 @@ Landmarks:
landmark 132, 44, BlackthornCityName
landmark 132, 36, DragonsDenName
landmark 132, 64, Route45Name
landmark 124, 68, HauntedHouseName
landmark 112, 72, DarkCaveName
landmark 124, 88, Route46Name
landmark 148, 68, SilverCaveName

View file

@ -436,6 +436,9 @@ MapGroup_Lavender:
map LavenderCryptSet2, TILESET_LAVENDER_CRYPT, CAVE, LANDMARK_LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, TRUE, PALETTE_NITE, FISHGROUP_NONE
map LavenderCryptSet3, TILESET_LAVENDER_CRYPT, CAVE, LANDMARK_LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, TRUE, PALETTE_NITE, FISHGROUP_NONE
map LavenderCryptDokuroarsRoom, TILESET_LAVENDER_CRYPT, CAVE, LANDMARK_LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, TRUE, PALETTE_NITE, FISHGROUP_NONE
map HauntedHouseFoyer, TILESET_LAVENDER_CRYPT, CAVE, LANDMARK_HAUNTED_HOUSE, MUSIC_LAVENDER_TOWN, TRUE, PALETTE_NITE, FISHGROUP_NONE
map HauntedHouse1F, TILESET_LAVENDER_CRYPT, CAVE, LANDMARK_HAUNTED_HOUSE, MUSIC_LAVENDER_TOWN, TRUE, PALETTE_NITE, FISHGROUP_NONE
map HauntedHouse2F, TILESET_LAVENDER_CRYPT, CAVE, LANDMARK_HAUNTED_HOUSE, MUSIC_LAVENDER_TOWN, TRUE, PALETTE_NITE, FISHGROUP_NONE
assert_table_length NUM_LAVENDER_MAPS
MapGroup_Silver:

View file

@ -603,6 +603,9 @@ INCLUDE "maps/LavenderCryptDokuroarsRoom.asm"
INCLUDE "maps/Route50.asm"
INCLUDE "maps/JackysHouse.asm"
INCLUDE "maps/SummerBeachHouse.asm"
INCLUDE "maps/HauntedHouseFoyer.asm"
INCLUDE "maps/HauntedHouse1F.asm"
INCLUDE "maps/HauntedHouse2F.asm"
SECTION "Map Scripts 31", ROMX ; spillover
INCLUDE "maps/TanobyRuins.asm"

View file

@ -260,10 +260,9 @@ TeamRocketOathText:
done
IncenseBurnerText:
text "What is this?"
text "What is this? Ah!"
para "Oh, it's an"
line "incense burner!"
para "It's a butsudan!" ; restored detail, see RG JP script, etc.
done
MerchandiseShelfText:
@ -498,3 +497,18 @@ RegisteredNumber2Text:
text_ram wStringBuffer3
text "'s number."
done
OldMagazinesText:
text "It's full of old"
line "magazines…"
done
OldBooksText:
text "Stuffed full of"
line "old #MON books!"
para "The techniques"
line "described…" ; This is softly alluding to the trainers with whips and how Pokemon swiftly steered away with this after RG. Tamers should keep this sort of thing going, as should Rockets.
para "Never mind!"
done

View file

@ -15,7 +15,7 @@
tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0e
tilecoll FLOOR, WALL, FLOOR, WALL ; 0f
tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 10
tilecoll WALL, WALL, DOOR, DOOR ; 11
tilecoll WALL, WALL, WALL, DOOR ; 11
tilecoll WALL, WALL, WALL, WALL ; 12
tilecoll WALL, WALL, WALL, WALL ; 13
tilecoll WALL, WALL, WALL, FLOOR ; 14
@ -109,10 +109,10 @@
tilecoll WALL, WALL, WALL, WALL ; 6c
tilecoll WALL, WALL, WALL, WALL ; 6d
tilecoll WALL, WALL, WALL, WALL ; 6e
tilecoll FLOOR, FLOOR, WALL, FLOOR ; 6f
tilecoll FLOOR, FLOOR, FLOOR, WALL ; 70
tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 71
tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 72
tilecoll WALL, WALL, WALL, WALL ; 6f
tilecoll WALL, WALL, WALL, WALL ; 70
tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 71
tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, FLOOR ; 72
tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 73
tilecoll WALL, WALL, WALL, DOOR ; 74
tilecoll WALL, WALL, WALL, WALL ; 75
@ -126,3 +126,34 @@
tilecoll WALL, DOOR, WALL, FLOOR ; 7d
tilecoll DOOR, WALL, FLOOR, WALL ; 7e
tilecoll FLOOR, WALL, FLOOR, WALL ; 7f
tilecoll WALL, WALL, FLOOR, FLOOR ; 80
tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 81
tilecoll WALL, WALL, FLOOR, FLOOR ; 82
tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 83
tilecoll FLOOR, FLOOR, WALL, WALL ; 84
tilecoll FLOOR, WALL, FLOOR, FLOOR ; 85
tilecoll WALL, WALL, WALL, WALL ; 86
tilecoll INCENSE_BURNER, WALL, FLOOR, FLOOR ; 87
tilecoll WALL, WALL, FLOOR, FLOOR ; 88
tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 89
tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 8a
tilecoll WALL, WALL, WALL, DOOR ; 8b
tilecoll WALL, WALL, WALL, DOOR ; 8c
tilecoll WALL, WALL, FLOOR, FLOOR ; 8d
tilecoll WALL, FLOOR, WALL, FLOOR ; 8e
tilecoll WALL, WALL, FLOOR, FLOOR ; 8f
tilecoll WALL, WALL, WALL, WALL ; 90
tilecoll WALL, WALL, DOOR, WALL ; 91
tilecoll WALL, WALL, DOOR, WALL ; 92
tilecoll WALL, FLOOR, FLOOR, FLOOR ; 93
tilecoll WALL, FLOOR, WALL, FLOOR ; 94
tilecoll FLOOR, WALL, FLOOR, FLOOR ; 95
tilecoll FLOOR, FLOOR, WALL, FLOOR ; 96
tilecoll FLOOR, FLOOR, FLOOR, WALL ; 97
tilecoll WALL, WALL, WALL, WALL ; 98
tilecoll WALL, WALL, WALL, WALL ; 99
tilecoll WALL, WALL, WALL, WALL ; 9a
tilecoll WALL, WALL, WALL, WALL ; 9b
tilecoll WALL, WALL, FLOOR, FLOOR ; 9c
tilecoll WALL, FLOOR, FLOOR, FLOOR ; 9d
tilecoll WALL, WALL, FLOOR, FLOOR ; 9e

View file

@ -81,8 +81,8 @@
tilecoll FLOOR, FLOOR, WALL, WALL ; 50
tilecoll FLOOR, FLOOR, WALL, FLOOR ; 51
tilecoll WALL, FLOOR, FLOOR, FLOOR ; 52
tilecoll WALL, WALL, FLOOR, FLOOR ; 53
tilecoll WALL, WALL, FLOOR, FLOOR ; 54
tilecoll INCENSE_BURNER, WALL, FLOOR, FLOOR ; 53
tilecoll WALL, INCENSE_BURNER, FLOOR, FLOOR ; 54
tilecoll WALL, WALL, FLOOR, FLOOR ; 55
tilecoll WALL, WALL, FLOOR, FLOOR ; 56
tilecoll WALL, WALL, FLOOR, FLOOR ; 57

View file

@ -1808,5 +1808,89 @@ JohtoGrassWildMons:
dbw 23, NOCTOWL
dbw 25, MURKROW
end_grass_wildmons
def_grass_wildmons HAUNTED_HOUSE_FOYER
db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
; morn
dbw 36, MISDREAVUS
dbw 37, MISDREAVUS
dbw 36, GASTLY
dbw 35, VULPIX
dbw 37, WISPIRIT
dbw 37, HAUNTER
dbw 38, HAUNTER
; day
dbw 36, MISDREAVUS
dbw 37, MISDREAVUS
dbw 36, GASTLY
dbw 35, VULPIX
dbw 37, WISPIRIT
dbw 37, HAUNTER
dbw 38, HAUNTER
; nite
dbw 36, MISDREAVUS
dbw 35, MISDREAVUS
dbw 36, GASTLY
dbw 37, BELLEDAM
dbw 37, WISPIRIT
dbw 38, HAUNTER
dbw 40, GENGAR
end_grass_wildmons
def_grass_wildmons HAUNTED_HOUSE_1F
db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
; morn
dbw 36, MISDREAVUS
dbw 37, MISDREAVUS
dbw 36, GASTLY
dbw 35, VULPIX
dbw 37, WISPIRIT
dbw 37, HAUNTER
dbw 38, HAUNTER
; day
dbw 36, MISDREAVUS
dbw 37, MISDREAVUS
dbw 36, GASTLY
dbw 35, VULPIX
dbw 37, WISPIRIT
dbw 37, HAUNTER
dbw 38, HAUNTER
; nite
dbw 36, MISDREAVUS
dbw 35, MISDREAVUS
dbw 36, GASTLY
dbw 37, BELLEDAM
dbw 37, WISPIRIT
dbw 38, HAUNTER
dbw 40, GENGAR
end_grass_wildmons
def_grass_wildmons HAUNTED_HOUSE_2F
db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
; morn
dbw 36, MISDREAVUS
dbw 37, MISDREAVUS
dbw 36, GASTLY
dbw 35, VULPIX
dbw 37, WISPIRIT
dbw 37, HAUNTER
dbw 38, HAUNTER
; day
dbw 36, MISDREAVUS
dbw 37, MISDREAVUS
dbw 36, GASTLY
dbw 35, VULPIX
dbw 37, WISPIRIT
dbw 37, HAUNTER
dbw 38, HAUNTER
; nite
dbw 36, MISDREAVUS
dbw 35, MISDREAVUS
dbw 36, GASTLY
dbw 37, BELLEDAM
dbw 37, WISPIRIT
dbw 38, HAUNTER
dbw 40, GENGAR
end_grass_wildmons
db -1 ; end

View file

@ -65,6 +65,8 @@ StdScripts::
add_stdscript GenericStoveScript
add_stdscript GenericFridgeScript
add_stdscript Nintendo64Script
add_stdscript OldMagazinesScript ; Used for the Haunted House, keeping here for potential other uses.
add_stdscript OldBooksScript
PokecenterNurseScript:
; EVENT_WELCOMED_TO_POKECOM_CENTER is never set
@ -175,6 +177,12 @@ PokecenterNurseScript:
specialphonecall SPECIALCALL_POKERUS
end
OldMagazinesScript:
farjumptext OldMagazinesText
OldBooksScript:
farjumptext OldBooksText
DifficultBookshelfScript:
farjumptext DifficultBookshelfText

View file

@ -44,8 +44,8 @@ FindNest:
jr z, .sevii ; these areas are small enough to that we shouldn't need two separate tables for these regions.
cp SEVII_REGION_1
jr z, .sevii
and a
jr nz, .kanto
cp KANTO_REGION
jr z, .kanto
decoord 0, 0
ld hl, JohtoGrassWildMons
call .FindGrass
@ -448,24 +448,6 @@ _GrassWildmonLookup:
call _SwarmWildmonCheck
ret c
ld hl, JohtoGrassWildMons
; Old Nihon Check from 2023.
; it's painfully broken and bad, don't use it unless you have brighter ideas for the below
; Nihon Check
; Basically, conditionally load Nihon or Kanto into de, depending on region check.
; IsInJohto returns 1 if Kanto, 2 if Nihon.
; This way, when _JohtoWildmonCheck loads, it'll have Nihon's spliced in if you're there.
; This is INCREDIBLY suboptimal. Consider revising.
; As of 3rd Nov '23, this works correctly for Johto and Kanto, but Nihon routes will return nothing.
; call IsInJohto ; Run IsInJohto
; cp 1 ; If we're in Kanto...
; jr z, .skip ; Skip the splicing.
; ld de, NihonGrassWildMons ; No? Splice in Nihon.
; jr .skip2 ; Now skip loading Kanto.
;.skip ; If you skip here, you're in Kanto.
; ld de, KantoGrassWildMons ; So take this as normal.
; ; fallthrough
;.skip2 ; If you skip here, you're in Nihon or Johto.
ld de, NihonGrassWildMons
ld a, [wMapGroup]
@ -474,20 +456,20 @@ _GrassWildmonLookup:
ld c, a
call GetWorldMapLocation
cp NIHON_LANDMARK
jr nc, .johto
jr nc, .foundRegion
; account for sevii
ld de, SeviiGrassWildMons
cp SEVII_LANDMARK_2 ; I am 90% sure this check is unnecessary when in tandem with landmark 1.
jr nc, .johto
jr nc, .foundRegion
cp SEVII_LANDMARK_1
jr nc, .johto
jr nc, .foundRegion
ld de, KantoGrassWildMons
.johto
.foundRegion
call _JohtoWildmonCheck ; So run this check. More commentary there.
ld bc, GRASS_WILDDATA_LENGTH
jr _NormalWildmonOK
jp _NormalWildmonOK
_WaterWildmonLookup:
ld hl, SwarmWaterWildMons
@ -504,17 +486,17 @@ _WaterWildmonLookup:
ld c, a
call GetWorldMapLocation
cp NIHON_LANDMARK
jr nc, .johto
jr nc, .foundRegion
; account for sevii
ld de, SeviiWaterWildMons
cp SEVII_LANDMARK_2
jr nc, .johto
jr nc, .foundRegion
cp SEVII_LANDMARK_1
jr nc, .johto
jr nc, .foundRegion
ld de, KantoWaterWildMons
.johto
ld de, KantoWaterWildMons ; if all else fails, you are here.
.foundRegion
call _JohtoWildmonCheck
ld bc, WATER_WILDDATA_LENGTH
@ -527,9 +509,13 @@ _WaterWildmonLookup:
; We've already decided what de is before between Kanto and Nihon.
; Nothing fancy, but don't worry about it.
_JohtoWildmonCheck:
call IsInJohto ; Check if we're in Johto or not.
and a ; Are we?
ret z ; If zero, skip. This means you're in Johto, so you take what's in hl.
ld a, [wMapGroup]
ld b, a
ld a, [wMapNumber]
ld c, a
call GetWorldMapLocation
cp KANTO_LANDMARK -1
ret c ; If under Kanto Landmarks, you're in Johto. The added regions made the old function break for some reason?
ld h, d ; If you're not, though, you take what's in d...
ld l, e ; and e.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

View file

@ -403,7 +403,7 @@ DebugRoom_MapEvents:
warp_event 5, 35, LAVENDER_TOWN, 1 ; southwest warp
warp_event 19, 34, SAFARI_ZONE_FUCHSIA_GATE_BETA, 3 ; southern warp
warp_event 33, 33, TWO_ISLAND, 1 ; southeast warp
warp_event 5, 3, AZALEA_TOWN, 1
warp_event 5, 3, HAUNTED_HOUSE_FOYER, 1
warp_event 34, 11, WINNERS_PATH, 3
def_coord_events

BIN
maps/HauntedHouse1F.ablk Normal file

Binary file not shown.

77
maps/HauntedHouse1F.asm Normal file
View file

@ -0,0 +1,77 @@
; Old Chateau-inspired 1 Corridor multi-room map.
object_const_def
HauntedHouse1F_MapScripts:
def_scene_scripts
def_callbacks
HauntedHouse1FGrandPianoScript: ; flashbang sm64 players
jumptext HauntedHouse1FGrandPianoText
HauntedHouse1FGrandPianoText:
text "It's a grand piano!"
line "So big!"
done
HauntedHouse1FGrandPianoRoomBookScript: ; flashbang sm64 players
jumptext HauntedHouse1FGrandPianoRoomBookText
HauntedHouse1FGrandPianoRoomBookText:
text "It's a book filled"
line "with music sheets."
para "There's lots of"
line "angry scrawls in"
cont "the margin…" ; Like many Asians, Jessie hated being forced to learn the piano.
done
; A cool gimmick (and forced Corpse Party reference) is the use of loose boards to get over gaps.
; This is how you access Miyamoto's room.
HauntedHouseLooseBoardPromptText:
text "The floor has been"
line "smashed open!"
para "There has to be"
line "a way to cross…"
done
HauntedHousePlaceTheBoardText:
text "Place the LOOSE"
line "BOARD?"
done
HauntedHouse1F_MapEvents:
db 0, 0 ; filler
def_warp_events
warp_event 14, 15, HAUNTED_HOUSE_1F, 5 ; far right
warp_event 11, 15, HAUNTED_HOUSE_1F, 7 ; right
warp_event 8, 15, HAUNTED_HOUSE_1F, 9 ; left
warp_event 5, 15, HAUNTED_HOUSE_1F, 11 ; far left
warp_event 31, 19, HAUNTED_HOUSE_1F, 1 ; bottom 1
warp_event 32, 19, HAUNTED_HOUSE_1F, 1 ; bottom 2
warp_event 31, 7, HAUNTED_HOUSE_1F, 2 ; top right 1
warp_event 32, 7, HAUNTED_HOUSE_1F, 2 ; top right 2
warp_event 17, 7, HAUNTED_HOUSE_1F, 3 ; top second from left 1
warp_event 18, 7, HAUNTED_HOUSE_1F, 3 ; top second from left 2
warp_event 3, 7, HAUNTED_HOUSE_1F, 4 ; top-right 1
warp_event 4, 7, HAUNTED_HOUSE_1F, 4 ; top-right 2
warp_event 9, 19, HAUNTED_HOUSE_FOYER, 3
warp_event 10, 19, HAUNTED_HOUSE_FOYER, 4
def_coord_events
def_bg_events
bg_event 31, 3, BGEVENT_READ, HauntedHouse1FGrandPianoScript
bg_event 30, 3, BGEVENT_READ, HauntedHouse1FGrandPianoScript
bg_event 33, 2, BGEVENT_READ, HauntedHouse1FGrandPianoRoomBookScript
bg_event 32, 2, BGEVENT_READ, HauntedHouse1FGrandPianoRoomBookScript
def_object_events

BIN
maps/HauntedHouse2F.ablk Normal file

Binary file not shown.

261
maps/HauntedHouse2F.asm Normal file
View file

@ -0,0 +1,261 @@
; Jessie and Miyamoto's rooms.
; This ports over a lot of stuff from the first movie's radio drama.
; Given Jessie is canon - KEP was a Yellow hack, it makes sense to include.
; It also gives this mansion far more purpose.
; Translation source: http://www.rigelatin.net/copycat/saga/origin/dramaep1.php
object_const_def
HauntedHouse2F_MapScripts:
def_scene_scripts
def_callbacks
; At some point this'll be a boss but I'm a bit tired.
; The idea is you defeat it and it gives you something to progress.
HauntedHouse2FGengarDoll:
jumptext HauntedHouse2FGengarDollText
HauntedHouse2FGengarDollText:
text "It's a GENGAR DOLL!"
para "It stares daggers"
line "into your eyes…"
para "Too scary!"
done
HauntedHouse2FTVScript: ; this will false trigger the rotom fan
jumptext HauntedHouse2FTVText ; in actuality, I consider this to be miyamoto's leisure time!
HauntedHouse2FTVText:
text "It's a dusty old"
line "TV."
done
HauntedHouse2FBed1Script:
jumptext HauntedHouse2FBed1Text
HauntedHouse2FBed1Text:
text "This bed hasn't"
line "been slept in"
cont "for a long time."
done
HauntedHouse2FBed2Script:
jumptext HauntedHouse2FBed2Text
HauntedHouse2FBed2Text:
text "This bed hasn't"
line "been slept in"
cont "for a long time."
para "Under the matt-"
line "ress…"
para "Ew! Bed bugs!" ; One bed will note this.
done
; Miyamoto's diary.
; This will prelude her failed mission to capture Mew, referenced in KEP.
; After Miyamoto disappeared, Jessie went into a foster home.
; I conclude that Jessie lived a rich life initially, as in Holiday Hi-Jynx, she is shown to live in a very privileged household. This presumably took place before Miyamoto disappeared, as she is later shown to live a poverty-stricken life.
; I initially considered Madame Boss, but in KEP, Giovanni had the files.
; Smart, right?
HauntedHouseMiyamotoDiary:
opentext
writetext HauntedHouse2FBookPromptText
waitbutton
yesorno
iffalse .end
writetext HauntedHouse2FBookRead1Text
waitbutton
writetext HauntedHouse2FBookKeepGoingText
waitbutton
yesorno
iffalse .end
writetext HauntedHouse2FBookRead2Text
waitbutton
writetext HauntedHouse2FBookKeepGoingText
waitbutton
yesorno
iffalse .end
writetext HauntedHouse2FBookRead3Text
waitbutton
; fallthrough
.end
closetext
end
HauntedHouse2FBookPromptText:
text "It's a diary."
line "Read it?"
done
HauntedHouse2FBookKeepGoingText:
text "Keep reading?"
done
HauntedHouse2FBookRead1Text:
text "5th Mar 1977"
line "I've finally got"
cont "permission to"
cont "capture MEW."
para "It lives in a far"
line "off land. I mana-"
cont "ged to record a"
cont "tape and show the"
cont "boss."
para "She only cares"
line "about money, but"
cont "I just want to"
cont "pay for my girl…"
done
HauntedHouse2FBookRead2Text:
text "18th Aug 1977"
line "I caught a glimpse"
cont "of MEW! It was at"
cont "a famous harbour."
para "I just barely mis-"
line "sed it! I had the"
cont "gas and all!" ; Gassing it seems like a good way to show brutality.
para "Ugh!"
para "The boss is right."
line "She always said" ; Raise some eyebrows.
cont "I'm too kind."
done
HauntedHouse2FBookRead3Text:
text "20th Dec 1977"
line "This #MON is"
cont "harder to catch"
cont "than anticipated."
para "Were my previous"
line "encounters a mere"
cont "fluke?"
para "But! I came across"
line "some useful info…"
para "It seems to like"
line "MT. SILVER." ; Miyamoto is said to have gone to the Andes. We'll change this to Mt. Silver. It also indirectly references that one creepypasta.
para "…"
para "I'll make sure"
line "everyone knows."
cont "My daughter is"
cont "in safe hands."
para "…"
para "The rest of the"
line "pages are blank."
done
; Miyamoto recorded a tape for Madame Boss.
; This puts it in ad lib.
HauntedHouseMiyamotoRadio:
opentext
writetext HauntedHouseMiyamotoRadioPromptText
waitbutton
yesorno
iffalse .end
writetext HauntedHouseMiyamotoRadioText
waitbutton
cry EEVEE
waitsfx
cry MANKEY
waitsfx
cry BUTTERFREE
waitsfx
writetext HauntedHouseMiyamotoRadioTextCries
waitbutton
cry MEW
waitsfx
writetext HauntedHouseMiyamotoRadioTextWhatWasThat
waitbutton
.end
closetext
end
HauntedHouseMiyamotoRadioPromptText:
text "It's an old radio."
para "…there's a tape"
line "inside! Listen?"
done
HauntedHouseMiyamotoRadioText:
text "Crackle… crackle…"
para "This is MIYAMOTO"
line "speaking!"
para "We have embarked"
line "on FARAWAY ISLAND!" ; It's originally the South American jungle, but this was later made Faraway Island in Emerald. We'll make it this to prompt the player to look. This also makes Mr. Fuji's sign much more haunting.
para "Here, we will find"
line "and record the"
cont "phantom #MON,"
cont "MEW!"
para "…"
para "Country music is"
line "playing…" ; Music native to Guyana
para "…"
done
HauntedHouseMiyamotoRadioTextCries:
text "Now there's some"
line "cries…"
done
HauntedHouseMiyamotoRadioTextMyuu:
text "Myuu!"
done
HauntedHouseMiyamotoRadioTextWhatWasThat:
text "Wait, what was"
line "that?!"
para "It cuts off there…"
done
HauntedHouse2F_MapEvents:
db 0, 0 ; filler
def_warp_events
warp_event 4, 7, HAUNTED_HOUSE_FOYER, 5
warp_event 3, 7, HAUNTED_HOUSE_FOYER, 5
warp_event 18, 7, HAUNTED_HOUSE_FOYER, 6
warp_event 17, 7, HAUNTED_HOUSE_FOYER, 6
def_coord_events
def_bg_events
bg_event 4, 2, BGEVENT_READ, HauntedHouseMiyamotoDiary
bg_event 5, 2, BGEVENT_READ, HauntedHouseMiyamotoDiary ; need 2 as it covers to spaces. lots of things here do, it's a bit inefficient.
bg_event 3, 2, BGEVENT_READ, HauntedHouseMiyamotoRadio
bg_event 2, 2, BGEVENT_READ, HauntedHouse2FTVScript
bg_event 0, 5, BGEVENT_READ, HauntedHouse2FBed1Script
bg_event 0, 4, BGEVENT_READ, HauntedHouse2FBed1Script
bg_event 14, 5, BGEVENT_READ, HauntedHouse2FBed2Script
bg_event 14, 4, BGEVENT_READ, HauntedHouse2FBed2Script
def_object_events
object_event 20, 4, SPRITE_OWGENGAR, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_EMOTE, OBJECTTYPE_SCRIPT, 2, HauntedHouse2FGengarDoll, -1

BIN
maps/HauntedHouseFoyer.ablk Normal file

Binary file not shown.

View file

@ -0,0 +1,58 @@
; This is based on the unused Haunted House landmark from GSC's source code.
; Nothing is known about it except for the dummied-out name.
; Given the time frame, my idea is it may have been derived from the PC-98 Corpse Party game, which is time-appropriate and was very popular with game junkies.
; Given Game Freak ran game magazines and was basically run by nerds, I imagine they'd have heard of and/or played it. The Game Boy can easily replicate much of the graphics.
; It's not just Heavenly Host, though! It's very different! But expect some cool features a la it. Like, say...the loose boards!
; A lot of inspiration is also taken from the Old Chateau, given GSC has a deep connection with DP.
object_const_def
HauntedHouseFoyer_MapScripts:
def_scene_scripts
def_callbacks
HauntedHouseFoyerTornPosterScript:
jumptext HauntedHouseFoyerTornPosterText
HauntedHouseFoyerTornPosterText:
text "Comment to be"
line "written."
done
HauntedHouseFoyerIntactPosterScript:
jumptext HauntedHouseFoyerIntactPosterText
HauntedHouseFoyerIntactPosterText:
text "Comment to be"
line "written."
done
HauntedHouseFoyerOldBooks:
jumpstd OldBooksScript
HauntedHouseFoyerOldMagazines:
jumpstd OldMagazinesScript
HauntedHouseFoyer_MapEvents:
db 0, 0 ; filler
def_warp_events
warp_event 5, 9, ROUTE_45, 1
warp_event 6, 9, ROUTE_45, 2
warp_event 5, 4, HAUNTED_HOUSE_1F, 13
warp_event 6, 4, HAUNTED_HOUSE_1F, 14
warp_event 3, 1, HAUNTED_HOUSE_2F, 2
warp_event 8, 1, HAUNTED_HOUSE_2F, 4
def_coord_events
def_bg_events
bg_event 4, 1, BGEVENT_READ, HauntedHouseFoyerTornPosterScript
bg_event 7, 1, BGEVENT_READ, HauntedHouseFoyerIntactPosterScript
bg_event 11, 4, BGEVENT_READ, HauntedHouseFoyerOldBooks
bg_event 0, 4, BGEVENT_READ, HauntedHouseFoyerOldBooks
bg_event 1, 4, BGEVENT_READ, HauntedHouseFoyerOldMagazines
def_object_events

View file

@ -11,9 +11,6 @@ PokemonPagoda5FStatue:
PokemonPagoda5FSign:
jumptext PokemonPagoda5FSignText
PokemonPagoda5FButsudan:
jumptext PokemonPagoda5FButsudanText
PokemonPagoda5FStatueText:
text "It's a statue of"
line "ABRA."
@ -33,10 +30,6 @@ PokemonPagoda5FSignText: ; 女娲补天
cont "disaster."
done
PokemonPagoda5FButsudanText:
text "It's a butsudan!"
done
ElderRoenScript:
faceplayer
opentext
@ -61,7 +54,6 @@ PokemonPagoda5F_MapEvents:
def_bg_events
bg_event 4, 1, BGEVENT_READ, PokemonPagoda5FSign
bg_event 2, 0, BGEVENT_READ, PokemonPagoda5FStatue
bg_event 3, 0, BGEVENT_READ, PokemonPagoda5FButsudan
def_object_events
object_event 2, 3, SPRITE_SAGE, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, ElderRoenScript, -1