26 /* stand facing, wait 2 frames before any action */
28 set [spr_num], PSPR_FACING
29 set [spr_dir], DIR_LEFT
30 set [prof_dir], PDIR_FACING
38 set [spr_num], PSPR_FACING
39 set [spr_dir], DIR_LEFT
40 set [prof_dir], PDIR_FACING
48 jeq .nofan, [game_fan_dx_v], 0
49 set [prof_dir], [game_fan_dx_v]
51 jmp game_check_do_slide_move
58 jne game_do_door_exit, 0
59 bsr game_check_monster_eating
61 ; if we are still here, there was no falling
62 jne .pick_facing, [key_take], 0
64 jeq .nouse, [prof_item], 0
65 jne .use_facing, [key_use], 0
68 jeq .nowc, [key_walk_cheat], 0
70 jne game_cheat_up, [key_up], 0
71 jne game_cheat_down, [key_down], 0
76 jne .no_lift, FTILE_LIFT
77 jne .lift_up, [key_up], 0
78 jne .lift_down, [key_down], 0
81 jne game_turning_right, [key_right], 0
82 jne game_turning_left, [key_left], 0
86 jle .no_lift, [pos_y], 4
95 new entry_lift, [.tid]
96 set pos_x, [pos_x], [.tid]
97 set pos_y, [pos_y], [.tid]
98 set pos_ty, -2, [.tid]
110 msf [pos_x], [pos_y], FTILE_LIFT
114 set [.tid], [map_height]
116 jge .no_lift, [pos_y], [.tid]
117 ; have space at bottom?
125 new entry_lift, [.tid]
126 set pos_x, [pos_x], [.tid]
127 set pos_y, [pos_y], [.tid]
128 set pos_ty, 2, [.tid]
140 msf [pos_x], [pos_y], FTILE_LIFT
144 get [prof_item], item_id
145 jne .nouse, ITEM_DRILL
148 jeq game_no_no, FTILE_LIFT
150 jge game_no_no, FTILE_STEEL
152 new entry_drill, [.tid]
153 set pos_x, [pos_x], [.tid]
154 set pos_y, [pos_y], [.tid]
157 set [spr_num], PSPR_DRILLING0
159 set [spr_num], PSPR_DRILLING1
163 set [spr_num], PSPR_FACING
171 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
174 bsr prof_turn_to_player
182 set [prof_dir], PDIR_LEFT
185 set [prof_dir], PDIR_RIGHT
196 jne game_do_door_exit, 0
197 bsr game_check_monster_eating
199 ; if we are still here, there was no falling
200 jeq .nopickup, [key_take], 0
202 jmp game_lr_stand_loop
205 jeq .nouse, [prof_item], 0
206 jne .use_item, [key_use], 0
209 jeq .nowc, [key_walk_cheat], 0
210 psh game_lr_stand_loop
211 jne game_cheat_up, [key_up], 0
212 jne game_cheat_down, [key_down], 0
216 jeq .nojump, [key_up], 0
218 ; returns? can't jump
220 jeq .noturnface, [key_down], 0
221 set [prof_dir], PDIR_FACING
225 jne .walk_right, [key_right], 0
226 jne .walk_left, [key_left], 0
229 jmp game_lr_stand_loop
232 jeq .walk, [prof_dir], PDIR_RIGHT
233 set [prof_dir], PDIR_RIGHT
235 jmp game_lr_stand_loop
238 jeq .walk, [prof_dir], PDIR_LEFT
239 set [prof_dir], PDIR_LEFT
241 jmp game_lr_stand_loop
246 jmp game_do_side_move