|
@@ -9990,20 +9990,13 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
|
|
|
case SP_SOULSHADOW:
|
|
|
case SP_SOULFALCON:
|
|
|
case SP_SOULFAIRY:
|
|
|
- if (sd && !dstsd) { // Only player's can be soul linked.
|
|
|
- clif_skill_fail(sd, skill_id, USESKILL_FAIL,0);
|
|
|
- break;
|
|
|
- }
|
|
|
- if (tsc) {
|
|
|
- if (tsc->data[skill_get_sc(skill_id)]) { // Allow refreshing an already active soul link.
|
|
|
- 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;
|
|
|
- } else if (tsc->data[SC_SPIRIT] || tsc->data[SC_SOULGOLEM] || tsc->data[SC_SOULSHADOW] || tsc->data[SC_SOULFALCON] || tsc->data[SC_SOULFAIRY]) { // Soul links from Soul Linker and Soul Reaper skills don't stack.
|
|
|
- clif_skill_fail(sd, skill_id, USESKILL_FAIL, 0);
|
|
|
- break;
|
|
|
+ if( sc_start( src, bl, type, 100, skill_lv, skill_get_time( skill_id, skill_lv ) ) ){
|
|
|
+ clif_skill_nodamage( src, bl, skill_id, skill_lv, 1 );
|
|
|
+ }else{
|
|
|
+ if( sd ){
|
|
|
+ clif_skill_fail( sd, skill_id, USESKILL_FAIL, 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_SOULREVOLVE:
|