awayne910 Posted June 19, 2018 Share Posted June 19, 2018 (edited) When using the skill fails The skill will go into the Skill cool down How to bypass this function when using the skill failure does not enter the skill cool down Ex: WL_WHITEIMPRISON I try to increase return false after clif_skill_fail but it doesn't work case WL_WHITEIMPRISON: if( (src == bl || battle_check_target(src, bl, BCT_ENEMY)>0) && status_get_class_(bl) != CLASS_BOSS && !status_isimmune(bl) ) // Should not work with Bosses. { int rate = ( sd? sd->status.job_level : 50 ) / 4; if( src == bl ) rate = 100; // Success Chance: On self, 100% else if(bl->type == BL_PC) rate += 20 + 10 * skill_lv; // On Players, (20 + 10 * Skill Level) % else rate += 40 + 10 * skill_lv; // On Monsters, (40 + 10 * Skill Level) % if( sd ) skill_blockpc_start(sd,skill_id,4000); if( !(tsc && tsc->data[type]) ){ i = sc_start2(src,bl,type,rate,skill_lv,src->id,(src == bl)?5000:(bl->type == BL_PC)?skill_get_time(skill_id,skill_lv):skill_get_time2(skill_id, skill_lv)); clif_skill_nodamage(src,bl,skill_id,skill_lv,i); if (!i) clif_skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0); return false; } }else if( sd ) clif_skill_fail(sd,skill_id,USESKILL_FAIL_TOTARGET,0); return false; break; Edited June 19, 2018 by awayne910 Quote Link to comment Share on other sites More sharing options...
0 pedrohbp Posted January 23, 2021 Share Posted January 23, 2021 hi, i have the same problem as you. did u find the solution for this? Quote Link to comment Share on other sites More sharing options...
When using the skill fails
The skill will go into the Skill cool down
How to bypass this function
when using the skill failure does not enter the skill cool down
Ex:
WL_WHITEIMPRISON
I try to increase return false after clif_skill_fail
but it doesn't work
case WL_WHITEIMPRISON: if( (src == bl || battle_check_target(src, bl, BCT_ENEMY)>0) && status_get_class_(bl) != CLASS_BOSS && !status_isimmune(bl) ) // Should not work with Bosses. { int rate = ( sd? sd->status.job_level : 50 ) / 4; if( src == bl ) rate = 100; // Success Chance: On self, 100% else if(bl->type == BL_PC) rate += 20 + 10 * skill_lv; // On Players, (20 + 10 * Skill Level) % else rate += 40 + 10 * skill_lv; // On Monsters, (40 + 10 * Skill Level) % if( sd ) skill_blockpc_start(sd,skill_id,4000); if( !(tsc && tsc->data[type]) ){ i = sc_start2(src,bl,type,rate,skill_lv,src->id,(src == bl)?5000:(bl->type == BL_PC)?skill_get_time(skill_id,skill_lv):skill_get_time2(skill_id, skill_lv)); clif_skill_nodamage(src,bl,skill_id,skill_lv,i); if (!i) clif_skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0); return false; } }else if( sd ) clif_skill_fail(sd,skill_id,USESKILL_FAIL_TOTARGET,0); return false; break;
Edited by awayne910Link to comment
Share on other sites