diff options
-rw-r--r-- | src/map/skill.c | 15 | ||||
-rw-r--r-- | src/map/status.c | 8 |
2 files changed, 14 insertions, 9 deletions
diff --git a/src/map/skill.c b/src/map/skill.c index 9ef768382..d2a9b7fbe 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -4957,15 +4957,21 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui break ; } case AL_HEAL: - case ALL_RESURRECTION: - case PR_ASPERSIO: + /** * Arch Bishop **/ case AB_RENOVATIO: case AB_HIGHNESSHEAL: + case AL_INCAGI: + if( sd && dstsd && pc_ismadogear(dstsd) ){ + clif->skill_fail(sd,skill_id,USESKILL_FAIL_TOTARGET,0); + return 0; + } + case ALL_RESURRECTION: + case PR_ASPERSIO: //Apparently only player casted skills can be offensive like this. - if (sd && battle->check_undead(tstatus->race,tstatus->def_ele)) { + if (sd && battle->check_undead(tstatus->race,tstatus->def_ele) && skill_id != AL_INCAGI) { if (battle->check_target(src, bl, BCT_ENEMY) < 1) { //Offensive heal does not works on non-enemies. [Skotlex] clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); @@ -5037,8 +5043,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui heal = heal * ( 15 + 5 * skill_lv ) / 10; } if( iStatus->isimmune(bl) || - (dstmd && (dstmd->class_ == MOBID_EMPERIUM || mob_is_battleground(dstmd))) || - (dstsd && pc_ismadogear(dstsd)) )//Mado is immune to heal + (dstmd && (dstmd->class_ == MOBID_EMPERIUM || mob_is_battleground(dstmd))) ) heal=0; if( sd && dstsd && sd->status.partner_id == dstsd->status.char_id && (sd->class_&MAPID_UPPERMASK) == MAPID_SUPER_NOVICE && sd->status.sex == 0 ) diff --git a/src/map/status.c b/src/map/status.c index 4c5b5c7c2..a8b61f2d6 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -6711,17 +6711,17 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val if(sc->data[SC_DEC_AGI]) return 0; - case SC_INC_AGI: case SC_CONCENTRATION: case SC_SPEARQUICKEN: case SC_TRUESIGHT: case SC_WINDWALK: case SC_CARTBOOST: case SC_ASSNCROS: - if (sc->data[SC_QUAGMIRE]) - return 0; if(sc->option&OPTION_MADOGEAR) - return 0;//Mado is immune to increase agi, wind walk, cart boost, etc (others above) [Ind] + return 0;//Mado is immune to wind walk, cart boost, etc (others above) [Ind] + case SC_INC_AGI: + if (sc->data[SC_QUAGMIRE]) + return 0; break; case SC_CLOAKING: //Avoid cloaking with no wall and low skill level. [Skotlex] |