summaryrefslogtreecommitdiff
path: root/src/map/battle.c
diff options
context:
space:
mode:
authorMichieru <Michieru@users.noreply.github.com>2014-03-23 00:33:29 +0100
committerMichieru <Michieru@users.noreply.github.com>2014-03-23 00:33:29 +0100
commita830f934d0e60a63f6491a0ccc6e98341d12af36 (patch)
tree1c4cab8dea8a86ca600f65fbe7454a88cff420a6 /src/map/battle.c
parent4f7e8ea519e6b6a4a9bf50fabc08b182c47d8171 (diff)
downloadhercules-a830f934d0e60a63f6491a0ccc6e98341d12af36.tar.gz
hercules-a830f934d0e60a63f6491a0ccc6e98341d12af36.tar.bz2
hercules-a830f934d0e60a63f6491a0ccc6e98341d12af36.tar.xz
hercules-a830f934d0e60a63f6491a0ccc6e98341d12af36.zip
Fix Bug 8106
http://hercules.ws/board/tracker/issue-8106-crescent-elbow-knockback-range/ Increase reflect damage make by crescent elbow Fix Bug 8099 http://hercules.ws/board/tracker/issue-8099-renewal-acid-bomb-damage/ Cart Revolution will now always knock targets to the West - rAthena:1f26499994af9b64aa96d5ed46f6e7cdefdb025b Fix a bug with Backslide that let you continue to move even if you hit a wall on some case. Thanks to Ind
Diffstat (limited to 'src/map/battle.c')
-rw-r--r--src/map/battle.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/map/battle.c b/src/map/battle.c
index 6836aa016..2217ccecc 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -3726,8 +3726,6 @@ struct Damage battle_calc_misc_attack(struct block_list *src,struct block_list *
md.damage = 7 * targetVit * skill_lv * (atk + matk) / 100;
/*
// Pending [malufett]
- if( unknown condition )
- md.damage >>= 1;
if( unknown condition ){
md.damage = 7 * md.damage % 20;
md.damage = 7 * md.damage / 20;
@@ -3739,6 +3737,8 @@ struct Damage battle_calc_misc_attack(struct block_list *src,struct block_list *
vitfactor = (vitfactor * (matk + atk) / 10) / status_get_vit(target);
ftemp = max(0, vitfactor) + (targetVit * (matk + atk)) / 10;
md.damage = (int64)(ftemp * 70 * skill_lv / 100);
+ if (target->type == BL_PC)
+ md.damage >>= 1;
}
md.damage -= totaldef;
}
@@ -5325,7 +5325,7 @@ void battle_reflect_damage(struct block_list *target, struct block_list *src, st
//ATK [{(Target HP / 100) x Skill Level} x Caster Base Level / 125] % + [Received damage x {1 + (Skill Level x 0.2)}]
int ratio = (status_get_hp(src) / 100) * sc->data[SC_CRESCENTELBOW]->val1 * status->get_lv(target) / 125;
if (ratio > 5000) ratio = 5000; // Maximum of 5000% ATK
- rdamage = rdamage * ratio / 100 + (damage) * (10 + sc->data[SC_CRESCENTELBOW]->val1 * 20 / 10) / 10;
+ rdamage = ratio + (damage)* (10 + sc->data[SC_CRESCENTELBOW]->val1 * 20 / 10) / 10;
skill->blown(target, src, skill->get_blewcount(SR_CRESCENTELBOW_AUTOSPELL, sc->data[SC_CRESCENTELBOW]->val1), unit->getdir(src), 0);
clif->skill_damage(target, src, tick, status_get_amotion(src), 0, rdamage,
1, SR_CRESCENTELBOW_AUTOSPELL, sc->data[SC_CRESCENTELBOW]->val1, 6); // This is how official does