diff options
-rw-r--r-- | src/map/skill.c | 10 | ||||
-rw-r--r-- | src/map/status.c | 6 |
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 |