Reply to Herb Boots with normal punch speed script
If you don't have an account, just leave the password field blank.
I figure someone could get some use out of this if you (like me) think the super fast attack speed of the herb boots is extremely overpowered, but still wish to have the herb boots movement speed in there. And best of all you can still attack, but it won't be extremely fast.
Here is the script, in two different versions:
Juggle variable version (only works if you have &jug called in Main.c):
Int version (uses an int, but can be used without calling any juggle variables):
Let me know if you have any problems with these scripts.
By the way, using the method in this script to adjust frame delay, you can actually make your own attack speed for weapons. Very useful information for adding some spice to a DMOD. Also, I don't think I've seen it done before, although correct me if there is a DMOD that has variable attack speed weapons besides the herb boots.
Here is the script, in two different versions:
Juggle variable version (only works if you have &jug called in Main.c):
//herb boots except punches at roughly Dink's normal attack speed //so it's almost twice as slow as normal herb boots. void use( void ) { //don't attack fast sp_frame_delay(1, 0); &jug = sp_dir(1, -1); //setting dir to itself prevents delay before punching when idle sp_dir(1, &jug); //disallow diagonal punches if (sp_dir(1, -1) == 1) sp_dir(1, 2); if (sp_dir(1, -1) == 3) sp_dir(1, 2); if (sp_dir(1, -1) == 7) sp_dir(1, 8); if (sp_dir(1, -1) == 9) sp_dir(1, 8); &jug = sp_dir(1, -1); &jug += 100; //100 is the 'base' for the hit animations, we just add //the direction sp_seq(1, &jug); 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! playsound(8, 8000,0,0,0); wait(300); sp_frame_delay(1, 30); } void disarm(void) { set_dink_speed(3); sp_frame_delay(1, 0); debug("Disarming boots"); kill_this_task(); } void arm(void) { sp_attack_hit_sound(1, 0); set_dink_speed(2); sp_frame_delay(1, 30); debug("arming boots"); init("load_sequence_now graphics\dink\walk\ds-w1- 71 43 38 72 -14 -9 14 9"); init("load_sequence_now graphics\dink\walk\ds-w2- 72 43 37 69 -13 -9 13 9"); init("load_sequence_now graphics\dink\walk\ds-w3- 73 43 38 72 -14 -9 14 9"); init("load_sequence_now graphics\dink\walk\ds-w4- 74 43 38 72 -12 -9 12 9"); init("load_sequence_now graphics\dink\walk\ds-w6- 76 43 38 72 -13 -9 13 9"); init("load_sequence_now graphics\dink\walk\ds-w7- 77 43 38 72 -12 -10 12 10"); init("load_sequence_now graphics\dink\walk\ds-w8- 78 43 37 69 -13 -9 13 9"); init("load_sequence_now graphics\dink\walk\ds-w9- 79 43 38 72 -14 -9 14 9"); init("load_sequence_now graphics\dink\idle\ds-i2- 12 250 33 70 -12 -9 12 9"); init("load_sequence_now graphics\dink\idle\ds-i4- 14 250 30 71 -11 -9 11 9"); init("load_sequence_now graphics\dink\idle\ds-i6- 16 250 36 70 -11 -9 11 9"); init("load_sequence_now graphics\dink\idle\ds-i8- 18 250 32 68 -12 -9 12 9"); init("load_sequence_now graphics\dink\hit\normal\ds-h2- 102 75 60 72 -19 -9 19 9"); init("load_sequence_now graphics\dink\hit\normal\ds-h4- 104 75 61 73 -19 -10 19 10"); init("load_sequence_now graphics\dink\hit\normal\ds-h6- 106 75 58 71 -18 -10 18 10"); init("load_sequence_now graphics\dink\hit\normal\ds-h8- 108 75 61 71 -19 -10 19 10"); } void pickup(void) { Debug("Player now owns this item."); kill_this_task(); } void drop(void) { Debug("Item dropped."); kill_this_task(); }
Int version (uses an int, but can be used without calling any juggle variables):
//herb boots except punches at roughly Dink's normal attack speed //so it's almost twice as slow as normal herb boots. void use( void ) { int &junk; //don't attack fast sp_frame_delay(1, 0); &junk = sp_dir(1, -1); //setting dir to itself prevents delay before punching when idle sp_dir(1, &junk); //disallow diagonal punches if (sp_dir(1, -1) == 1) sp_dir(1, 2); if (sp_dir(1, -1) == 3) sp_dir(1, 2); if (sp_dir(1, -1) == 7) sp_dir(1, 8); if (sp_dir(1, -1) == 9) sp_dir(1, 8); &junk = sp_dir(1, -1); &junk += 100; //100 is the 'base' for the hit animations, we just add //the direction sp_seq(1, &junk); 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! playsound(8, 8000,0,0,0); wait(300); sp_frame_delay(1, 30); } void disarm(void) { set_dink_speed(3); sp_frame_delay(1, 0); debug("Disarming boots"); kill_this_task(); } void arm(void) { sp_attack_hit_sound(1, 0); set_dink_speed(2); sp_frame_delay(1, 30); debug("arming boots"); init("load_sequence_now graphics\dink\walk\ds-w1- 71 43 38 72 -14 -9 14 9"); init("load_sequence_now graphics\dink\walk\ds-w2- 72 43 37 69 -13 -9 13 9"); init("load_sequence_now graphics\dink\walk\ds-w3- 73 43 38 72 -14 -9 14 9"); init("load_sequence_now graphics\dink\walk\ds-w4- 74 43 38 72 -12 -9 12 9"); init("load_sequence_now graphics\dink\walk\ds-w6- 76 43 38 72 -13 -9 13 9"); init("load_sequence_now graphics\dink\walk\ds-w7- 77 43 38 72 -12 -10 12 10"); init("load_sequence_now graphics\dink\walk\ds-w8- 78 43 37 69 -13 -9 13 9"); init("load_sequence_now graphics\dink\walk\ds-w9- 79 43 38 72 -14 -9 14 9"); init("load_sequence_now graphics\dink\idle\ds-i2- 12 250 33 70 -12 -9 12 9"); init("load_sequence_now graphics\dink\idle\ds-i4- 14 250 30 71 -11 -9 11 9"); init("load_sequence_now graphics\dink\idle\ds-i6- 16 250 36 70 -11 -9 11 9"); init("load_sequence_now graphics\dink\idle\ds-i8- 18 250 32 68 -12 -9 12 9"); init("load_sequence_now graphics\dink\hit\normal\ds-h2- 102 75 60 72 -19 -9 19 9"); init("load_sequence_now graphics\dink\hit\normal\ds-h4- 104 75 61 73 -19 -10 19 10"); init("load_sequence_now graphics\dink\hit\normal\ds-h6- 106 75 58 71 -18 -10 18 10"); init("load_sequence_now graphics\dink\hit\normal\ds-h8- 108 75 61 71 -19 -10 19 10"); } void pickup(void) { Debug("Player now owns this item."); kill_this_task(); } void drop(void) { Debug("Item dropped."); kill_this_task(); }
Let me know if you have any problems with these scripts.
By the way, using the method in this script to adjust frame delay, you can actually make your own attack speed for weapons. Very useful information for adding some spice to a DMOD. Also, I don't think I've seen it done before, although correct me if there is a DMOD that has variable attack speed weapons besides the herb boots.