Issue Information
-
#007300
-
0 - None Assigned
-
Fixed
Issue Confirmations
-
Yes (3)No (0)
Whenever i equip a 4slotted weapon with 2 turtle general and 2 hydra cards.
my asura strike skill misses. as in no damage at all.
255 str. 255 dex.
I switch to a 4 slotted weapon with 2 stormy knight and 2 turtle general.
then my asura strike is back to normal. it has damage now.
As far as I know, there is not an official damage cap for Asura, so a reworking of the formula to increase the cap and work better with renewal stats would probably do well. The edit below would suit most servers' needs and still leave a [much larger] cap for overflow protection.
src/map/battle.c
case MO_EXTREMITYFIST: - { //Overflow check. [Skotlex] - unsigned int ratio = skillratio + 100*(8 + sstatus->sp/10); - //You'd need something like 6K SP to reach this max, so should be fine for most purposes. - if (ratio > 60000) ratio = 60000; //We leave some room here in case skillratio gets further increased. - skillratio = (unsigned short)ratio; - } + skillratio += 100*(8 + sstatus->sp/10) - 100; + skillratio = min(500000,skillratio); //We stop at roughly 50k SP for overflow protection break;
You can go ahead and make this edit to your own files, or wait for Hercules to send over an update.
Edited by Via, 29 May 2013 - 09:08 PM.
The way it is right now, Asura Strike has an official cap that limits the amount of damage it'll do; this was put in place so that the damage doesn't overflow (technical limitation). You'd need a rather large amount of SP and ATK to hit this cap, but it'd be achievable on a server with a high stat cap.
As far as I know, there is not an official damage cap for Asura, so a reworking of the formula to increase the cap and work better with renewal stats would probably do well. The edit below would suit most servers' needs and still leave a [much larger] cap for overflow protection.
src/map/battle.ccase MO_EXTREMITYFIST: - { //Overflow check. [Skotlex] - unsigned int ratio = skillratio + 100*(8 + sstatus->sp/10); - //You'd need something like 6K SP to reach this max, so should be fine for most purposes. - if (ratio > 60000) ratio = 60000; //We leave some room here in case skillratio gets further increased. - skillratio = (unsigned short)ratio; - } + skillratio += 100*(8 + sstatus->sp/10) - 100; + skillratio = min(500000,skillratio); //We stop at roughly 50k SP for overflow protection break;
You can go ahead and make this edit to your own files, or wait for Hercules to send over an update.
Thanks mate.
damage * cardfix > MAX_INT therefore overflowing.
changed battle_calc_cardfix case BF_WEAPON:
from
damage = damage * cardfix / 1000;
to
damage = damage * ((float)cardfix / 1000);
Sir, tried applying your code above, I get an error, sstatus is undeclared.The way it is right now, Asura Strike has an official cap that limits the amount of damage it'll do; this was put in place so that the damage doesn't overflow (technical limitation). You'd need a rather large amount of SP and ATK to hit this cap, but it'd be achievable on a server with a high stat cap.
As far as I know, there is not an official damage cap for Asura, so a reworking of the formula to increase the cap and work better with renewal stats would probably do well. The edit below would suit most servers' needs and still leave a [much larger] cap for overflow protection.
src/map/battle.ccase MO_EXTREMITYFIST: - { //Overflow check. [Skotlex] - unsigned int ratio = skillratio + 100*(8 + sstatus->sp/10); - //You'd need something like 6K SP to reach this max, so should be fine for most purposes. - if (ratio > 60000) ratio = 60000; //We leave some room here in case skillratio gets further increased. - skillratio = (unsigned short)ratio; - } + skillratio += 100*(8 + sstatus->sp/10) - 100; + skillratio = min(500000,skillratio); //We stop at roughly 50k SP for overflow protection break;
You can go ahead and make this edit to your own files, or wait for Hercules to send over an update.