summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/map/status.c4
-rw-r--r--src/map/unit.c7
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;