diff options
Diffstat (limited to 'src/map/battle.c')
-rw-r--r-- | src/map/battle.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index 91563d939..1e1c16c7f 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -3133,6 +3133,14 @@ int battle_weapon_attack( struct block_list *src,struct block_list *target, if (tsd && sd->sp_drain_type)
pc_heal(tsd, 0, -sp);
+
+ if (target && target->type == BL_PC && rand()%1000 < sd->sp_vanish_rate)
+ {
+ sp = tsd->status.hp * sd->sp_vanish_per/100;
+ if (sp > 0)
+ pc_heal(tsd, 0, -sp);
+
+ }
}
}
if (rdamage > 0) //By sending attack type "none" skill_additional_effect won't be invoked. [Skotlex]
|