1 //pillbug brain
2 
main(void)3 void main( void )
4 {
5 int &fsave_x;
6 int &kcrap;
7 int &fsave_y;
8 int &resist;
9 int &mcounter;
10 int &mtarget;
11 sp_brain(&current_sprite, 10);
12 sp_timing(&current_sprite, 66);
13 sp_speed(&current_sprite, 1);
14 sp_nohit(&current_sprite, 0);
15 sp_exp(&current_sprite, 400);
16 sp_base_walk(&current_sprite, 200);
17 sp_base_death(&current_sprite, 210);
18 sp_touch_damage(&current_sprite, 10);
19 sp_hitpoints(&current_sprite, 80);
20 sp_defense(&current_sprite, 8);
21 preload_seq(202);
22 preload_seq(204);
23 preload_seq(206);
24 preload_seq(208);
25 preload_Seq(70);
26 preload_Seq(166);
27 
28 set_callback_random("target",500,2000);
29 
30 }
31 
target(void)32 void target( void )
33 {
34     //get new target
35 &kcrap = random(2, 1);
36 if (&life < 1)
37   &kcrap = 2;
38 
39 if (&kcrap == 1)
40  {
41  sp_target(&current_sprite, 1);
42  return;
43  }
44 
45         &mtarget = get_sprite_with_this_brain(9, &current_sprite);
46         if (&mtarget > 0)
47           {
48 
49            &mtarget = get_rand_sprite_with_this_brain(9, &current_sprite);
50            sp_target(&current_sprite, &mtarget);
51           }
52 
53 }
54 
55 
56 
57 
attack(void)58 void attack( void )
59 {
60 
61   playsound(47, 22050,0,0,0);
62 
63         &kcrap = sp_target(&current_sprite, -1);
64 &fsave_x = sp_x(&kcrap, -1);
65 &fsave_y = sp_y(&kcrap, -1);
66         &mcounter = random(5000,3000);
67         sp_attack_wait(&current_sprite, &mcounter);
68 
69 &resist = random(40, 1);
70 
71 //if NPC, turn off resist option
72 if (&kcrap != 1)
73 &resist = 100000;
74 
75 if (&resist > &magic)
76         {
77         say("`4<Casts harm>", &current_sprite);
78 
79         playsound(31, 12050,0,0, 0);
80         hurt(&kcrap, 20);
81 
82         &fsave_y -= 29;
83         int &spark = create_sprite(&fsave_x, &fsave_y, 7, 70, 1);
84         sp_seq(&spark, 70);
85         sp_que(&spark, -70);
86         sp_speed(&spark, 5);
87         return;
88         }
89 
90         playsound(31, 44050,0,0, 0);
91         &fsave_y -= 29;
92         int &spark = create_sprite(&fsave_x, &fsave_y, 7, 166, 1);
93         sp_seq(&spark, 166);
94         sp_que(&spark, -70);
95         say("Magic resisted.", &kcrap);
96 }
97 
hit(void)98 void hit( void )
99 {
100 sp_target(&current_sprite, &enemy_sprite);
101 playsound(46, 17050, 4000, &current_sprite, 0);
102 //lock on to the guy who just hit us
103 //playsound
104 }
105 
die(void)106 void die( void )
107 {
108 
109   int &hold = sp_editor_num(&current_sprite);
110   if (&hold != 0)
111   editor_type(&hold, 6);
112 
113 &save_x = sp_x(&current_sprite, -1);
114 &save_y = sp_y(&current_sprite, -1);
115 
116  external("emake","xlarge");
117 
118 }
119