item falling ok; monster ok; dynamite ok
[awish.git] / asm / use_dynamite.awa
blob7d76003e90dda7923a449020845016868ecf6487
1 game_use_dynamite:
2   deflvar: .dx, .sign, .t
3   ;
4   set [.dx], 1
5   set [.sign], 1
6   jeq .right, [prof_dir], DIR_RIGHT
7   set [.dx], -1
8   set [.sign], -1
9 .right:
10   ;
11   psh [pos_x]
12   psh [.sign]
13   add
14   psh [pos_y]
15   psh 2
16   sub
17   mgf
18   jgt game_no_no, 0
19   ;
20   set pos_ty, -12, [prof_item]
21   set frozen, 1, [prof_item]
22   res [prof_item]
23   ;
24   set [.dx], 8
25 .mrloop:
26   add [.dx], 2
27   set [.t], [.dx]
28   mul [.t], [.sign]
29   set pos_tx, [.t], [prof_item]
30   bsr game_next_frame
31   ;
32   jne .nor15, [.dx], 12
33   set [spr_num], 15
34 .nor15:
35   ;
36   jle .mrloop, [.dx], 20
37   ;
38   set [spr_num], 0
39   ;
40   add [pos_x], [.sign], [.t]
41   set pos_x, [.t], [prof_item]
42   sub [pos_y], 1, [.t]
43   set pos_y, [.t], [prof_item]
44   set pos_tx, 0, [prof_item]
45   set pos_ty, 0, [prof_item]
46   set frozen, 0, [prof_item]
47   set activated, 1, [prof_item]
48   set item_id, ITEM_DYNAMITE, [prof_item]
49   set [prof_item], 0
50 .quit:
51   ret