It's not tricky at all. It is a simple percentage change to the delay calculation. Negative numbers lower the effective delay, and positive numbers increase it.
//No Weapon - Monk or Beastlord
int speed = (int)(GetMonkHandToHandDelay()*100.0f+attack_speed )*PermaHaste);
if(speed < 1000)
speed = 1000;
//No Weapon - Not a Monk or Beastlord
int speed = (int)(36*(100.0f+attack_speed)*PermaHaste);
if(speed < 800 && IsClient())
speed = 800;
//Using Weapon
int speed = (int)(ItemToUse->Delay*(100.0f+attack_speed)*PermaHaste);
if(speed < 1000)
speed = 1000;
|