|
@@ -6631,16 +6631,15 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
|
|
|
map_freeblock_unlock();
|
|
|
return 1;
|
|
|
}
|
|
|
- //TODO: How much does base level affects? Dummy value of 1% per level difference used. [Skotlex]
|
|
|
- clif_skill_nodamage(src,bl,skill_id == SM_SELFPROVOKE ? SM_PROVOKE : skill_id,skill_lv,
|
|
|
- (i = sc_start(src,bl,type, skill_id == SM_SELFPROVOKE ? 100:( 50 + 3*skill_lv + status_get_lv(src) - status_get_lv(bl)), skill_lv, skill_get_time(skill_id,skill_lv))));
|
|
|
- if( !i )
|
|
|
+ // Official chance is 70% + 3%*skill_lv + srcBaseLevel% - tarBaseLevel%
|
|
|
+ if(!(i = sc_start(src, bl, type, skill_id == SM_SELFPROVOKE ? 100 : (70 + 3 * skill_lv + status_get_lv(src) - status_get_lv(bl)), skill_lv, skill_get_time(skill_id, skill_lv))))
|
|
|
{
|
|
|
if( sd )
|
|
|
clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
|
|
|
map_freeblock_unlock();
|
|
|
return 0;
|
|
|
}
|
|
|
+ clif_skill_nodamage(src, bl, skill_id == SM_SELFPROVOKE ? SM_PROVOKE : skill_id, skill_lv, i);
|
|
|
unit_skillcastcancel(bl, 2);
|
|
|
|
|
|
if( tsc && tsc->count )
|