diff options
-rw-r--r-- | src/map/status.c | 4 | ||||
-rw-r--r-- | src/map/unit.c | 7 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/map/status.c b/src/map/status.c index 340e58b8a..de91e4eba 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -8493,8 +8493,7 @@ int status_change_end_(struct block_list* bl, enum sc_type type, int tid, const case SC_WHITEIMPRISON: if( tid == -1 ) break; // Terminated by Damage - clif_damage(bl,bl,0,0,0,400*sce->val1,0,0,0); - status_zap(bl,400*sce->val1,0); + status_fix_damage(bl,bl,400*sce->val1,clif_damage(bl,bl,gettick(),0,0,400*sce->val1,0,0,0)); break; case SC_WUGDASH: { @@ -8570,6 +8569,7 @@ int status_change_end_(struct block_list* bl, enum sc_type type, int tid, const case SC_SLEEP: case SC_DEEPSLEEP: case SC_BURNING: + case SC_WHITEIMPRISON: sc->opt1 = 0; break; diff --git a/src/map/unit.c b/src/map/unit.c index 9c6b8d760..36a57a59d 100644 --- a/src/map/unit.c +++ b/src/map/unit.c @@ -1119,6 +1119,13 @@ int unit_skilluse_id2(struct block_list *src, int target_id, short skill_num, sh return 0; } break; + case WL_WHITEIMPRISON: + if( battle_check_target(src,target,BCT_SELF|BCT_ENEMY) < 0 ) { + clif_skill_fail(sd,skill_num,0xb,0); + return 0; + } + break; + } if (!skill_check_condition_castbegin(sd, skill_num, skill_lv)) return 0; |