1 //item fists
2
use(void)3 void use( void )
4 {
5 activate_bow();
6 &mypower = get_last_bow_power();
7
8 &mholdx = sp_x(1, -1);
9 &mholdy = sp_y(1, -1);
10
11 &mydir = sp_dir(1, -1);
12
13 if (&mypower < 100)
14 {
15 return;
16 }
17
18
19 playsound(44, 22050,0,0,0);
20
21
22 if (&mydir == 6)
23 {
24 &mholdx += 30;
25 &junk = create_sprite(&mholdx, &mholdy, 11, 25, 6);
26 sp_dir(&junk, 6);
27 }
28
29 if (&mydir == 4)
30 {
31 &mholdx -= 30;
32 &junk = create_sprite(&mholdx, &mholdy, 11, 25, 4);
33 sp_dir(&junk, 4);
34 }
35
36 if (&mydir == 2)
37 {
38 &junk = create_sprite(&mholdx, &mholdy, 11, 25, 2);
39 sp_dir(&junk, 2);
40 }
41
42 if (&mydir == 8)
43 {
44 &junk = create_sprite(&mholdx, &mholdy, 11, 25, 8);
45 sp_dir(&junk, 8);
46 }
47
48 if (&mydir == 9)
49 {
50 &junk = create_sprite(&mholdx, &mholdy, 11, 25, 5);
51 sp_dir(&junk, 9);
52 }
53 if (&mydir == 1)
54 {
55 &junk = create_sprite(&mholdx, &mholdy, 11, 25, 1);
56 sp_dir(&junk, 1);
57 }
58 if (&mydir == 7)
59 {
60 &junk = create_sprite(&mholdx, &mholdy, 11, 25, 7);
61 sp_dir(&junk, 7);
62 }
63
64 if (&mydir == 3)
65 {
66 &junk = create_sprite(&mholdx, &mholdy, 11, 25, 3);
67 sp_dir(&junk, 3);
68 }
69
70 &mypower / 100;
71 &temp = &strength;
72 &temp / 5;
73
74
75 if (&temp == 0)
76 {
77 &temp = 1;
78 }
79 &mypower * &temp;
80 sp_timing(&junk, 0);
81
82 if (&bowlore == 1)
83 {
84 &temp = random(3, 1);
85
86 if (&temp == 1)
87 {
88 //critical hit
89 &mypower * 3;
90 playsound(44, 14050,0,0,0);
91
92 say("`4* POWER SHOT *", 1);
93 }
94 }
95 sp_speed(&junk, 6);
96
97 sp_strength(&junk, &mypower);
98 sp_range(&junk, 10);
99 //this makes it easier to hit stuff
100 sp_flying(&junk, 1);
101 sp_script(&junk, "dam-a1");
102 //when the fireball hits something, it will look to this script, this way
103 //we can burn trees when appropriate
104 &mshadow = create_sprite(&mholdx, &mholdy, 15, 432, 3);
105 sp_brain_parm(&mshadow, &junk);
106 sp_que(&mshadow, -500);
107 sp_brain_parm(&junk, 1);
108 sp_brain_parm2(&junk, &mshadow);
109 sp_nohit(&mshadow, 1);
110
111
112 return;
113 }
114
disarm(void)115 void disarm(void)
116 {
117 kill_this_task();
118 }
119
arm(void)120 void arm(void)
121 {
122 int &junk;
123 int &mydir;
124 int &mholdx;
125 int &mholdy;
126 int &mshadow;
127 int &mypower;
128 int &temp;
129 init("load_sequence_now graphics\dink\bow\walk\d-bw1- 71 43 30 84 -14 -10 14 10");
130 init("load_sequence_now graphics\dink\bow\walk\d-bw2- 72 43 29 86 -21 -10 19 10");
131 init("load_sequence_now graphics\dink\bow\walk\d-bw3- 73 43 35 79 -13 -9 13 9");
132 init("load_sequence_now graphics\dink\bow\walk\d-bw4- 74 43 41 79 -18 -12 20 12");
133
134 init("load_sequence_now graphics\dink\bow\walk\d-bw6- 76 43 47 78 -23 -10 23 10");
135 init("load_sequence_now graphics\dink\bow\walk\d-bw7- 77 43 46 71 -20 -10 20 10");
136 init("load_sequence_now graphics\dink\bow\walk\d-bw8- 78 43 35 76 -15 -12 15 12");
137 init("load_sequence_now graphics\dink\bow\walk\d-bw9- 79 43 46 78 -13 -9 13 9");
138
139 init("load_sequence_now graphics\dink\bow\idle\d-bi2- 12 250 35 87 -17 -12 16 9");
140 init("load_sequence_now graphics\dink\bow\idle\d-bi4- 14 250 37 77 -11 -12 16 10");
141 init("load_sequence_now graphics\dink\bow\idle\d-bi6- 16 250 35 83 -15 -9 11 9");
142 init("load_sequence_now graphics\dink\bow\idle\d-bi8- 18 250 33 70 -15 -12 15 9");
143
144 init("load_sequence_now graphics\dink\bow\hit\d-ba2- 102 75 27 89 -23 -12 24 11");
145 init("load_sequence_now graphics\dink\bow\hit\d-ba4- 104 75 76 79 -23 -13 23 14");
146 init("load_sequence_now graphics\dink\bow\hit\d-ba6- 106 75 37 81 -14 -10 14 10");
147 init("load_sequence_now graphics\dink\bow\hit\d-ba8- 108 75 31 89 -17 -16 17 10");
148
149 //bow weapon diags
150
151 init("load_sequence_now graphics\dink\bow\hit\d-ba1- 101 75 57 84 -20 -12 20 12");
152 init("load_sequence_now graphics\dink\bow\hit\d-ba3- 103 75 33 86 -19 -13 19 13");
153 init("load_sequence_now graphics\dink\bow\hit\d-ba7- 107 75 54 82 -19 -11 19 11");
154 init("load_sequence_now graphics\dink\bow\hit\d-ba9- 109 75 37 78 -21 -10 21 10");
155 preload_seq(25);
156 }
157
pickup(void)158 void pickup(void)
159 {
160 Debug("Player now owns this item.");
161 kill_this_task();
162 }
163
drop(void)164 void drop(void)
165 {
166 Debug("Item dropped.");
167 kill_this_task();
168 }
169
170
171