aboutsummaryrefslogtreecommitdiff
path: root/entity/questgoal.gbasm
blob: 17eecb8eb94f017d203845a1cb0e48bfb0975d95 (plain)
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
Open_Dialogue:
	LD A, L
	AND $f0
	LD L, A

	INC HL

	LD A, $mem_bunny_x
	CP (HL)
	JR Z, =.Vertical_check

	.Horizontal_check:
		INC A
		CP (HL)
		JR Z, =.Left
		.Right:
			INC HL
			INC HL
			LD (HL), $enum_direction_right
			JR =.Check_end
		.Left:
			INC HL
			INC HL
			LD (HL), $enum_direction_left
			JR =.Check_end
	.Vertical_check:
		INC HL
		LD A, $mem_bunny_y
		INC A
		CP (HL)
		JR Z, =.Up
		.Down:
			INC HL
			LD (HL), $enum_direction_down
			JR =.Check_end
		.Up:
			INC HL
			LD (HL), $enum_direction_up
			JR =.Check_end
	.Check_end:
	LD A, (HL)
	SWAP A
	OR (HL)
	LD (HL), A

	.START_SCRIPT =Demo_quest_bunny

	LD A, $00
	LD $mem_bunny_animation, A

	LD A, $enum_dungeon_dialogue_mode
	LD $mem_requested_mode, A
	RET

QuestGoal_Turn:
	LD A, $mem_map_loading_flags
	BIT 3, A
	RET Z

	PUSH HL
	PUSH BC
	PUSH DE
	INC HL
	LD A, (HL+)
	LD B, A
	LD A, (HL+)
	LD C, A
	LD A, (HL+)
	LD D, A

	.Start_action_or_movement:
		LD A, $mem_moving_animation_step
		CP $00
		JP NZ, =.Start_action_or_movement.end

		.Try_Walking:

		CALL =RNG_Step
		BIT 0, A
		JR Z, =.Start_action_or_movement.end

		CALL =Walking.Random_walker
	.Start_action_or_movement.end:

	CALL =Entity_End_movement

	.Skip_Turn:
	LD A, L
	AND $f0
	LD L, A
	INC HL
	LD A, B
	LD (HL+), A
	LD A, C
	LD (HL+), A
	LD A, D
	LD (HL+), A
	POP DE
	POP BC
	POP HL
	RET

Static_Human_Turn:
	LD A, $mem_map_loading_flags
	BIT 3, A
	RET Z

	INC HL
	INC HL
	INC HL

	LD (HL), $11

	DEC HL
	DEC HL
	DEC HL
	RET