aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/SeafoamIslandsB1F.asm
blob: 7558e95bc9c86ca7f7f4cc2a6ddcab7c80084b1a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
SeafoamIslandsB1F_Script:
	call EnableAutoTextBoxDrawing
	ld hl, wMiscFlags
	bit BIT_PUSHED_BOULDER, [hl]
	res BIT_PUSHED_BOULDER, [hl]
	jr z, .noBoulderWasPushed
	ld hl, Seafoam2HolesCoords
	call CheckBoulderCoords
	ret nc
	EventFlagAddress hl, EVENT_SEAFOAM2_BOULDER1_DOWN_HOLE
	ld a, [wCoordIndex]
	cp $1
	jr nz, .boulder2FellDownHole
	SetEventReuseHL EVENT_SEAFOAM2_BOULDER1_DOWN_HOLE
	ld a, TOGGLE_SEAFOAM_ISLANDS_B1F_BOULDER_1
	ld [wObjectToHide], a
	ld a, TOGGLE_SEAFOAM_ISLANDS_B2F_BOULDER_1
	ld [wObjectToShow], a
	jr .hideAndShowBoulderObjects
.boulder2FellDownHole
	SetEventAfterBranchReuseHL EVENT_SEAFOAM2_BOULDER2_DOWN_HOLE, EVENT_SEAFOAM2_BOULDER1_DOWN_HOLE
	ld a, TOGGLE_SEAFOAM_ISLANDS_B1F_BOULDER_2
	ld [wObjectToHide], a
	ld a, TOGGLE_SEAFOAM_ISLANDS_B2F_BOULDER_2
	ld [wObjectToShow], a
.hideAndShowBoulderObjects
	ld a, [wObjectToHide]
	ld [wToggleableObjectIndex], a
	predef HideObject
	ld a, [wObjectToShow]
	ld [wToggleableObjectIndex], a
	predef_jump ShowObject
.noBoulderWasPushed
	ld a, SEAFOAM_ISLANDS_B2F
	ld [wDungeonWarpDestinationMap], a
	ld hl, Seafoam2HolesCoords
	jp IsPlayerOnDungeonWarp

Seafoam2HolesCoords:
	dbmapcoord 18,  6
	dbmapcoord 23,  6
	db -1 ; end

SeafoamIslandsB1F_TextPointers:
	def_text_pointers
	dw_const BoulderText, TEXT_SEAFOAMISLANDSB1F_BOULDER1
	dw_const BoulderText, TEXT_SEAFOAMISLANDSB1F_BOULDER2