//pillbug brain void main( void ) { int &fsave_x; int &kcrap; int &fsave_y; int &resist; int &mcounter; int &mtarget; screenlock(1); sp_brain(¤t_sprite, 10); sp_timing(¤t_sprite, 66); sp_speed(¤t_sprite, 1); sp_nohit(¤t_sprite, 0); sp_exp(¤t_sprite, 400); sp_base_walk(¤t_sprite, 200); sp_base_death(¤t_sprite, 210); sp_touch_damage(¤t_sprite, 10); sp_hitpoints(¤t_sprite, 80); sp_defense(¤t_sprite, 8); preload_seq(202); preload_seq(204); preload_seq(206); preload_seq(208); preload_Seq(70); preload_Seq(166); set_callback_random("target",500,2000); } void target( void ) { //get new target &kcrap = random(9, 1); if (&life < 1) &kcrap = 2; if (&kcrap == 1) { sp_target(¤t_sprite, 1); return; } &mtarget = get_sprite_with_this_brain(16, ¤t_sprite); if (&mtarget > 0) { &mtarget = get_rand_sprite_with_this_brain(16, ¤t_sprite); sp_target(¤t_sprite, &mtarget); } } void attack( void ) { playsound(47, 22050,0,0,0); &kcrap = sp_target(¤t_sprite, -1); &fsave_x = sp_x(&kcrap, -1); &fsave_y = sp_y(&kcrap, -1); &mcounter = random(5000,3000); sp_attack_wait(¤t_sprite, &mcounter); &resist = random(40, 1); //if NPC, turn off resist option if (&kcrap != 1) &resist = 100000; if (&resist > &magic) { say("`4", ¤t_sprite); playsound(31, 12050,0,0, 0); hurt(&kcrap, 20); &fsave_y -= 29; int &spark = create_sprite(&fsave_x, &fsave_y, 7, 70, 1); sp_seq(&spark, 70); sp_que(&spark, -70); sp_speed(&spark, 5); return; } playsound(31, 44050,0,0, 0); &fsave_y -= 29; int &spark = create_sprite(&fsave_x, &fsave_y, 7, 166, 1); sp_seq(&spark, 166); sp_que(&spark, -70); say("Magic resisted.", &kcrap); } void hit( void ) { sp_target(¤t_sprite, &enemy_sprite); playsound(46, 17050, 4000, ¤t_sprite, 0); //lock on to the guy who just hit us //playsound } void die( void ) { if (get_sprite_with_this_brain(10, ¤t_sprite) == 0) { //no more brain 10 monsters here, lets unlock the screen if (&life > 0) { spawn("s5-end"); } } int &hold = sp_editor_num(¤t_sprite); if (&hold != 0) editor_type(&hold, 6); &save_x = sp_x(¤t_sprite, -1); &save_y = sp_y(¤t_sprite, -1); external("emake","xlarge"); }