summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
authorDastgir Pojee <dastgirpojee@rocketmail.com>2013-10-17 21:39:11 +0530
committerDastgir Pojee <dastgirpojee@rocketmail.com>2013-10-17 21:39:11 +0530
commitb2c9f9de564065019684fcf22ed020b943fc5bbe (patch)
treed27ede8e334382211743c1e34a73a9db67778d38 /src/map/skill.c
parent97979fe1e577aebe77e978c248a08b33b2c0c1a2 (diff)
parent9128feccf3bddda94a7f8a170305565416815b40 (diff)
downloadhercules-b2c9f9de564065019684fcf22ed020b943fc5bbe.tar.gz
hercules-b2c9f9de564065019684fcf22ed020b943fc5bbe.tar.bz2
hercules-b2c9f9de564065019684fcf22ed020b943fc5bbe.tar.xz
hercules-b2c9f9de564065019684fcf22ed020b943fc5bbe.zip
Merge remote-tracking branch 'upstream/master' into SkidConst
Diffstat (limited to 'src/map/skill.c')
-rw-r--r--src/map/skill.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index aed01b1f7..4daf3f753 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -1356,7 +1356,7 @@ int skill_additional_effect(struct block_list* src, struct block_list *bl, uint1
src = sd?&sd->bl:src;
}
- if( attack_type&BF_WEAPON ) {
+ if( attack_type&BF_WEAPON && skill_id != CR_REFLECTSHIELD ) {
// Coma, Breaking Equipment
if( sd && sd->special_state.bonus_coma ) {
rate = sd->weapon_coma_ele[tstatus->def_ele];
@@ -6570,7 +6570,12 @@ 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( sd && dstsd && !map_flag_vs(sd->bl.m)
+ && (sd->status.party_id == 0 || sd->status.party_id != dstsd->status.party_id) ) {
+ // Outside PvP it should only affect party members and no skill fail message.
+ break;
+ }
clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
if((dstsd && (dstsd->class_&MAPID_UPPERMASK) == MAPID_SOUL_LINKER)
|| (tsc && tsc->data[SC_SOULLINK] && tsc->data[SC_SOULLINK]->val2 == SL_ROGUE) //Rogue's spirit defends againt dispel.
@@ -6582,14 +6587,6 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
}
if(status->isimmune(bl) || !tsc || !tsc->count)
break;
-
- if( sd && dstsd && !map_flag_vs(sd->bl.m)
- && (sd->status.party_id == 0 || sd->status.party_id != dstsd->status.party_id) ) {
- // Outside PvP it should only affect party members
- clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
- break;
- }
-
for(i = 0; i < SC_MAX; i++) {
if ( !tsc->data[i] )
continue;