summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
authorHaru <haru@dotalux.com>2019-07-28 20:25:19 +0200
committerGitHub <noreply@github.com>2019-07-28 20:25:19 +0200
commitc179d9184301e83e75a425fc09818be98b443f65 (patch)
tree2d27640ae8e572eac3f763dd4375ed233e157977 /src/map/skill.c
parent015f3ef6f763fb11360b4b644d19034e4fcb0357 (diff)
parentb372b02e9cc21ceeb42a428177d992998aed2eec (diff)
downloadhercules-c179d9184301e83e75a425fc09818be98b443f65.tar.gz
hercules-c179d9184301e83e75a425fc09818be98b443f65.tar.bz2
hercules-c179d9184301e83e75a425fc09818be98b443f65.tar.xz
hercules-c179d9184301e83e75a425fc09818be98b443f65.zip
Merge pull request #2510 from Emistry/mobdb_dmg_taken_rate
Update mob_db - DamageTakenRate field
Diffstat (limited to 'src/map/skill.c')
-rw-r--r--src/map/skill.c12
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 ||