summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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