Jump to content

  •  

Bug Tracker Migration

June 3rd
Good news everyone! The staff has decided that it is time to slowly kill off this Bug Tracker. We will begin the process of slowly migrating from this Bug Tracker over to our Github Issues which can be found here: https://github.com/HerculesWS/Hercules/issues

Over the next couple of days, I will be closing off any opportunity to create new reports. However, I still will keep the opportunity to reply to existing Bug Reports. Doing this will allow us to slowly fix any bug reports we have listed here so that we can easily migrate over to our Issue Tracker.

Update - June 7th 2015: Creating new bug posts has been disabled. Please use our https://github.com/HerculesWS/Hercules/issues tracker to post bugs. Users are still able to reply to existing bug posts.

- Administration

Issue Information

  • #006207

  • 0 - None Assigned

  • New

Issue Confirmations

  • Yes (1)No (0)
Photo

RA_ARROWSTORM fixed cast

Posted by Hercules Bot on 11 July 2012 - 12:04 PM

Originally posted by Smoke
All skills derive their fixed cast as 20% of their variable cast if !fixed.

int fixed = skill_get_fixed_cast(skill_id, skill_lv);
if( !fixed ) {
  fixed = skill_get_cast(skill_id, skill_lv);
  fixed = ( fixed > 1 ? ( fixed * 20 / 100 ) : 0 );
}

According to this : https://docs.google....MbFGEQKxLDjHgPE (taken from here)
There is no fixed cast time on this skill as I've cross-checked with an iRO player. This skill should only have variable cast? but that's not possible with this coding.

Originally posted by malufett
what do you mean by not possible.??

that is why there is a condition

if(!fixed){


where if a skill has define fixed cast time in the skill_cast_db then that is the time the 20% will take place...

Originally posted by Smoke
That's what I said above yes, but apparently for this skill it has no fixed cast - not even this 20% of variable. It is nearly possible to have it instant cast with the appropriate stats.
So using if(!fixed){, there will always be fixed cast, which shouldn't be the case.

Edited by Smoke, 11 July 2012 - 02:04 PM.


Originally posted by Lighta
Smoke, you could set 1ms as fixed cast time as a workaround to bypass that setting, people won't notice it.
Or you may create a new Inf2 for skill to not read the 20%, (or hardcode a bypass by listing the skills)

Originally posted by Smoke
True but well, I did this.

int fixed = skill_get_fixed_cast(skill_id, skill_lv);
	if( fixed < 0 ) fixed = 0;
else if( !fixed ) {
  fixed = skill_get_cast(skill_id, skill_lv);
  fixed = ( fixed > 1 ? ( fixed * 20 / 100 ) : 0 );
}
ShowDebug("Fixed : %d",fixed);

in skill_cast_db.txt
//-- RA_ARROWSTORM
2233,2500,0,0,0,0,3000,-1
This works for any skill that requires a bypass.

Also variable cast for this skill is (1.8 + 0.2 * Skill Level) seconds.
Cooldown is (5.2 - 0.2 * Skill Level) seconds.

These formulae have been updated recently. found here, along with other classes.

Edited by Smoke, 12 July 2012 - 10:55 AM.