summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichieru <Michieru@users.noreply.github.com>2014-11-01 21:36:22 +0100
committerMichieru <Michieru@users.noreply.github.com>2014-11-01 21:36:22 +0100
commit19e6b0f9de7280770f0dd98d9431d3337b9a6e7c (patch)
tree24ae87f313214f973a115a53a866a153cc89c624
parent8df13c48649f6a5612d1e391b80cc2aa846eac80 (diff)
downloadhercules-19e6b0f9de7280770f0dd98d9431d3337b9a6e7c.tar.gz
hercules-19e6b0f9de7280770f0dd98d9431d3337b9a6e7c.tar.bz2
hercules-19e6b0f9de7280770f0dd98d9431d3337b9a6e7c.tar.xz
hercules-19e6b0f9de7280770f0dd98d9431d3337b9a6e7c.zip
Fix clearance, should work only on mob, party or self and skill can't be cast on all players that are not in the party (bug:7050)
-rw-r--r--db/re/skill_db.txt2
-rw-r--r--src/map/skill.c13
-rw-r--r--src/map/unit.c6
3 files changed, 8 insertions, 13 deletions
diff --git a/db/re/skill_db.txt b/db/re/skill_db.txt
index 34639425e..ebaf3ab6c 100644
--- a/db/re/skill_db.txt
+++ b/db/re/skill_db.txt
@@ -749,7 +749,7 @@
2049,0,0,0,0,0,0,10,0,no,0,0,0,none,0, AB_EUCHARISTICA,Eucharistica
2050,11,6,16,6,0x1,0,1,1,yes,0,0,0,magic,0, AB_RENOVATIO,Renovatio
2051,11,6,16,6,0x21,0,5,1,yes,0,0,0,magic,0, AB_HIGHNESSHEAL,Highness Heal //CHECK Info shows this has magic attack.
-2052,11,6,1,0,0x1,0,5,1,yes,0,0,0,magic,0, AB_CLEARANCE,Clearance //CHECK Also shows this as a magic attack. Why?
+2052,11,6,16,0,0x1,0,5,1,yes,0,0,0,magic,0, AB_CLEARANCE,Clearance
2053,11,6,16,0,0x1,0,5,1,yes,0,0,0,magic,0, AB_EXPIATIO,Expiatio //CHECK Does this also give the buff to party members?
2054,0,6,4,6,0x1,0,10,1,yes,0,0,0,none,0, AB_DUPLELIGHT,Duple Light //CHECK Had issues adding a skill level check to make the % go higher with the skills level. Will do later.
2055,-1,6,1,-1,0,0,10,1,no,0,0,0,weapon,0, AB_DUPLELIGHT_MELEE,Duple Light Melee
diff --git a/src/map/skill.c b/src/map/skill.c
index 340fd0ec5..1fca0dfc7 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -8325,7 +8325,7 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin
if( flag&1 || (splash = skill->get_splash(skill_id, skill_lv)) < 1 ) {
int i;
//As of the behavior in official server Clearance is just a super version of Dispell skill. [Jobbie]
- if( bl->type != BL_MOB && battle->check_target(src,bl,BCT_PARTY) <= 0 ) // Only affect mob or party.
+ if( bl->type != BL_MOB && battle->check_target(src,bl,BCT_PARTY) <= 0 && sd ) // Only affect mob, party or self.
break;
clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
@@ -13174,17 +13174,6 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
}
}
break;
- /**
- * Keeping as a note:
- * Bug Report #17 provides a link to a sep-2011 changelog that shows this requirement was removed
- **/
- //case AB_LAUDAAGNUS:
- //case AB_LAUDARAMUS:
- // if( !sd->status.party_id ) {
- // clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
- // return 0;
- // }
- // break;
case AB_ADORAMUS:
/**
diff --git a/src/map/unit.c b/src/map/unit.c
index 76a5853df..34a9dcc24 100644
--- a/src/map/unit.c
+++ b/src/map/unit.c
@@ -1406,6 +1406,12 @@ int unit_skilluse_id2(struct block_list *src, int target_id, uint16 skill_id, ui
}
}
break;
+ case AB_CLEARANCE:
+ if( target->type != BL_MOB && battle->check_target(src,target,BCT_PARTY) <= 0 && sd ) {
+ clif->skill_fail(sd, skill_id, USESKILL_FAIL_TOTARGET, 0);
+ return 0;
+ }
+ break;
case SR_GATEOFHELL:
case SR_TIGERCANNON:
if (sc && sc->data[SC_COMBOATTACK] &&