Basic's of Weapon Speed

Basics of Weapon Speed

Speed Categories
There are eight weapon speed categories:
bulletSlowest
bulletSlower
bulletSlow
bulletNormal
bulletFast
bulletFaster
bulletFastest
bulletSuper

Each category describes a range of attack speeds, regardless of weapon type. For example, a Fast sword doesn't necessarily attack with the same speed as a Fast bow. But they would both fall in the same speed range category. Below is a table with the speed ranges for each category:

Category

Minimum

Maximum

Super

0.0

0.47

Fastest

0.48

0.61

Faster

0.62

0.77

Fast

0.78

0.92

Normal

0.93

1.07

Slow

1.08

1.2

Slower

1.21

1.27

Slowest

1.28

100

These values denote the number of seconds required to swing your sword, fire your bow, etc. In other words, the weapon speed value denotes a single attack duration. So, if you wanted to calculate your theoretical total damage output over a period of time (N seconds), you could do it in this fashion:

Average Damage Per Attack * ( N / Attack Duration )

Below is a table of some weapon attack speeds gathered with a simple skrit modification that reports the attack_loop_duration$ value in job_attack_object_melee.skrit and job_attack_object_ranged.skrit. The inserted call is essentially: Report.SScreenF("Attack Duration %2.2f", attack_loop_duration$);...which also prints out monster attack durations :)

Weapon

Speed

Attack Duration

Chicken Gun

Faster

0.63

Medium Xbow

Faster

0.63

Steel (Sword)

Fast

0.83

Long Xbow

Fast

0.83 sec

Dented Mace

Fast

0.83

Short Recurve

Normal

1.00

Bow

Slow

1.15

Lightning Gun

Slow

1.13

Assault Axe

Slower

1.25

Bladed Staff

Slower

1.25

Great Steel

Slower

1.25

Long Recurve

Slowest

1.30

Changing Weapon Speed
As mentioned above, the job skrits for melee and ranged contain an attack_loop_duration$ value, which is the sum of the attack animation duration and the reload_delay, which can be found in each weapon type's template gas file (world/contentdb/templates/interactive).

The attack animation speed values are stored in heroes.gas, like this:

[anim_durations]
{
fs1 = 0.830; //1-H melee
fs2 = 0.830; //1-H melee w/ shield
fs3 = 1.250; //2-H non-sword melee
fs4 = 1.250; //2-H sword melee
fs5 = 1.250; //staff
fs6 = 1.000; //bow
fs7 = 0.125; //x-bow & minigun
fs8 = 1.000; //no weapon w/ shield
}

The reload_delay's are usually specified in the base weapon template for each weapon type. Custom reload delays are also sometimes specified in the weapon template itself.

So, in summary:

bulletEditing the base animation durations will affect all characters.
bulletEditing the job* skrit file(s) will affect all melee and/or ranged attacks.
bulletEditing the base weapons gas templates will localize the speed tweak to the weapon type.
bulletEditing the weapon template will only change the speed for that weapon type.

Credits and For Further Reference

bulletThanks to Icemage_999 for explaining the skrit and gas that makes weapon speeds the way they are here.
bulletMr Fixit Online's DS site also has a weapon speed information page with an explanation damage over time.

 

 

Home