|
@@ -7529,8 +7529,9 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
|
|
|
}
|
|
|
break;
|
|
|
case SA_DISPELL:
|
|
|
- if (flag&1 || (i = skill_get_splash(skill_id, skill_lv)) < 1)
|
|
|
- {
|
|
|
+ if (flag&1 || (i = skill_get_splash(skill_id, skill_lv)) < 1) {
|
|
|
+ if (sd && dstsd && !map_flag_vs(sd->bl.m) && (!sd->duel_group || sd->duel_group != dstsd->duel_group) && (!sd->status.party_id || sd->status.party_id != dstsd->status.party_id))
|
|
|
+ break; // Outside PvP it should only affect party members and no skill fail message
|
|
|
clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
|
|
|
if((dstsd && (dstsd->class_&MAPID_UPPERMASK) == MAPID_SOUL_LINKER)
|
|
|
|| (tsc && tsc->data[SC_SPIRIT] && tsc->data[SC_SPIRIT]->val2 == SL_ROGUE) //Rogue's spirit defends againt dispel.
|
|
@@ -7550,11 +7551,6 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
|
|
|
if(!tsc || !tsc->count)
|
|
|
break;
|
|
|
|
|
|
- if( sd && dstsd && !map_flag_vs(sd->bl.m) && sd->status.guild_id == dstsd->status.guild_id ) {
|
|
|
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
for(i=0;i<SC_MAX;i++) {
|
|
|
if (!tsc->data[i])
|
|
|
continue;
|