Poison - Jul 8, 2013 4:47
checkidle() resets once a player attack, however it does not reset when a player is using ctrl + click or /noctrl on for attacking.
clif.c[code=nocode:10150]
switch(action_type) {
case 0x00: // once attack
case 0x07: // continuous attack
if( pc_cant_act(sd) || sd->sc.option&OPTION_HIDE )
return;
if( sd->sc.option&(OPTION_WEDDING|OPTION_XMAS|OPTION_SUMMER|OPTION_HANBOK) )
return;
if( sd->sc.data[SC_BASILICA] || sd->sc.data[SC__SHADOWFORM] )
return;
if (!battle_config.sdelay_attack_enable && pc->checkskill(sd, SA_FREECAST) <= 0) {
if (DIFF_TICK(tick, sd->ud.canact_tick) < 0) {
clif->skill_fail(sd, 1, USESKILL_FAIL_SKILLINTERVAL, 0);
return;
}
}
pc->delinvincibletimer(sd);
sd->idletime = last_tick;
unit_attack(&sd->bl, target_id, action_type != 0);
break;
[/code]
How about resetting the timer each time a damage is given?
KeiKun - Jul 8, 2013 15:25
agreed.
i already told this under #Hercules
though i guess i should report it before
:)