mirror of
https://github.com/thornAvery/jep-hack.git
synced 2025-09-17 02:30:50 +12:00
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:
parent
4905e4246f
commit
6e832f06d8
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
Binary file not shown.
|
@ -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
|
||||
|
|
Binary file not shown.
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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 |
|
@ -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
BIN
maps/HauntedHouse1F.ablk
Normal file
Binary file not shown.
77
maps/HauntedHouse1F.asm
Normal file
77
maps/HauntedHouse1F.asm
Normal 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
BIN
maps/HauntedHouse2F.ablk
Normal file
Binary file not shown.
261
maps/HauntedHouse2F.asm
Normal file
261
maps/HauntedHouse2F.asm
Normal 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
BIN
maps/HauntedHouseFoyer.ablk
Normal file
Binary file not shown.
58
maps/HauntedHouseFoyer.asm
Normal file
58
maps/HauntedHouseFoyer.asm
Normal 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
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue