1 //item sword1
2 
use(void)3 void use( void )
4 {
5 //disallow diagonal punches
6 
7 if (sp_dir(1, -1) == 1)
8     sp_dir(1, 2);
9 if (sp_dir(1, -1) == 3)
10     sp_dir(1, 2);
11 if (sp_dir(1, -1) == 7)
12     sp_dir(1, 8);
13 if (sp_dir(1, -1) == 9)
14     sp_dir(1, 8);
15 
16 &basehit = sp_dir(1, -1);
17 &basehit += 100; //100 is the 'base' for the hit animations, we just add
18 //the direction
19 sp_seq(1, &basehit);
20 sp_frame(1, 1); //reset seq to 1st frame
21 sp_kill_wait(1); //make sure dink will punch right away
22 sp_nocontrol(1, 1); //dink can't move until anim is done!
23 wait(200);
24 playsound(8, 8000,0,0,0);
25 
26 }
27 
disarm(void)28 void disarm(void)
29 {
30 sp_attack_hit_sound(1, 0);
31 
32 &strength -= 4;
33 sp_distance(1, 0);
34 sp_range(1, 0);
35 kill_this_task();
36 }
37 
arm(void)38 void arm(void)
39 {
40 //sword range
41 sp_distance(1, 50);
42 sp_range(1, 40);
43 //sword strength added
44 &strength += 4;
45 
46 sp_attack_hit_sound(1, 10);
47 sp_attack_hit_sound_speed(1, 8000);
48 init("load_sequence_now graphics\dink\sword\walk\d-sw1- 71 43 64 69 -14 -10 14 10");
49 init("load_sequence_now graphics\dink\sword\walk\d-sw2- 72 43 35 70 -21 -10 19 10");
50 init("load_sequence_now graphics\dink\sword\walk\d-sw3- 73 43 28 69 -13 -9 13 9");
51 init("load_sequence_now graphics\dink\sword\walk\d-sw4- 74 43 66 75 -14 -12 20 12");
52 
53 init("load_sequence_now graphics\dink\sword\walk\d-sw6- 76 43 27 69 -23 -10 23 10");
54 init("load_sequence_now graphics\dink\sword\walk\d-sw7- 77 43 38 94 -20 -10 20 10");
55 init("load_sequence_now graphics\dink\sword\walk\d-sw8- 78 43 30 96 -15 -12 15 12");
56 init("load_sequence_now graphics\dink\sword\walk\d-sw9- 79 43 31 80 -13 -9 13 9");
57 
58 init("load_sequence_now graphics\dink\sword\idle\d-si2- 12 250 74 73 -17 -12 16 9");
59 init("load_sequence_now graphics\dink\sword\idle\d-si4- 14 250 57 103 -11 -12 16 10");
60 init("load_sequence_now graphics\dink\sword\idle\d-si6- 16 250 30 92 -15 -9 11 9");
61 init("load_sequence_now graphics\dink\sword\idle\d-si8- 18 250 35 106 -15 -12 15 9");
62 
63 init("load_sequence_now graphics\dink\sword\hit\d-sa2- 102 75 52 92 -23 -12 24 11");
64 init("load_sequence_now graphics\dink\sword\hit\d-sa4- 104 75 74 90 -23 -13 23 14");
65 init("load_sequence_now graphics\dink\sword\hit\d-sa6- 106 75 33 92 -18 -14 18 10");
66 init("load_sequence_now graphics\dink\sword\hit\d-sa8- 108 75 46 109 -17 -16 17 10");
67 int &basehit;
68 }
69 
pickup(void)70 void pickup(void)
71 {
72 Debug("Player now owns this item.");
73 kill_this_task();
74 }
75 
holdingdrop(void)76 void holdingdrop( void )
77 {
78  //this is run if the item is dropped while it is armed
79 init("load_sequence_now graphics\dink\walk\ds-w1- 71 43 38 72 -14 -9 14 9");
80 init("load_sequence_now graphics\dink\walk\ds-w2- 72 43 37 69 -13 -9 13 9");
81 init("load_sequence_now graphics\dink\walk\ds-w3- 73 43 38 72 -14 -9 14 9");
82 init("load_sequence_now graphics\dink\walk\ds-w4- 74 43 38 72 -12 -9 12 9");
83 
84 init("load_sequence_now graphics\dink\walk\ds-w6- 76 43 38 72 -13 -9 13 9");
85 init("load_sequence_now graphics\dink\walk\ds-w7- 77 43 38 72 -12 -10 12 10");
86 init("load_sequence_now graphics\dink\walk\ds-w8- 78 43 37 69 -13 -9 13 9");
87 init("load_sequence_now graphics\dink\walk\ds-w9- 79 43 38 72 -14 -9 14 9");
88 
89 init("load_sequence_now graphics\dink\idle\ds-i2- 12 250 33 70 -12 -9 12 9");
90 init("load_sequence_now graphics\dink\idle\ds-i4- 14 250 30 71 -11 -9 11 9");
91 init("load_sequence_now graphics\dink\idle\ds-i6- 16 250 36 70 -11 -9 11 9");
92 init("load_sequence_now graphics\dink\idle\ds-i8- 18 250 32 68 -12 -9 12 9");
93 
94 }
95 
drop(void)96 void drop(void)
97 {
98 Debug("Item dropped.");
99 kill_this_task();
100 }
101 
102 
103