The Dink Network

Reply to Re: Make a better bow

If you don't have an account, just leave the password field blank.
Username:
Password:
Subject:
Antispam: Enter Dink Smallwood's last name (surname) below.
Formatting: :) :( ;( :P ;) :D >( : :s :O evil cat blood
Bold font Italic font hyperlink Code tags
Message:
 
 
December 23rd 2005, 02:42 PM
slayer.gif
rabidwolf9
Peasant He/Him United States
twitch.tv/rabidwolf9 
this should work :

//item fastfire bow

void use( void )
{
&mypower = 100;
&mydir = sp_dir(1, -1);

playsound(44, 22050,0,0,0);

&basehit = sp_dir(1, -1);
&basehit += 100;

sp_seq(1, &basehit);
sp_frame(1, 1); //reset seq to 1st frame
sp_kill_wait(1); //make sure dink will punch right away
sp_nocontrol(1, 1); //dink can't move until anim is done!
&mholdx = sp_x(1, -1);
&mholdy = sp_y(1, -1);
freeze(1);

wait(250);

if (&mydir == 6)
{
&mholdx += 30;
&junk = create_sprite(&mholdx, &mholdy, 11, 25, 6);
sp_dir(&junk, 6);
}

if (&mydir == 4)
{
&mholdx -= 30;
&junk = create_sprite(&mholdx, &mholdy, 11, 25, 4);
sp_dir(&junk, 4);
}

if (&mydir == 2)
{
&junk = create_sprite(&mholdx, &mholdy, 11, 25, 2);
sp_dir(&junk, 2);
}

if (&mydir == 8)
{
&junk = create_sprite(&mholdx, &mholdy, 11, 25, 8);
sp_dir(&junk, 8);
}

if (&mydir == 9)
{
&junk = create_sprite(&mholdx, &mholdy, 11, 25, 5);
sp_dir(&junk, 9);
}
if (&mydir == 1)
{
&junk = create_sprite(&mholdx, &mholdy, 11, 25, 1);
sp_dir(&junk, 1);
}
if (&mydir == 7)
{
&junk = create_sprite(&mholdx, &mholdy, 11, 25, 7);
sp_dir(&junk, 7);
}

if (&mydir == 3)
{
&junk = create_sprite(&mholdx, &mholdy, 11, 25, 3);
sp_dir(&junk, 3);
}

}

&mypower / 100;
&temp = &strength;
&temp / 5;

if (&temp == 0)
{
&temp = 1;
}
&mypower * &temp;
sp_timing(&junk, 0);

if (&bowlore == 1)
{
&temp = random(3, 1);

if (&temp == 1)
{
//critical hit
&mypower * 3;
playsound(44, 14050,0,0,0);

say("`4* POWER SHOT *", 1);
}
}

//create fake shadow effect

sp_speed(&junk, 6);

sp_strength(&junk, &mypower);
sp_range(&junk, 10);
//this makes it easier to hit stuff
sp_flying(&junk, 1);
sp_script(&junk, "dam-a1");
//when the fireball hits something, it will look to this script, this way
//we can burn trees when appropriate
&mshadow = create_sprite(&mholdx, &mholdy, 15, 432, 3);
sp_brain_parm(&mshadow, &junk);
sp_que(&mshadow, -500);
sp_brain_parm(&junk, 1);
sp_brain_parm2(&junk, &mshadow);
sp_nohit(&mshadow, 1);
sp_nohit(1, 1);
wait(250);
unfreeze(1);
}

void disarm(void)
{
kill_this_task();
}

void arm(void)
{
init("load_sequence_now graphics\dink\bow\walk\d-bw1- 71 43 30 84 -14 -10 14 10");
init("load_sequence_now graphics\dink\bow\walk\d-bw2- 72 43 29 86 -21 -10 19 10");
init("load_sequence_now graphics\dink\bow\walk\d-bw3- 73 43 35 79 -13 -9 13 9");
init("load_sequence_now graphics\dink\bow\walk\d-bw4- 74 43 41 79 -18 -12 20 12");

init("load_sequence_now graphics\dink\bow\walk\d-bw6- 76 43 47 78 -23 -10 23 10");
init("load_sequence_now graphics\dink\bow\walk\d-bw7- 77 43 46 71 -20 -10 20 10");
init("load_sequence_now graphics\dink\bow\walk\d-bw8- 78 43 35 76 -15 -12 15 12");
init("load_sequence_now graphics\dink\bow\walk\d-bw9- 79 43 46 78 -13 -9 13 9");

init("load_sequence_now graphics\dink\bow\idle\d-bi2- 12 250 35 87 -17 -12 16 9");
init("load_sequence_now graphics\dink\bow\idle\d-bi4- 14 250 37 77 -11 -12 16 10");
init("load_sequence_now graphics\dink\bow\idle\d-bi6- 16 250 35 83 -15 -9 11 9");
init("load_sequence_now graphics\dink\bow\idle\d-bi8- 18 250 33 70 -15 -12 15 9");

init("load_sequence_now graphics\dink\bow\hit\d-ba2- 102 25 27 89 -23 -12 24 11");
init("load_sequence_now graphics\dink\bow\hit\d-ba4- 104 25 76 79 -23 -13 23 14");
init("load_sequence_now graphics\dink\bow\hit\d-ba6- 106 25 37 81 -14 -10 14 10");
init("load_sequence_now graphics\dink\bow\hit\d-ba8- 108 25 31 89 -17 -16 17 10");

//bow weapon diags

init("load_sequence_now graphics\dink\bow\hit\d-ba1- 101 25 57 84 -20 -12 20 12");
init("load_sequence_now graphics\dink\bow\hit\d-ba3- 103 25 33 86 -19 -13 19 13");
init("load_sequence_now graphics\dink\bow\hit\d-ba7- 107 25 54 82 -19 -11 19 11");
init("load_sequence_now graphics\dink\bow\hit\d-ba9- 109 25 37 78 -21 -10 21 10");
preload_seq(25);

Debug("Quickbow armed");

int &basehit;
int &mholdx;
int &mholdy;
int &junk;
int &mshadow;
int &mydir;
int &mypower;
int &temp;
}

void pickup(void)
{
Debug("Player now owns this item.");
kill_this_task();
}

void drop(void)
{
Debug("Item dropped.");
kill_this_task();
}