diff options
Diffstat (limited to 'src/emap/skill_targeted.c')
-rw-r--r-- | src/emap/skill_targeted.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/emap/skill_targeted.c b/src/emap/skill_targeted.c new file mode 100644 index 0000000..372e1b3 --- /dev/null +++ b/src/emap/skill_targeted.c @@ -0,0 +1,22 @@ + +#include "map/clif.h" +#include "map/map.h" +#include "map/status.h" +#include "map/skill.h" + +void eskill_physical_shield(struct block_list *src, + struct block_list *bl, + uint16 skill_id, + uint16 skill_lv) +{ + int val1, val2, time, matk; + enum sc_type type; + + type = status->skill2sc(skill_id); + matk = status->get_matk(src, 2); + val1 = skill_lv * 10 + matk / 20; // DEF bonus + val2 = skill_lv * 5 + matk / 25; // ASPD penalty + time = skill->get_time(skill_id, skill_lv); // doesn't depends on matk + clif->skill_nodamage(src, bl, skill_id, skill_lv, + sc_start2(src, bl, type, 100, val1, val2, time)); +} |