* Follow up to 4f4d8fe.
* Dispell is now usable outside PvP in Duels.
* Dispell is now usable outside PvP in the caster's party.
This commit is contained in:
aleos89 2016-02-09 10:12:32 -05:00
parent 0fd46eb3a6
commit bddb3fb3b3

View File

@ -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;