summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcookiecrumbs <cookiecrumbs@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-08-17 17:44:16 +0000
committercookiecrumbs <cookiecrumbs@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-08-17 17:44:16 +0000
commit2edfe235206b66e77d8f6af7c414b4423e98aec9 (patch)
treef6c0165528d92f64a7a2d4eb1f5e46d1200a6af5
parentc33744d4e47421bb0eb3f3e86a4555e6d35518a2 (diff)
downloadhercules-2edfe235206b66e77d8f6af7c414b4423e98aec9.tar.gz
hercules-2edfe235206b66e77d8f6af7c414b4423e98aec9.tar.bz2
hercules-2edfe235206b66e77d8f6af7c414b4423e98aec9.tar.xz
hercules-2edfe235206b66e77d8f6af7c414b4423e98aec9.zip
Follow up to r16647, fixed bugreport:5534. Moved the fix from skill.c to status.c.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16654 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--src/map/skill.c10
-rw-r--r--src/map/status.c6
2 files changed, 7 insertions, 9 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index cf35fc624..fff7902d9 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -5170,15 +5170,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
case NPC_MAGICMIRROR:
case ST_PRESERVE:
case NPC_INVINCIBLE:
- /* if invincible, end the SC for off state */
- if(skillid == NPC_INVINCIBLE)
- status_change_end(bl, SC_INVINCIBLEOFF, INVALID_TIMER);
-
- /* if invincible off, end the SC for on state */
- case NPC_INVINCIBLEOFF:
- if(skillid == NPC_INVINCIBLEOFF)
- status_change_end(bl, SC_INVINCIBLE, INVALID_TIMER);
-
+ case NPC_INVINCIBLEOFF:
case RK_DEATHBOUND:
case AB_RENOVATIO:
case AB_EXPIATIO:
diff --git a/src/map/status.c b/src/map/status.c
index 18b5a343b..c314aae3f 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -6824,6 +6824,12 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val
if( type != SC_GT_CHANGE )
status_change_end(bl, SC_GT_CHANGE, INVALID_TIMER);
break;
+ case SC_INVINCIBLE:
+ status_change_end(bl, SC_INVINCIBLEOFF, INVALID_TIMER);
+ break;
+ case SC_INVINCIBLEOFF:
+ status_change_end(bl, SC_INVINCIBLE, INVALID_TIMER);
+ break;
}
//Check for overlapping fails