summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichieru <Michieru@users.noreply.github.com>2014-11-01 20:50:09 +0100
committerMichieru <Michieru@users.noreply.github.com>2014-11-01 20:50:09 +0100
commit8df13c48649f6a5612d1e391b80cc2aa846eac80 (patch)
treec5a061865e68137b34fff75276a65a755ed8d136 /src
parent5bbf08787cdfae69bd6d6ac459d6a4b9a6865e07 (diff)
parentee2da178693e3c90af8d244085375debbb821b51 (diff)
downloadhercules-8df13c48649f6a5612d1e391b80cc2aa846eac80.tar.gz
hercules-8df13c48649f6a5612d1e391b80cc2aa846eac80.tar.bz2
hercules-8df13c48649f6a5612d1e391b80cc2aa846eac80.tar.xz
hercules-8df13c48649f6a5612d1e391b80cc2aa846eac80.zip
Merge pull request #380 from csnv/somefixes
Fixed ALL_RESURRECTION to not inflict damage on hidden undead type playe...
Diffstat (limited to 'src')
-rw-r--r--src/map/status.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/map/status.c b/src/map/status.c
index 36c9097e1..66f7db3fa 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -1798,9 +1798,9 @@ int status_check_skilluse(struct block_list *src, struct block_list *target, uin
//If targeting, cloak+hide protect you, otherwise only hiding does.
hide_flag = flag?OPTION_HIDE:(OPTION_HIDE|OPTION_CLOAK|OPTION_CHASEWALK);
- // There is no NF for ground skills, but every earth type skill out there
- // affects hidding except Stone Curse
- if( skill->get_ele(skill_id,1) == ELE_EARTH && skill_id != MG_STONECURSE)
+ // Applies even if the target hides
+ if ((skill->get_ele(skill_id,1) == ELE_EARTH && skill_id != MG_STONECURSE) // Ground type
+ || (flag&1 && skill->get_nk(skill_id)&NK_NO_DAMAGE && skill_id != ALL_RESURRECTION)) // Buff/debuff skills started before hiding
hide_flag &= ~OPTION_HIDE;
switch( target->type ) {
@@ -1812,7 +1812,6 @@ int status_check_skilluse(struct block_list *src, struct block_list *target, uin
return 0;
if( tsc ) {
if (tsc->option&hide_flag && !is_boss &&
- !(flag&1 && skill->get_nk(skill_id)&NK_NO_DAMAGE) && // Buff/debuff skills that started casting before hiding still applies
((sd->special_state.perfect_hiding || !is_detect) ||
(tsc->data[SC_CLOAKINGEXCEED] && is_detect)))
return 0;