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