Reply to Re: ice orb release
If you don't have an account, just leave the password field blank.
and the damage script...
void main( void )
{
int &mcrap;
int &scrap;
int &junk;
}
void damage( void )
{
//make dink immune
if (&missile_target == 1)
{
return;
}
//do the fireplace thing
int &isfire = sp_seq(&missile_target,-1);
if (&isfire == 86)
{
int &msavex = sp_x(&missile_target,-1);
int &msavey = sp_y(&missile_target,-1);
//kill fire
sp_active(&missile_target,0);
//shift coordinates to properly align
&msavex += 8;
&msavey -= 7;
//make empty fireplace
int &empty = create_sprite(&msavex,&msavey,0,64,6);
//shift coordinates to properly align
&msavex -= 8;
//make smoke
int &smoke = create_sprite(&msavex,&msavey,0,70,11);
sp_speed(&smoke,2);
sp_dir(&smoke,8);
//smoke que
&msavey += 25;
sp_que(&smoke,&msavey);
//sizzle
Playsound(51,22050,0,0,0);
//dink commentates on fire
say("Prevent forest fires.",1);
move(&smoke,8,-100,1);
}
//if thing we are shooting has hitpoint value
//obviously its intended for us to kill it
//so we dont need to mess with brain numbers
if (sp_hitpoints(&missile_target, -1) > 0)
{
//freezing targets
&frozen = &missile_target;
freeze(&missile_target);
spawn("frozen");
//hurt the target random amount * magic level
int &damage = random(3,1);
&damage += &magic;
//factor out targets defense
&damage -= sp_defense(&missile_target, -1);
//see if target is going to die
int &hpsu = sp_hitpoints(&missile_target, -1))
if (&damage >= &hpsu)
{
//change targets death sequence to the ice shatter one
sp_base_death(&missile_target,860);
//set the direction to play the proper sequence
sp_dir(&missile_target, 1);
//play shatter sound
Playsound(50,22050,0,0,0);
}
//factor target's defense back in
&damage += sp_defense(&missile_target, -1);
hurt(&missile_target, &damage);
}
&scrap = ¤t_sprite;
playsound(18, 8000,0,0,0);
kill_shadow(&scrap);
sp_seq(&scrap, 855);
sp_pseq(&scrap, 855);
sp_frame(&scrap, 1);
sp_brain(&scrap, 7);
&mcrap = sp_y(&scrap, -1);
&mcrap -= 35;
sp_y(&scrap, &mcrap);
&mcrap = sp_pseq(&missile_target, -1);
&scrap = sp_pframe(&missile_target, -1);
int &hold = sp_editor_num(&missile_target);
}
void main( void )
{
int &mcrap;
int &scrap;
int &junk;
}
void damage( void )
{
//make dink immune
if (&missile_target == 1)
{
return;
}
//do the fireplace thing
int &isfire = sp_seq(&missile_target,-1);
if (&isfire == 86)
{
int &msavex = sp_x(&missile_target,-1);
int &msavey = sp_y(&missile_target,-1);
//kill fire
sp_active(&missile_target,0);
//shift coordinates to properly align
&msavex += 8;
&msavey -= 7;
//make empty fireplace
int &empty = create_sprite(&msavex,&msavey,0,64,6);
//shift coordinates to properly align
&msavex -= 8;
//make smoke
int &smoke = create_sprite(&msavex,&msavey,0,70,11);
sp_speed(&smoke,2);
sp_dir(&smoke,8);
//smoke que
&msavey += 25;
sp_que(&smoke,&msavey);
//sizzle
Playsound(51,22050,0,0,0);
//dink commentates on fire
say("Prevent forest fires.",1);
move(&smoke,8,-100,1);
}
//if thing we are shooting has hitpoint value
//obviously its intended for us to kill it
//so we dont need to mess with brain numbers
if (sp_hitpoints(&missile_target, -1) > 0)
{
//freezing targets
&frozen = &missile_target;
freeze(&missile_target);
spawn("frozen");
//hurt the target random amount * magic level
int &damage = random(3,1);
&damage += &magic;
//factor out targets defense
&damage -= sp_defense(&missile_target, -1);
//see if target is going to die
int &hpsu = sp_hitpoints(&missile_target, -1))
if (&damage >= &hpsu)
{
//change targets death sequence to the ice shatter one
sp_base_death(&missile_target,860);
//set the direction to play the proper sequence
sp_dir(&missile_target, 1);
//play shatter sound
Playsound(50,22050,0,0,0);
}
//factor target's defense back in
&damage += sp_defense(&missile_target, -1);
hurt(&missile_target, &damage);
}
&scrap = ¤t_sprite;
playsound(18, 8000,0,0,0);
kill_shadow(&scrap);
sp_seq(&scrap, 855);
sp_pseq(&scrap, 855);
sp_frame(&scrap, 1);
sp_brain(&scrap, 7);
&mcrap = sp_y(&scrap, -1);
&mcrap -= 35;
sp_y(&scrap, &mcrap);
&mcrap = sp_pseq(&missile_target, -1);
&scrap = sp_pframe(&missile_target, -1);
int &hold = sp_editor_num(&missile_target);
}