Fixed Soul Reaper's Soul Collect behavior
Added missing status change cancel condition, when the player has reached the maximum amount of soul spheres. Fixed duration display on the client. Some cleanup of duplicate code. Thanks to @aleos89
This commit is contained in:
@@ -7718,21 +7718,19 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
|
||||
case SJ_STARSTANCE:
|
||||
case SJ_UNIVERSESTANCE:
|
||||
case SJ_SUNSTANCE:
|
||||
case SP_SOULCOLLECT:
|
||||
if( tsce )
|
||||
{
|
||||
clif_skill_nodamage(src,bl,skill_id,skill_lv,status_change_end(bl, type, INVALID_TIMER));
|
||||
map_freeblock_unlock();
|
||||
return 0;
|
||||
}
|
||||
clif_skill_nodamage(src,bl,skill_id,skill_lv,sc_start(src,bl,type,100,skill_lv,skill_get_time(skill_id,skill_lv)));
|
||||
break;
|
||||
case SP_SOULCOLLECT:
|
||||
if (tsce) {
|
||||
clif_skill_nodamage(src, bl, skill_id, skill_lv, status_change_end(bl, type, INVALID_TIMER));
|
||||
map_freeblock_unlock();
|
||||
return 0;
|
||||
|
||||
if( skill_id == SP_SOULCOLLECT ){
|
||||
clif_skill_nodamage(src, bl, skill_id, skill_lv, sc_start2(src, bl, type, 100, skill_lv, pc_checkskill(sd, SP_SOULENERGY), max(1000, skill_get_time(skill_id, skill_lv))));
|
||||
}else{
|
||||
clif_skill_nodamage(src, bl, skill_id, skill_lv, sc_start(src, bl, type, 100, skill_lv, skill_get_time(skill_id, skill_lv)));
|
||||
}
|
||||
clif_skill_nodamage(src, bl, skill_id, skill_lv, sc_start2(src, bl, type, 100, skill_lv, pc_checkskill(sd,SP_SOULENERGY), max(1000, skill_get_time(skill_id, skill_lv))));
|
||||
break;
|
||||
case SL_KAITE:
|
||||
case SL_KAAHI:
|
||||
|
||||
Reference in New Issue
Block a user