A monster that can assault...but nothing happend...
I used a bonca's sketelon,and that bonca just be that normal bonca!
I want the bonca can launch am assault(speed up to 5) when hit,and back to normal then it attacks...
This is my script.
//Bonca..medium strength
void main( void )
{
int &mcounter;
int &mtarget; //I add this!
int &mcrap; //I add this!
int &assault; //I add this!
int &mdamage; //I add this!
sp_brain(¤t_sprite, 9);
sp_speed(¤t_sprite, 1);
sp_distance(¤t_sprite, 50);
sp_timing(¤t_sprite, 33);
sp_exp(¤t_sprite, 30);
sp_base_walk(¤t_sprite, 530);
sp_base_death(¤t_sprite, 550);
sp_base_attack(¤t_sprite, 540);
sp_defense(¤t_sprite, 3);
sp_strength(¤t_sprite, 8);
sp_touch_damage(¤t_sprite, 4);
sp_hitpoints(¤t_sprite, 20);
preload_seq(531);
preload_seq(533);
preload_seq(537);
preload_seq(539);
preload_seq(551);
preload_seq(553);
preload_seq(557);
preload_seq(559);
preload_seq(542);
preload_seq(544);
preload_seq(546);
preload_seq(548);
loop: //I add this!
&mtarget = sp_target(¤t_sprite,-1);
if (&assault = 1)
{
if (&mtarget > 0)
{
assault();
goto loop;
}
}
sp_speed(¤t_sprite,1);
} //I add this!
void hit( void )
{
playsound(29, 22050,0,¤t_sprite, 0);
sp_target(¤t_sprite, &enemy_sprite);
&assault = 1; //I add this!
//lock on to the guy who just hit us
//playsound
}
void die( void )
{
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","medium");
}
void attack( void )
{
playsound(31, 22050,0,¤t_sprite, 0);
&assault = 0; //I add this!
&mcounter = random(4000,0);
sp_attack_wait(¤t_sprite, &mcounter);
}
//I add this!
void assault(void)
{
say("<Quick raid>",¤t_sprite);
sp_speed(¤t_sprite,5);
&mcrap = random(7,1);
if (&mcrap < 4)
{
&mdamage = sp_defense(¤t_sprite,-1);
&mdamage += 1;
hurt(¤t_sprite,&mdamage);
}
return;
}
I want the bonca can launch am assault(speed up to 5) when hit,and back to normal then it attacks...
This is my script.
//Bonca..medium strength
void main( void )
{
int &mcounter;
int &mtarget; //I add this!
int &mcrap; //I add this!
int &assault; //I add this!
int &mdamage; //I add this!
sp_brain(¤t_sprite, 9);
sp_speed(¤t_sprite, 1);
sp_distance(¤t_sprite, 50);
sp_timing(¤t_sprite, 33);
sp_exp(¤t_sprite, 30);
sp_base_walk(¤t_sprite, 530);
sp_base_death(¤t_sprite, 550);
sp_base_attack(¤t_sprite, 540);
sp_defense(¤t_sprite, 3);
sp_strength(¤t_sprite, 8);
sp_touch_damage(¤t_sprite, 4);
sp_hitpoints(¤t_sprite, 20);
preload_seq(531);
preload_seq(533);
preload_seq(537);
preload_seq(539);
preload_seq(551);
preload_seq(553);
preload_seq(557);
preload_seq(559);
preload_seq(542);
preload_seq(544);
preload_seq(546);
preload_seq(548);
loop: //I add this!
&mtarget = sp_target(¤t_sprite,-1);
if (&assault = 1)
{
if (&mtarget > 0)
{
assault();
goto loop;
}
}
sp_speed(¤t_sprite,1);
} //I add this!
void hit( void )
{
playsound(29, 22050,0,¤t_sprite, 0);
sp_target(¤t_sprite, &enemy_sprite);
&assault = 1; //I add this!
//lock on to the guy who just hit us
//playsound
}
void die( void )
{
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","medium");
}
void attack( void )
{
playsound(31, 22050,0,¤t_sprite, 0);
&assault = 0; //I add this!
&mcounter = random(4000,0);
sp_attack_wait(¤t_sprite, &mcounter);
}
//I add this!
void assault(void)
{
say("<Quick raid>",¤t_sprite);
sp_speed(¤t_sprite,5);
&mcrap = random(7,1);
if (&mcrap < 4)
{
&mdamage = sp_defense(¤t_sprite,-1);
&mdamage += 1;
hurt(¤t_sprite,&mdamage);
}
return;
}
Do I have to use that loop in the main procedure?
maybe not...
maybe not...