diff options
Diffstat (limited to 'src/map/unit.c')
-rw-r--r-- | src/map/unit.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/map/unit.c b/src/map/unit.c index 12df6ab1f..1f81e0d2f 100644 --- a/src/map/unit.c +++ b/src/map/unit.c @@ -1137,6 +1137,21 @@ int unit_skilluse_id2(struct block_list *src, int target_id, uint16 skill_id, ui if(!status->check_skilluse(src, target, skill_id, 0)) return 0; + + if( src != target && status->isdead(target) ) { + /** + * Skills that may be cast on dead targets + **/ + switch( skill_id ) { + case NPC_WIDESOULDRAIN: + case PR_REDEMPTIO: + case ALL_RESURRECTION: + case WM_DEADHILLHERE: + break; + default: + return 1; + } + } tstatus = status->get_status_data(target); // Record the status of the previous skill) |