Jump to content
  • 0

Removing Skill Delay


JulianA00

Question


  • Group:  Members
  • Topic Count:  10
  • Topics Per Day:  0.00
  • Content Count:  42
  • Reputation:   0
  • Joined:  12/17/12
  • Last Seen:  

First of all, I'm sorry if this is not the correct place for this thread, but since the problem can be in so many places(battleconf, db, src), I prefer to post it here and get the thread moved if it's the case.

My current need is to fully remove the after cast delay from all skills. I've tried changing configurations in many different places, but I still couldn't achieve this goal. I don't know why, even though I've set skills not to depend on agi/dex, I can only achieve 0(or close to 0) delay when I use bless/agi Lv.100(for testing purposes).

Consider the following scenario: I want have a Champion and I want to spam Soul Collect/Fury/Soul Collect AS FAST AS HELL, but I can't due this little impasse.

These are my settings:

NOTE: I'VE COMMITED THE WHOLE RENEWAL FEATURES, SO IT'S ALL FROM PRE-RE.

battle/skill.conf:

// Delay time after casting (Note 2)
delay_rate: 0

// Does the delay time depend on the caster's DEX and/or AGI? (Note 1)
// Note: On Official servers, neither Dex nor Agi affect delay time
delay_dependon_dex: no
delay_dependon_agi: no

// Minimum allowed delay for ANY skills after casting (in miliseconds) (Note 1)
// Note: Setting this to anything above 0 can stop speedhacks.
min_skill_delay_limit: 30

//Completely disable skill delay of the following types (Note 3)
//NOTE: By default mobs don't have the skill delay as specified in the skill
//  database, but follow their own 'reuse' skill delay which is specified on
//  the mob skill db. When set, the delay for all skills become
//  min_skill_delay_limit.
no_skill_delay: 30

Setting delay, min_skill_delay_limit and no_skill_delay either to 0, 30 or 80 had no difference at all.

db/pre-re/skill_cast_db.txt:



//-- CH_SOULCOLLECT
401,2000,0,0,600000,-100,0


//-- MO_EXPLOSIONSPIRITS
270,0,0,0,180000,-10000,0

db/pre-re/skill_castnodex.db:


270,0,0
401,0,0

I've even tried fixing a return value for skill.c -> skill_delayfix method



int skill_delayfix (struct block_list *bl, int skill_id, int skill_lv)
{

int delaynodex = skill_get_delaynodex(skill_id, skill_lv);
int time = skill_get_delay(skill_id, skill_lv);
struct map_session_data *sd;
struct status_change *sc = status_get_sc(bl);

return 0;
}

But it seems that I can only completely remove the delays when I use @useskill 34/29 100 on my char.

Do any of you guys have any clue about this problem? Any answer will be much appreciated.

Thanks for the attention.

Link to comment
Share on other sites

22 answers to this question

Recommended Posts

  • 0

  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  10
  • Reputation:   0
  • Joined:  11/17/14
  • Last Seen:  

how to fix this? link is dead :(

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  1
  • Topics Per Day:  0.00
  • Content Count:  3
  • Reputation:   0
  • Joined:  04/25/20
  • Last Seen:  

may i know how did you fix it?? can you share your code . .thank you

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  5
  • Topics Per Day:  0.00
  • Content Count:  22
  • Reputation:   0
  • Joined:  03/19/20
  • Last Seen:  

On 1/10/2013 at 4:41 AM, clydelion said:

Espero revivan este enlace.

 

On 1/10/2013 at 4:41 AM, clydelion said:

En realidad, no fue necesario revertir estos cambios, ya que se solucionaron en r17012 .

publicación relacionada: http://rathena.org/b...cy/#entry167934

Link Down "r17012"

 

Edited by ApocalypseRo
Link to comment
Share on other sites

  • -1

  • Group:  Members
  • Topic Count:  35
  • Topics Per Day:  0.01
  • Content Count:  311
  • Reputation:   46
  • Joined:  11/06/11
  • Last Seen:  

delay_dependon_dex: no delay_dependon_agi: no

change that into yes, then put like 99 agi or more.. and you will have 0 delay.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  10
  • Topics Per Day:  0.00
  • Content Count:  42
  • Reputation:   0
  • Joined:  12/17/12
  • Last Seen:  

@Godric

I've already tried that and it didn't work.

What's really confusing me is the fact that I've set both AGI/DEX dependencies to NO, but they are still taking effect

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  46
  • Topics Per Day:  0.01
  • Content Count:  228
  • Reputation:   33
  • Joined:  11/15/12
  • Last Seen:  

Are you sure that you are using pre-re configs?

Check your */src/config/renewal.h

Edited by Anubis
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  10
  • Topics Per Day:  0.00
  • Content Count:  42
  • Reputation:   0
  • Joined:  12/17/12
  • Last Seen:  

Yes, I am sure.


// Copyright © rAthena Dev Teams - Licensed under GNU GPL
// For more information, see LICENCE in the main folder
//#ifndef _CONFIG_RENEWAL_H_
//#define _CONFIG_RENEWAL_H_

/**
* rAthena configuration file ([url="http://rathena.org"]http://rathena.org[/url])
* For detailed guidance on these check [url="http://rathena.org/wiki/SRC/config/"]http://rathena.org/wiki/SRC/config/[/url]
**/

/**
* @INFO: This file holds general-purpose renewal settings, for class-specific ones check /src/config/classes folder
**/

/// game renewal server mode
/// (disable by commenting the line)
///
/// leave this line to enable renewal specific support such as renewal formulas
//#define RENEWAL

/// renewal cast time
/// (disable by commenting the line)
///
/// leave this line to enable renewal casting time algorithms
/// cast time is decreased by DEX * 2 + INT while 20% of the cast time is not reduced by stats.
/// example:
///  on a skill whos cast time is 10s, only 8s may be reduced. the other 2s are part of a
///  "fixed cast time" which can only be reduced by specialist items and skills
//#define RENEWAL_CAST

/// renewal drop rate algorithms
/// (disable by commenting the line)
///
/// leave this line to enable renewal item drop rate algorithms
/// while enabled a special modified based on the difference between the player and monster level is applied
/// based on the [url="http://irowiki.org/wiki/Drop_System#Level_Factor"]http://irowiki.org/w...em#Level_Factor[/url] table
//#define RENEWAL_DROP

/// renewal exp rate algorithms
/// (disable by commenting the line)
///
/// leave this line to enable renewal item exp rate algorithms
/// while enabled a special modified based on the difference between the player and monster level is applied
//#define RENEWAL_EXP

/// renewal level modifier on damage
/// (disable by commenting the line)
///
// leave this line to enable renewal base level modifier on skill damage (selected skills only)
//#define RENEWAL_LVDMG

/// renewal enchant deadly poison algorithm
///
/// leave this line to enable the renewed EDP algorithm
/// under renewal mode:
///  - damage is NOT increased by 400%
///  - it does NOT affect grimtooth
///  - weapon and status ATK are increased
//#define RENEWAL_EDP

/// renewal ASPD [malufett]
/// (disable by commenting the line)
///
/// leave this line to enable renewal ASPD
/// - shield penalty is applied
/// - AGI has a greater factor in ASPD increase
/// - there is a change in how skills/items give ASPD
/// - some skill/item ASPD bonuses won't stack
//#define RENEWAL_ASPD

//#endif // _CONFIG_RENEWAL_H_

Edited by Emistry
Please use [CODEBOX] or Attachments for long contents.
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  54
  • Topics Per Day:  0.01
  • Content Count:  235
  • Reputation:   0
  • Joined:  11/22/11
  • Last Seen:  

this is my problem also. and im waiting for any solution. the skill delay is really annoying.

i think this cant be fix in rAthena nowadays. maybe we will wait for them to fix the delay of the skill.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  26
  • Topics Per Day:  0.01
  • Content Count:  2244
  • Reputation:   182
  • Joined:  11/19/11
  • Last Seen:  

wasn't their a delay of the skill due to that src that was to prevent wpe spams?

  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  54
  • Topics Per Day:  0.01
  • Content Count:  235
  • Reputation:   0
  • Joined:  11/22/11
  • Last Seen:  

wasn't their a delay of the skill due to that src that was to prevent wpe spams?

what do you mean with that? and how can we disable the delay thing? besides some has server protection agains 3rd party program and not needed that skill delay.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  26
  • Topics Per Day:  0.01
  • Content Count:  2244
  • Reputation:   182
  • Joined:  11/19/11
  • Last Seen:  

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  54
  • Topics Per Day:  0.01
  • Content Count:  235
  • Reputation:   0
  • Joined:  11/22/11
  • Last Seen:  

so if i disable this settings will the delay disappear ? anyone tested this?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  10
  • Topics Per Day:  0.00
  • Content Count:  42
  • Reputation:   0
  • Joined:  12/17/12
  • Last Seen:  

First of all, sorry for late response.

Thank you a lot Judas for posting this link, I'm already doing working on it(and hope Harmony takes care of the WPE problem). I'll reply later to report if it was a success or not.

Since we are still talking about this and considering the even with agi/dex dependency removed, the skill delay reduction is still based on that, I had the not-so-brilliant idea to simulate the agi/dex in the skill_delayfix method, but it was totally in vain(I have no idea why it didn't work):

/*==========================================
* Does delay reductions based on dex/agi, sc data, item bonuses, ...
*------------------------------------------*/
int skill_delayfix (struct block_list *bl, int skill_id, int skill_lv)
{
int delaynodex = skill_get_delaynodex(skill_id, skill_lv);
int time = skill_get_delay(skill_id, skill_lv);
struct map_session_data *sd;
struct status_change *sc = status_get_sc(bl);

nullpo_ret(bl);
sd = BL_CAST(BL_PC, bl);
if (skill_id == SA_ABRACADABRA || skill_id == WM_RANDOMIZESPELL)
 return 0; //Will use picked skill's delay.

if (bl->type&battle_config.no_skill_delay)
 return battle_config.min_skill_delay_limit;
if (time < 0)
 time = -time + status_get_amotion(bl); // If set to <0, add to attack motion.
// Delay reductions
switch (skill_id) { //Monk combo skills have their delay reduced by agi/dex.
case MO_TRIPLEATTACK:
case MO_CHAINCOMBO:
case MO_COMBOFINISH:
case CH_TIGERFIST:
case CH_CHAINCRUSH:
case SR_DRAGONCOMBO:
case SR_FALLENEMPIRE:
 //time -= 4*status_get_agi(bl) - 2*status_get_dex(bl);
 time -= 4*200 - 2*200;
 break;
case HP_BASILICA:
 if( sc && !sc->data[sC_BASILICA] )
  time = 0; // There is no Delay on Basilica creation, only on cancel
 break;
default:
 if (battle_config.delay_dependon_dex && !(delaynodex&1))
 { // if skill delay is allowed to be reduced by dex
  //int scale = battle_config.castrate_dex_scale - status_get_dex(bl);
  int scale = battle_config.castrate_dex_scale - 200;
  if (scale > 0)
   time = time * scale / battle_config.castrate_dex_scale;
  else //To be capped later to minimum.
   time = 0;
 }
 if (battle_config.delay_dependon_agi && !(delaynodex&1))
 { // if skill delay is allowed to be reduced by agi
  //int scale = battle_config.castrate_dex_scale - status_get_agi(bl);
  int scale = battle_config.castrate_dex_scale - 200;
  if (scale > 0)
   time = time * scale / battle_config.castrate_dex_scale;
  else //To be capped later to minimum.
   time = 0;
 }
}
if ( sc && sc->data[sC_SPIRIT] )
{
 switch (skill_id) {
  case CR_SHIELDBOOMERANG:
   if (sc->data[sC_SPIRIT]->val2 == SL_CRUSADER)
 time /= 2;
   break;
  case AS_SONICBLOW:
   if (!map_flag_gvg(bl->m) && !map[bl->m].flag.battleground && sc->data[sC_SPIRIT]->val2 == SL_ASSASIN)
 time /= 2;
   break;
 }
}
if (!(delaynodex&2))
{
 if (sc && sc->count) {
  if (sc->data[sC_POEMBRAGI])
   time -= time * sc->data[sC_POEMBRAGI]->val3 / 100;
 }
}
if( !(delaynodex&4) && sd && sd->delayrate != 100 )
 time = time * sd->delayrate / 100;
if (battle_config.delay_rate != 100)
 time = time * battle_config.delay_rate / 100;
if (time < status_get_amotion(bl))
 time = status_get_amotion(bl); // Delay can never be below amotion [Playtester]
return max(time, battle_config.min_skill_delay_limit);
}

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  9
  • Topics Per Day:  0.00
  • Content Count:  268
  • Reputation:   27
  • Joined:  12/06/11
  • Last Seen:  

On your no_skill_delay you didn't include PC(Player Character) which the value is one.

Therefore try to set the value to 31.

Edited by Kaitou Kid
  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  10
  • Topics Per Day:  0.00
  • Content Count:  42
  • Reputation:   0
  • Joined:  12/17/12
  • Last Seen:  

Didn't change at all.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  80
  • Topics Per Day:  0.02
  • Content Count:  325
  • Reputation:   76
  • Joined:  03/22/12
  • Last Seen:  

Yes, I am sure.


// Copyright © rAthena Dev Teams - Licensed under GNU GPL
// For more information, see LICENCE in the main folder
//#ifndef _CONFIG_RENEWAL_H_
//#define _CONFIG_RENEWAL_H_

/**
* rAthena configuration file ([url="http://rathena.org"]http://rathena.org[/url])
* For detailed guidance on these check [url="http://rathena.org/wiki/SRC/config/"]http://rathena.org/wiki/SRC/config/[/url]
**/

/**
* @INFO: This file holds general-purpose renewal settings, for class-specific ones check /src/config/classes folder
**/

/// game renewal server mode
/// (disable by commenting the line)
///
/// leave this line to enable renewal specific support such as renewal formulas
//#define RENEWAL

/// renewal cast time
/// (disable by commenting the line)
///
/// leave this line to enable renewal casting time algorithms
/// cast time is decreased by DEX * 2 + INT while 20% of the cast time is not reduced by stats.
/// example:
///  on a skill whos cast time is 10s, only 8s may be reduced. the other 2s are part of a
///  "fixed cast time" which can only be reduced by specialist items and skills
//#define RENEWAL_CAST

/// renewal drop rate algorithms
/// (disable by commenting the line)
///
/// leave this line to enable renewal item drop rate algorithms
/// while enabled a special modified based on the difference between the player and monster level is applied
/// based on the [url="http://irowiki.org/wiki/Drop_System#Level_Factor"]http://irowiki.org/w...em#Level_Factor[/url] table
//#define RENEWAL_DROP

/// renewal exp rate algorithms
/// (disable by commenting the line)
///
/// leave this line to enable renewal item exp rate algorithms
/// while enabled a special modified based on the difference between the player and monster level is applied
//#define RENEWAL_EXP

/// renewal level modifier on damage
/// (disable by commenting the line)
///
// leave this line to enable renewal base level modifier on skill damage (selected skills only)
//#define RENEWAL_LVDMG

/// renewal enchant deadly poison algorithm
///
/// leave this line to enable the renewed EDP algorithm
/// under renewal mode:
///  - damage is NOT increased by 400%
///  - it does NOT affect grimtooth
///  - weapon and status ATK are increased
//#define RENEWAL_EDP

/// renewal ASPD [malufett]
/// (disable by commenting the line)
///
/// leave this line to enable renewal ASPD
/// - shield penalty is applied
/// - AGI has a greater factor in ASPD increase
/// - there is a change in how skills/items give ASPD
/// - some skill/item ASPD bonuses won't stack
//#define RENEWAL_ASPD

//#endif // _CONFIG_RENEWAL_H_

are you sure that you did recompile your svn after changing this line ? :)

//#define RENEWAL_CAST
Edited by eJay
  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  10
  • Topics Per Day:  0.00
  • Content Count:  42
  • Reputation:   0
  • Joined:  12/17/12
  • Last Seen:  

Yes, I've probably recompiled the svn at least 10 times today for different modifications.

 

@Judas Thanks a lot, rollbacking these changes and combining it with KaitouKid's answer it worked perfecly.

@KaitouKid Thanks a lot, combining it with Judas's answer it worked perfectly.

This thread can be marked as Solved now. I'm sure many people will need this in the future

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  54
  • Topics Per Day:  0.01
  • Content Count:  235
  • Reputation:   0
  • Joined:  11/22/11
  • Last Seen:  

@Judas Thanks a lot, rollbacking these changes and combining it with KaitouKid's answer it worked perfecly.

@KaitouKid Thanks a lot, combining it with Judas's answer it worked perfectly.

This thread can be marked as Solved now. I'm sure many people will need this in the future

did you solve the problem? what did you do? can you give details/instruction on what did you do?

did the delay or cooldown of the skill disappear?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  10
  • Topics Per Day:  0.00
  • Content Count:  42
  • Reputation:   0
  • Joined:  12/17/12
  • Last Seen:  

I just did. Lol

@Judas Thanks a lot, rollbacking these changes and combining it with KaitouKid's answer it worked perfecly.

@KaitouKid Thanks a lot, combining it with Judas's answer it worked

Did you really read my reply? I implemented both Kaitou's and Judas' answers.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  17
  • Topics Per Day:  0.00
  • Content Count:  754
  • Reputation:   186
  • Joined:  05/22/12
  • Last Seen:  

Actually, you didn't need to revert these changes, as those were fixed in r17012.

related post: http://rathena.org/b...cy/#entry167934

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  26
  • Topics Per Day:  0.01
  • Content Count:  2244
  • Reputation:   182
  • Joined:  11/19/11
  • Last Seen:  

hmm so I guess that should be set done

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  10
  • Topics Per Day:  0.00
  • Content Count:  42
  • Reputation:   0
  • Joined:  12/17/12
  • Last Seen:  

Yep

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...