we have these fields to implement
info->add_casting_speed(values->abilitycastingspeed);
info->add_spell_reuse_speed(values->spellreusespeed);
#define ITEM_STAT_ABILITYCASTINGSPEED 664 //% Ability Casting Speed
#define ITEM_STAT_SPELLREUSESPEED 665 //% Spell Reuse Speed
there is a partial implementation of get_casting_speed, but it isn't called so its just a loose function at the moment
```
float Entity::CalculateCastingSpeedMod() {
float cast_speed = info_struct.get_casting_speed();
if(cast_speed > 0)
return 100 * max((float) 0.5, (float) (1 + (1 - (1 / (1 + (cast_speed * .01))))));
else if (cast_speed < 0)
return 100 * min((float) 1.5, (float) (1 + (1 - (1 / (1 + (cast_speed * -.01))))));
return 0;
}
```
0 - no autoattack at all
1 - melee autoattack
2 - ranged autoattack
3 - spell autoattack
we only support 0,1,2 in command_auto_attack
we also don't support spell multi attack chance -- not sure this is even classic
going to focus this issue on the spell specific ones
```
#define ITEM_STAT_ABILITYCASTINGSPEED 664 //% Ability Casting Speed
#define ITEM_STAT_SPELLREUSESPEED 665 //% Spell Reuse Speed
```
we still need to review these:
```
#define ITEM_STAT_ABILITYREUSESPEED 662 //% Ability Reuse Speed
#define ITEM_STAT_ABILITYRECOVERYSPEED 663 //% Ability Recovery Speed
#define ITEM_STAT_MULTIATTACKCHANCE 641 //% Multi Attack Chance // inconsistant with db
```
```
#define ITEM_STAT_SPELLWEAPONAEAUTOATTACKCHANCE 640 //
#define ITEM_STAT_SPELLMULTIATTACKCHANCE 645 //% Spell Multi Atttack Chance
```
we don't support spell weapon ae auto attack
0 - no autoattack at all
1 - melee autoattack
2 - ranged autoattack
3 - spell autoattack
we only support 0,1,2 in command_auto_attack
we also don't support spell multi attack chance -- not sure this is even classic
the way these fields work is greater than 0 reduces cast/reuse, less than 0 increases cast/reuse. Whole numbers used to represent percentages.
reduction is limited to 50% (of the standard cast/reuse time)
max is limited to 50% over (150% of the standard cast/reuse time)
the way these fields work is greater than 0 reduces cast/reuse, less than 0 increases cast/reuse. Whole numbers used to represent percentages.
reduction is limited to 50% (of the standard cast/reuse time)
max is limited to 50% over (150% of the standard cast/reuse time)
need to expose this to spells + probably tie this to spell_type
we have these fields to implement
#define ITEM_STAT_ABILITYCASTINGSPEED 664 //% Ability Casting Speed #define ITEM_STAT_SPELLREUSESPEED 665 //% Spell Reuse Speed
there is a partial implementation of get_casting_speed, but it isn't called so its just a loose function at the moment
going to focus this issue on the spell specific ones
we still need to review these:
we don't support spell weapon ae auto attack
0 - no autoattack at all 1 - melee autoattack 2 - ranged autoattack 3 - spell autoattack
we only support 0,1,2 in command_auto_attack
we also don't support spell multi attack chance -- not sure this is even classic
the way these fields work is greater than 0 reduces cast/reuse, less than 0 increases cast/reuse. Whole numbers used to represent percentages.
reduction is limited to 50% (of the standard cast/reuse time) max is limited to 50% over (150% of the standard cast/reuse time)