diff options
author | Emistry Haoyan <equinox1991@gmail.com> | 2019-07-23 22:24:57 +0800 |
---|---|---|
committer | Emistry Haoyan <equinox1991@gmail.com> | 2019-07-24 07:36:26 +0800 |
commit | b372b02e9cc21ceeb42a428177d992998aed2eec (patch) | |
tree | fae024ea4d1357514d998b363cb971961224761b /src/map/skill.c | |
parent | a5eb6ec995612c878a3b6cb522520ffae8b13a3b (diff) | |
download | hercules-b372b02e9cc21ceeb42a428177d992998aed2eec.tar.gz hercules-b372b02e9cc21ceeb42a428177d992998aed2eec.tar.bz2 hercules-b372b02e9cc21ceeb42a428177d992998aed2eec.tar.xz hercules-b372b02e9cc21ceeb42a428177d992998aed2eec.zip |
Update mob_db - DamageTakenRate field
- adjust the damage taken by monster. (default = `100 = 1x`)
- ref: https://github.com/idathena/trunk/commit/e267d2e2dada6196b479a6f2f35e9d25291ef22b
Diffstat (limited to 'src/map/skill.c')
-rw-r--r-- | src/map/skill.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/map/skill.c b/src/map/skill.c index a259829ef..af61c887c 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -2906,6 +2906,18 @@ static int skill_attack(int attack_type, struct block_list *src, struct block_li } } + if (bl->type == BL_MOB) { + struct mob_data *md = BL_CAST(BL_MOB, bl); + if (md != NULL) { + if (md->db->dmg_taken_rate != 100) { + if (dmg.damage > 0) + dmg.damage = apply_percentrate64(dmg.damage, md->db->dmg_taken_rate, 100); + if (dmg.damage2 > 0) + dmg.damage2 = apply_percentrate64(dmg.damage2, md->db->dmg_taken_rate, 100); + } + } + } + damage = dmg.damage + dmg.damage2; if( (skill_id == AL_INCAGI || skill_id == AL_BLESSING || |