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
|
Mouse_Drop:
PUSH DE
LD D, $64
LD E, $02
CALL =RNG_Step
AND $03
CP $00
CALL Z, =Spawn_object
POP DE
RET
Mouse_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
.ENTITY_HEALTH_CHECK =.Skip_turn =Mouse_Drop
.ENTITY_FREEZE_SHIVER =.Skip_turn
.ENTITY_STATUS_SKIP_TURN =.Skip_turn
.RESET_BLINKING_MODE
.ENTITY_TRY_ATTACK =Check_player_next_to =Basic_Enemy_Attack =.attack_end
CALL =Walking
BIT 3, D
JR Z, =.attack_end
LD A, L
AND $f0
OR $0a
LD L, A
LD (HL), $05
LD A, (HL)
.attack_end:
.Mid_movement:
LD A, $mem_moving_animation_step
CP $07
JR NZ, =.Mid_movement.end
BIT 3, D
JR Z, =.Mid_movement.end
LD A, L
AND $f0
OR $0a
LD L, A
LD A, $05
CP (HL)
LD A, (HL)
JR NZ, =.Mid_movement.end
LD A, L
AND $f0
OR $0a
LD L, A
LD (HL), $00
LD A, D
RES 3, A
LD D, A
LD A, $01
.ADD_A_TO_DIRECTION_BC
.Mid_movement.Try_Walking:
PUSH DE
CALL =Walking
BIT 3, D
JR Z, =.Mid_movement.Walk_cancelled
LD A, L
AND $f0
OR $0a
LD L, A
LD (HL), $05
ADD SP, $02
JR =.Mid_movement.end
.Mid_movement.Walk_cancelled:
POP DE
RES 3, D
.Mid_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
|