summaryrefslogblamecommitdiff
path: root/src/emap/skill_targeted.c
blob: 372e1b3fb44fe16f75bf6b860fb85371a690da08 (plain) (tree)





















                                                                           
#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));
}