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
118
119
120
121
122
123
124
125
126
127
128
129
130
|
Bug_Drop:
PUSH DE
LD D, $64
LD E, $02
CALL =RNG_Step
AND $03
CP $00
CALL Z, =Spawn_object
POP DE
RET
Bug_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
LD A, $mem_moving_animation_step
CP $00
JR NZ, =.attack_end
.ENTITY_TRY_ATTACK =Poison_sight_check =Poison_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)
DBG
.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:
.Die_After_Attack:
LD A, $mem_moving_animation_step
CP $07
JR NZ, =.Die_After_Attack.end
LD A, L
AND $f0
OR $07
LD L, A
BIT 2, (HL)
JR Z, =.Die_After_Attack.end
DEC HL
LD (HL), $00
.Die_After_Attack.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
|