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(¤t_sprite, 10);
12 sp_timing(¤t_sprite, 66);
13 sp_speed(¤t_sprite, 1);
14 sp_nohit(¤t_sprite, 0);
15 sp_exp(¤t_sprite, 400);
16 sp_base_walk(¤t_sprite, 200);
17 sp_base_death(¤t_sprite, 210);
18 sp_touch_damage(¤t_sprite, 10);
19 sp_hitpoints(¤t_sprite, 80);
20 sp_defense(¤t_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(¤t_sprite, 1);
42 return;
43 }
44
45 &mtarget = get_sprite_with_this_brain(9, ¤t_sprite);
46 if (&mtarget > 0)
47 {
48
49 &mtarget = get_rand_sprite_with_this_brain(9, ¤t_sprite);
50 sp_target(¤t_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(¤t_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(¤t_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>", ¤t_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(¤t_sprite, &enemy_sprite);
101 playsound(46, 17050, 4000, ¤t_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(¤t_sprite);
110 if (&hold != 0)
111 editor_type(&hold, 6);
112
113 &save_x = sp_x(¤t_sprite, -1);
114 &save_y = sp_y(¤t_sprite, -1);
115
116 external("emake","xlarge");
117
118 }
119