summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormalufett <malufett.eat.my.binaries@gmail.com>2013-07-28 21:56:26 +0800
committermalufett <malufett.eat.my.binaries@gmail.com>2013-07-28 21:56:26 +0800
commit4f441379e35619da60ddd94d44d3a5b5bb8a49b4 (patch)
treeeac5a553227a3e09fe7ae5bd15c06d64e76c1930
parent3e9103253389f391249167614feb0e1214e8c9d6 (diff)
downloadhercules-4f441379e35619da60ddd94d44d3a5b5bb8a49b4.tar.gz
hercules-4f441379e35619da60ddd94d44d3a5b5bb8a49b4.tar.bz2
hercules-4f441379e35619da60ddd94d44d3a5b5bb8a49b4.tar.xz
hercules-4f441379e35619da60ddd94d44d3a5b5bb8a49b4.zip
Fixed Bug#7576
-Where AB_CANTO is not working properly with MADO equip target. Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
-rw-r--r--src/map/skill.c15
-rw-r--r--src/map/status.c8
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]