diff options
-rw-r--r-- | src/map/skill.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/map/skill.c b/src/map/skill.c index fff7902d9..cf35fc624 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -5170,7 +5170,15 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in case NPC_MAGICMIRROR: case ST_PRESERVE: case NPC_INVINCIBLE: - case NPC_INVINCIBLEOFF: + /* 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 RK_DEATHBOUND: case AB_RENOVATIO: case AB_EXPIATIO: |